Unsupported scripts and control panel web app for a hosting company
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

searchresults.php~ 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?PHP
  2. $sqlSelect = 'SELECT i.i_id, c.icat_name, i.i_title, i.i_status, u1.user_name AS i_assignee,
  3. u2.user_name AS i_submitter, i.i_priority, i.i_added, i.i_deadline, i.i_updated
  4. FROM issues_issues AS i
  5. LEFT JOIN issues_categories AS c ON i.icat_id = c.icat_id
  6. LEFT JOIN users AS u1 ON i.i_assignee = u1.user_id
  7. LEFT JOIN users AS u2 ON i.i_submitter = u2.user_id
  8. WHERE 1';
  9. $sqlCount = 'SELECT COUNT(*) FROM issues_issues AS i WHERE 1';
  10. $sql = '';
  11. //keywords
  12. if (isset($search['keywords']) && !empty($search['keywords'])) {
  13. switch ($search['keywordloc']) {
  14. case 'title':
  15. $target = 'i_title';
  16. break;
  17. case 'notes':
  18. $target = 'i_text';
  19. break;
  20. default:
  21. $target = 'CONCAT(i_title,i_text)';
  22. }
  23. $sql .= ' AND '.$target.' LIKE \'%'.m($search['keywords']).'%\'';
  24. }
  25. //submitter
  26. if ($search['submitter'] != 'any' && !empty($search['submitter'])) {
  27. $sql .= ' AND i_submitter = \''.m($search['submitter']).'\'';
  28. }
  29. //assignee
  30. if ($search['assignee'] != 'any' && !empty($search['assignee'])) {
  31. $sql .= ' AND i_assignee = \''.m($search['assignee']).'\'';
  32. }
  33. //added
  34. if ($search['added'] != 'any' && !empty($search['added'])) {
  35. $sql .= ' AND i_added > '.strtotime('-1 '.$search['added']);
  36. }
  37. //updated
  38. if ($search['updated'] != 'any' && !empty($search['updated'])) {
  39. $sql .= ' AND i_updated > '.strtotime('-1 '.$search['updated']);
  40. }
  41. //deadline
  42. if ($search['deadline'] != 'any' && !empty($search['deadline'])) {
  43. $sql .= ' AND i_deadline < '.strtotime('+1 '.$search['deadline']);
  44. }
  45. //priority
  46. $sql .= ' AND (0';
  47. foreach ($search['priority'] as $k => $v) {
  48. $sql .= ' OR i_priority = \''.m($v).'\'';
  49. }
  50. $sql .= ')';
  51. //status
  52. $sql .= ' AND (0';
  53. foreach ($search['status'] as $k => $v) {
  54. $sql .= ' OR i_status = \''.m($v).'\'';
  55. }
  56. $sql .= ')';
  57. //categories
  58. $sql .= ' AND (0';
  59. foreach ($search['categories'] as $k => $v) {
  60. $sql .= ' OR i.icat_id = '.m($v);
  61. }
  62. $sql .= ')';
  63. //order
  64. if (isset($search['order']) && !empty($search['order'])) {
  65. switch ($search['order']) {
  66. case 'added':
  67. $order = 'i_added';
  68. break;
  69. case 'updated':
  70. $order = 'i_updated, i_added';
  71. break;
  72. case 'status':
  73. $order = 'i_status';
  74. break;
  75. case 'priority':
  76. $order = 'i_priority';
  77. break;
  78. case 'category':
  79. $order = 'i_category';
  80. break;
  81. case 'dealine':
  82. $order = 'i_deadline';
  83. break;
  84. case 'status':
  85. $order = 'i_status';
  86. break;
  87. default:
  88. $order = 'i_added';
  89. }
  90. $sql .= ' ORDER BY '.m($order);
  91. }
  92. //limit
  93. if (ctype_digit(''.$search['limit'])) {
  94. $sql .= ' LIMIT 0,'.m($search['limit']);
  95. }
  96. $res = mysql_query($sqlSelect.$sql) or print(mysql_error().'<hr>'.$sqlSelect.$sql);
  97. $res2 = mysql_query($sqlCount.$sql) or print(mysql_error().'<hr>'.$sqlCount.$sql);
  98. $data2 = mysql_fetch_array($res2);
  99. ?>
  100. <div class="block">
  101. <h2><?php echo ((isset($search['title'])) ? $search['title'] : 'Search Results'); ?></h2>
  102. <table class="innerblock">
  103. <tr>
  104. <th>ID</th>
  105. <th>Category</th>
  106. <th>Title</th>
  107. <th>Status</th>
  108. <th>Priority</th>
  109. <th>Submitter</th>
  110. <th>Assignee</th>
  111. <th>Added</th>
  112. <th>Updated</th>
  113. <th>Deadline</th>
  114. </tr>
  115. <?PHP
  116. $i = 0;
  117. if (isset($res) && mysql_num_rows($res) == 0) {
  118. echo '<tr><td colspan="10" style="text-align: center; font-style: italic;">';
  119. echo 'No results returned</td></tr>';
  120. } else {
  121. while ($row = mysql_fetch_assoc($res)) {
  122. $i = 1 - $i;
  123. ?>
  124. <tr class="<?PHP echo ($i == 1) ? 'even' : 'odd'; ?>">
  125. <td><a href="<?PHP echo CP_PATH.'viewissue/'.$row['i_id']; ?>"><?PHP echo $row['i_id']; ?></a></td>
  126. <td><?PHP echo h($row['icat_name']); ?></td>
  127. <td><?PHP echo h($row['i_title']); ?></td>
  128. <td><?PHP echo h($row['i_status']); ?></td>
  129. <td><?PHP echo h($row['i_priority']); ?></td>
  130. <td><?PHP echo n($row['i_submitter']); ?></td>
  131. <td><?PHP echo n($row['i_assignee']); ?></td>
  132. <td><?PHP echo d('Y-m-d H:i',$row['i_added']); ?></td>
  133. <td><?PHP echo d('Y-m-d H:i',$row['i_updated']); ?></td>
  134. <td><?PHP echo d('Y-m-d H:i',$row['i_deadline']); ?></td>
  135. </tr>
  136. <?PHP
  137. }
  138. }
  139. ?>
  140. </table>
  141. <h2>Total Results: <?php echo $data2[0]; ?></h2>
  142. </div>