diff --git a/display.php b/display.php index 465b31e..d308088 100644 --- a/display.php +++ b/display.php @@ -19,7 +19,6 @@ display_img(get_id()); function display_img($id) { global $db, $is_admin, $queue; $queue = get_queue(); - $table = which_table(); if ((isset($_SESSION['allow_queue_image']) && $_SESSION['allow_queue_image'] == $id) || @@ -29,14 +28,20 @@ function display_img($id) { $allow_queue = FALSE; } + // Visitors can only see the image they submitted themselves, and no hidden stories if ($queue) { - if (!$is_admin && !$allow_queue) { + if (!$allow_queue) { header("HTTP/1.1 401 Access Denied"); return; } + $table = 'queue'; + $hidden = ""; + } else { + $table = 'xxx'; + $hidden = $is_admin ? "" : " AND hidden IS NOT TRUE"; } - $query = "SELECT img, mime FROM $table WHERE 1 AND ID = ".$db->real_escape_string($id)." LIMIT 0, 1"; + $query = "SELECT img, mime FROM $table WHERE 1 AND ID = ".$db->real_escape_string($id).$hidden." LIMIT 0, 1"; $result = $db->query($query)or die("Query failed : ".$db->error); $row = $result->fetch_assoc(); diff --git a/get_data.lib.php b/get_data.lib.php index c546ce8..bf224d2 100644 --- a/get_data.lib.php +++ b/get_data.lib.php @@ -118,7 +118,7 @@ function get_count() { } else { $count_query = "SELECT COUNT(*) FROM ".$table." WHERE 1"; } - if (!$is_admin && !$queue) + if (!$is_admin) $count_query .= " AND hidden IS NOT TRUE"; $count_query .= " ;"; @@ -152,7 +152,7 @@ function get_query($id = NULL) { // If id= is defined, show the corresponding application only if (is_numeric($id)) { - if (!$is_admin && !$queue) + if (!$is_admin) $query = "SELECT * FROM $table WHERE 1 AND hidden IS NOT TRUE AND id = ".$id." LIMIT 0, 1"; else $query = "SELECT * FROM $table WHERE 1 AND id = ".$id." LIMIT 0, 1"; @@ -165,13 +165,13 @@ function get_query($id = NULL) { " OR date LIKE '%".$search."%'". " OR story LIKE '%".$search."%'". " )"; - if (!$is_admin && !$queue) + if (!$is_admin) $query .= " AND hidden IS NOT TRUE"; $query .= " ORDER BY ".$sort." " .$order." LIMIT " .$start." , ".$show." ;"; // Otherwise, fall back to default view } else { $query = "SELECT * FROM ".$table." WHERE 1"; - if (!$is_admin && !$queue) + if (!$is_admin) $query .= " AND hidden IS NOT TRUE"; $query .= " ORDER BY ".$sort." " .$order." LIMIT " .$start." , ".$show." ;"; } @@ -349,7 +349,7 @@ function which_table($move = FALSE, $action = 'read') { return 'queue'; // Viewing - } else if ($queue && ($is_admin || isset($_SESSION['allow_queue_image']))) { + } else if ($queue && $is_admin) { return 'queue'; } else { return 'xxx';