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.

stats.php 7.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <div class="block">
  2. <h2>User Statistics</h2>
  3. <table class="innerblock stats">
  4. <tr>
  5. <th rowspan="2">User</th>
  6. <th rowspan="2">Raised</th>
  7. <th rowspan="2">Assigned</th>
  8. <th colspan="5">Closed</th>
  9. <th rowspan="2">Average Resolution Time</th>
  10. </tr>
  11. <tr>
  12. <th>All time</th>
  13. <th>Past year</th>
  14. <th>Past month</th>
  15. <th>Past week</th>
  16. <th>Past day</th>
  17. </tr>
  18. <?PHP
  19. $admins = getAdmins();
  20. $i = -1;
  21. foreach ($admins as $id => $admin) {
  22. $i++;
  23. echo '<tr '.($i % 2 == 0 ? 'class="even"':'class="odd"').'>';
  24. echo '<td>'.h($admin).'</td><td class="number">';
  25. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_submitter = \''.m(getUserID($admin))."'";
  26. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  27. echo '</td><td class="number">';
  28. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'assigned\' AND i_assignee = \''.m(getUserID($admin))."'";
  29. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  30. echo '</td><td class="number">';
  31. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_assignee = \''.m(getUserID($admin))."'";
  32. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  33. echo '</td><td class="number">';
  34. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_assignee = \''.m(getUserID($admin))."' AND i_updated > ".strtotime('-1 year');
  35. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  36. echo '</td><td class="number">';
  37. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_assignee = \''.m(getUserID($admin))."' AND i_updated > ".strtotime('-1 month');
  38. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  39. echo '</td><td class="number">';
  40. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_assignee = \''.m(getUserID($admin))."' AND i_updated > ".strtotime('-1 week');
  41. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  42. echo '</td><td class="number">';
  43. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_assignee = \''.m(getUserID($admin))."' AND i_updated > ".strtotime('-1 day');
  44. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  45. echo '</td>';
  46. echo '<td>';
  47. $sql = 'SELECT AVG(i_updated - i_added) FROM issues_issues WHERE i_status = \'closed\' AND i_assignee = \''.m(getUserID($admin))."'";
  48. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo (($row[0] != 0) ? duration($row[0]) : 'None');
  49. echo '</td></tr>';
  50. }
  51. $i++;
  52. echo '<tr '.($i % 2 == 0 ? 'class="even"':'class="odd"').'>';
  53. echo '<td>Total:</td><td class="number">';
  54. $sql = 'SELECT COUNT(*) FROM issues_issues';
  55. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  56. echo '</td><td class="number">';
  57. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'assigned\'';
  58. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  59. echo '</td><td class="number">';
  60. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\'';
  61. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  62. echo '</td><td class="number">';
  63. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_updated > '.strtotime('-1 year');
  64. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  65. echo '</td><td class="number">';
  66. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_updated > '.strtotime('-1 month');
  67. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  68. echo '</td><td class="number">';
  69. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_updated > '.strtotime('-1 week');
  70. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  71. echo '</td><td class="number">';
  72. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND i_updated > '.strtotime('-1 day');
  73. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  74. echo '</td><td>';
  75. $sql = 'SELECT AVG(i_updated - i_added) FROM issues_issues WHERE i_status = \'closed\' AND i_assignee != 0';
  76. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo (($row[0] != 0) ? duration($row[0]) : 'None');
  77. echo '</td></tr>';
  78. ?>
  79. </table>
  80. </div>
  81. <div class="block">
  82. <h2>Category Statistics</h2>
  83. <table class="innerblock stats">
  84. <tr>
  85. <th rowspan="2">Category</th>
  86. <th rowspan="2">New</th>
  87. <th rowspan="2">Assigned</th>
  88. <th colspan="5">Closed</th>
  89. <th rowspan="2">Average Resolution Time</th>
  90. </tr>
  91. <tr>
  92. <th>All time</th>
  93. <th>Past year</th>
  94. <th>Past month</th>
  95. <th>Past week</th>
  96. <th>Past day</th>
  97. </tr>
  98. <?PHP
  99. $totals = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0);
  100. $categories = getCategories();
  101. $i = -1;
  102. foreach ($categories as $id => $category) {
  103. $i++;
  104. echo '<tr '.($i % 2 == 0 ? 'class="even"':'class="odd"').'>';
  105. echo '<td>'.h($category).'</td><td class="number">';
  106. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE (i_status = \'open\' OR i_status = \'reopened\') AND icat_id = \''.m($id)."'";
  107. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  108. $totals[0] += $row[0];
  109. echo '</td><td class="number">';
  110. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'assigned\' AND icat_id = \''.m($id)."'";
  111. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  112. $totals[1] += $row[0];
  113. echo '</td><td class="number">';
  114. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND icat_id = \''.m($id)."'";
  115. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  116. $totals[2] += $row[0];
  117. echo '</td><td class="number">';
  118. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND icat_id = \''.m($id)."' AND i_updated > ".strtotime('-1 year');
  119. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  120. $totals[3] += $row[0];
  121. echo '</td><td class="number">';
  122. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND icat_id = \''.m($id)."' AND i_updated > ".strtotime('-1 month');
  123. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  124. $totals[4] += $row[0];
  125. echo '</td><td class="number">';
  126. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND icat_id = \''.m($id)."' AND i_updated > ".strtotime('-1 week');
  127. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  128. $totals[5] += $row[0];
  129. echo '</td><td class="number">';
  130. $sql = 'SELECT COUNT(*) FROM issues_issues WHERE i_status = \'closed\' AND icat_id = \''.m($id)."' AND i_updated > ".strtotime('-1 day');
  131. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo $row[0];
  132. $totals[6] += $row[0];
  133. echo '</td><td>';
  134. $sql = 'SELECT AVG(i_updated - i_added) FROM issues_issues WHERE i_status = \'closed\' AND icat_id = \''.m($id).'\'';
  135. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo (($row[0] != 0) ? duration($row[0]) : 'None');
  136. echo '</td></tr>';
  137. }
  138. $i++;
  139. ?>
  140. <tr <?php echo ($i % 2 == 0 ? 'class="even"':'class="odd"'); ?>><td>Total:</td>
  141. <?PHP foreach ($totals as $v) { echo '<td class="number">'.$v.'</td>'; } ?>
  142. <td>
  143. <?php
  144. $sql = 'SELECT AVG(i_updated - i_added) FROM issues_issues WHERE i_status = \'closed\'';
  145. $res = mysql_query($sql); $row = mysql_fetch_array($res); echo (($row[0] != 0) ? duration($row[0]) : 'None');
  146. ?>
  147. </td>
  148. </tr>
  149. </table>
  150. </div>