Search forum
*/ function stripBBCode($text_to_search) { $pattern = '|[[\/\!]*?[^\[\]]*?]|si'; $replace = ''; return preg_replace($pattern, $replace, $text_to_search); } //data_dump($_GET, false, "Post data:"); // Fetch and sanitize values: $type = getValue($_GET['type']); if ($type !== false) $type = (int)$type; $text = getvalue($_GET['text']); $textTitleSql = ""; $textPostSql = ""; $textAuthorSql = ""; if ($text !== false) { $text = explode(' ', $text); for ($i = 0; $i < count($text); $i++) { if ($i != count($text) -1) { $textTitleSql .= "`title` LIKE '%". $text[$i] ."%' AND "; $textPostSql .= "`text` LIKE '%". $text[$i] ."%' AND "; $textAuthorSql .= "`player_name` LIKE '%". $text[$i] ."%' AND "; } else { $textTitleSql .= "`title` LIKE '%". $text[$i] ."%'"; $textPostSql .= "`text` LIKE '%". $text[$i] ."%'"; $textAuthorSql .= "`player_name` LIKE '%". $text[$i] ."%'"; } } //data_dump($text, array($textTitleSql, $textPostSql, $textAuthorSql), "search"); } ?>

Search forum

4 && $type <= 6) { $forums = mysql_select_multi("SELECT `id` FROM `znote_forum` WHERE `access`='1' AND `guild_id`='0';"); $allowedForums = array(); foreach($forums as $forum) $allowedForums[] = $forum['id']; //data_dump($allowedForums, false, "Allowed forums to search"); // in_array(6, $allowedForums) $results = false; switch ($type) { case 1: // Search titles $results = mysql_select_multi("SELECT `id` AS `thread_id`, `forum_id`, `title`, `text`, `player_name` FROM `znote_forum_threads` WHERE $textTitleSql ORDER BY `id` DESC LIMIT $searchResults;"); // Filter out search results in custom access boards. for ($i = 0; $i < count($results); $i++) if (!in_array($results[$i]['forum_id'], $allowedForums)) $results[$i]['forum_id'] = false; else { $results[$i]['title'] = stripBBCode($results[$i]['title']); $results[$i]['text'] = stripBBCode($results[$i]['text']); } //if ($results !== false) data_dump($results, false, "Search results"); //else echo "
No results."; break; case 2: // Search posts $results = mysql_select_multi("SELECT `thread_id`, `player_name`, `text` FROM `znote_forum_posts` WHERE $textPostSql ORDER BY `id` DESC LIMIT $searchResults;"); // Missing ['forum_id'], ['title'], lets get them for ($i = 0; $i < count($results); $i++) { // $results[$i]['asd'] $thread = mysql_select_single("SELECT `forum_id`, `title` FROM `znote_forum_threads` WHERE `id`='".$results[$i]['thread_id']."' LIMIT 1;"); if ($thread !== false) { $results[$i]['forum_id'] = $thread['forum_id']; $results[$i]['title'] = $thread['title']; if (!in_array($results[$i]['forum_id'], $allowedForums)) $results[$i]['forum_id'] = false; else { $results[$i]['title'] = stripBBCode($results[$i]['title']); $results[$i]['text'] = stripBBCode($results[$i]['text']); } } else $results[$i]['forum_id'] = false; } // DONE. :) //data_dump(false, $results, "DATA"); break; case 3: // Search authors last threads $results = mysql_select_multi("SELECT `id` AS `thread_id`, `forum_id`, `title`, `text`, `player_name` FROM `znote_forum_threads` WHERE $textAuthorSql ORDER BY `id` DESC LIMIT $searchResults;"); // Filter out search results in custom access boards. for ($i = 0; $i < count($results); $i++) if (!in_array($results[$i]['forum_id'], $allowedForums)) $results[$i]['forum_id'] = false; else { $results[$i]['title'] = stripBBCode($results[$i]['title']); $results[$i]['text'] = stripBBCode($results[$i]['text']); } //if ($results !== false) data_dump($results, false, "Search results"); //else echo "
No results."; break; case 4: // Search authors last posts $results = mysql_select_multi("SELECT `thread_id`, `player_name`, `text` FROM `znote_forum_posts` WHERE $textAuthorSql ORDER BY `id` DESC LIMIT $searchResults;"); // Missing ['forum_id'], ['title'], lets get them for ($i = 0; $i < count($results); $i++) { // $results[$i]['asd'] $thread = mysql_select_single("SELECT `forum_id`, `title` FROM `znote_forum_threads` WHERE `id`='".$results[$i]['thread_id']."' LIMIT 1;"); if ($thread !== false) { $results[$i]['forum_id'] = $thread['forum_id']; $results[$i]['title'] = $thread['title']; if (!in_array($results[$i]['forum_id'], $allowedForums)) $results[$i]['forum_id'] = false; else { $results[$i]['title'] = stripBBCode($results[$i]['title']); $results[$i]['text'] = stripBBCode($results[$i]['text']); } } else $results[$i]['forum_id'] = false; } // DONE. :) break; case 5: // Search latest titles $results = mysql_select_multi("SELECT `id` AS `thread_id`, `forum_id`, `title`, `text`, `player_name` FROM `znote_forum_threads` ORDER BY `id` DESC LIMIT $searchResults;"); // Filter out search results in custom access boards. for ($i = 0; $i < count($results); $i++) if (!in_array($results[$i]['forum_id'], $allowedForums)) $results[$i]['forum_id'] = false; else { $results[$i]['title'] = stripBBCode($results[$i]['title']); $results[$i]['text'] = stripBBCode($results[$i]['text']); } //if ($results !== false) data_dump($results, false, "Search results"); //else echo "
No results."; break; case 6: // Search posts $results = mysql_select_multi("SELECT `thread_id`, `player_name`, `text` FROM `znote_forum_posts` ORDER BY `id` DESC LIMIT $searchResults;"); // Missing ['forum_id'], ['title'], lets get them for ($i = 0; $i < count($results); $i++) { // $results[$i]['asd'] $thread = mysql_select_single("SELECT `forum_id`, `title` FROM `znote_forum_threads` WHERE `id`='".$results[$i]['thread_id']."' LIMIT 1;"); if ($thread !== false) { $results[$i]['forum_id'] = $thread['forum_id']; $results[$i]['title'] = $thread['title']; if (!in_array($results[$i]['forum_id'], $allowedForums)) $results[$i]['forum_id'] = false; else { $results[$i]['title'] = stripBBCode($results[$i]['title']); $results[$i]['text'] = stripBBCode($results[$i]['text']); } } else $results[$i]['forum_id'] = false; } // DONE. :) //data_dump(false, $results, "DATA"); break; default: # code... break; } // Create table and show stuff! if ($results !== false) { $count = 0; foreach ($results as $r) if ($r['forum_id'] !== false) $count++; if ($count > 0) { ?>
Char Thread Post
140) ? substr($result['text'],0,137).'...' : $result['text']; ?>
You must fill in all fields!"; include 'layout/overall/footer.php'; ?>