Просмотр файла modules/forum/search.php

Размер файла: 4.13Kb
  1. <?php
  2. /**********************************
  3. * @package: PerfCMS *
  4. * @year: 2012 *
  5. * @author: Artas *
  6. * @link: http://perfcms.ru *
  7. **********************************/
  8.  
  9. $locate = 'forum';
  10. $title = $lang->word('search').' | '. $lang->word('forum');
  11. require_once(SYS .'/view/header.php');
  12. if(isset($_GET['q']) && mb_strlen($_GET['q']) >= 3 && $_GET['where'] == 'topics') {
  13. $search_r = $db->query("SELECT * FROM `forum_t` WHERE `name` LIKE '%".input($_GET['q'])."%'")->rowCount();
  14. $tpl->div('title', $lang->word('search_topics'));
  15. $tpl->div('menu', $lang->word('found').': <b>'.$search_r.'</b>');
  16. $pages = new Paginator($search_r, $ames);
  17. if($search_r == 0) {
  18. $tpl->div('menu', $lang->word('not_found'));
  19. } else {
  20. $search_q = $db->query("SELECT * FROM `forum_t` WHERE `name` LIKE '%".input($_GET['q'])."%' LIMIT $start, $ames");
  21. while($search = $search_q->fetch()) {
  22. $search['name'] = str_replace(input($_GET['q']), '<b>'.input($_GET['q']).'</b>', $search['name']);
  23. echo '<div class="post">';
  24. if ($search['closed'] == 1 && $search['attach'] == 1) echo img('pin-closed.png');
  25. else if ($search['attach'] == 1) echo img('pin.png');
  26. else if ($search['closed'] == 1) echo img('topic_closed.png');
  27. else echo img('topic.png');
  28. echo '<a href="/forum/topic'.$search['id'].'">'.$search['name'].'</a> ('. $db->query("SELECT id FROM `forum_pt` WHERE `topic_id` = '". $search['id'] ."'")->rowCount().')<a href="/forum/topic'. $search['id'] .'/?page=end">»</a>
  29. </div>';
  30. }
  31. $pages->view('/forum/search?q='.input($_GET['q']).'&where=topics&');
  32. }
  33. $tpl->div('block', NAV .' <a href="/forum/search">'. $lang->word('search') .'</a><br/>'.
  34. img('forum.png') .' <a href="/forum/">'. $lang->word('forum') .'</a><br/>'
  35. . HICO .'<a href="/">'. $lang->word('home') .'</a>');
  36. require_once(SYS .'/view/footer.php');
  37. exit;
  38. } elseif(isset($_GET['q']) && mb_strlen($_GET['q']) >= 3 && $_GET['where'] == 'messages') {
  39. $search_r = $db->query("SELECT * FROM `forum_pt` WHERE `text` LIKE '%".input($_GET['q'])."%'")->rowCount();
  40. $tpl->div('title', $lang->word('search_messages'));
  41. $tpl->div('menu', $lang->word('found').': <b>'.$search_r.'</b>');
  42. $pages = new Paginator($search_r, $ames);
  43. if($search_r == 0) {
  44. $tpl->div('menu', $lang->word('not_found'));
  45. } else {
  46. $search_q = $db->query("SELECT * FROM `forum_pt` WHERE `text` LIKE '%".input($_GET['q'])."%' ORDER BY time DESC LIMIT $start, $ames");
  47. while($search = $search_q->fetch()) {
  48. $search['text'] = str_replace(input($_GET['q']), '<b>'.input($_GET['q']).'</b>', $search['text']);
  49. echo '<div class="post">';
  50. $search_u = $db->query("SELECT * FROM `forum_t` WHERE `id` = '". $search['topic_id']."' LIMIT 1")->fetch();
  51. $search_i = $db->query("SELECT * FROM `forum_pt` WHERE `id` = '". $search['id']."' ORDER BY time ASC LIMIT 1")->fetch();
  52. echo ''. nick($search_i['user_id']).'<br/> '. output($search['text']).'<br/> [<small class="gray">'. rtime($search_i['time']).' / <a href="/forum/topic'. $search['topic_id'] .'/?page=end">'. $search_u['name'] .'</a> </small>]
  53. </div>';
  54. }
  55. $pages->view('/forum/search?q='.input($_GET['q']).'&where=messages&');
  56. }
  57. $tpl->div('block', NAV .' <a href="/forum/search">'. $lang->word('search') .'</a><br/>'.
  58. img('forum.png') .' <a href="/forum/">'. $lang->word('forum') .'</a><br/>'
  59. . HICO .'<a href="/">'. $lang->word('home') .'</a>');
  60. require_once(SYS .'/view/footer.php');
  61. exit;
  62. }
  63. $tpl->div('title', $lang->word('search').' | '. $lang->word('forum'));
  64. echo '<div class="menu">'.$lang->word('enter_search_key').':<br/>
  65. <form action="/forum/search?" method="get">
  66. <input type="text" name="q" /><br/>
  67. '. $lang->word('where') .':<br/>
  68. <select name="where">
  69. <option value="topics">'.$lang->word('in_topics_names').'</option>
  70. <option value="messages">'.$lang->word('in_messages').'</option>
  71. </select><br/>
  72. <input type="submit" value="'. $lang->word('search') .'" />
  73. </form>
  74. </div>';
  75. $tpl->div('block', img('forum.png') .' <a href="/forum/">'. $lang->word('forum') .'</a><br/>'
  76. . HICO .'<a href="/">'. $lang->word('home') .'</a>');
  77. require_once(SYS .'/view/footer.php');
  78. ?>