stats.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. require_once "sessions.php";
  3. require_once "sanity_check.php";
  4. require_once "version.php";
  5. require_once "config.php";
  6. require_once "db-prefs.php";
  7. require_once "functions.php";
  8. $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
  9. login_sequence($link);
  10. if ($_SESSION["access_level"] < 10) {
  11. header("Location: login.php"); die;
  12. }
  13. ?>
  14. <html>
  15. <head>
  16. <title>Tiny Tiny Statistics</title>
  17. </head>
  18. <body>
  19. <h1>Tiny Tiny Statistics</h1>
  20. <h2>Counters</h2>
  21. <?php
  22. $result = db_query($link, "SELECT count(id) AS cid,
  23. SUM(LENGTH(content)) AS size
  24. FROM ttrss_entries");
  25. $total_articles = db_fetch_result($result, 0, "cid");
  26. $articles_size = round(db_fetch_result($result, 0, "size") / 1024);
  27. print "<p>Total articles stored: $total_articles (${articles_size}K)</p>";
  28. /* $result = db_query($link, "SELECT COUNT(int_id) as cid,owner_uid,login
  29. FROM ttrss_user_entries
  30. LEFT JOIN ttrss_users ON (owner_uid = ttrss_users.id)
  31. GROUP BY owner_uid,login ORDER BY cid DESC"); */
  32. $result = db_query($link, "SELECT count(ttrss_entries.id) AS cid,
  33. login FROM ttrss_entries
  34. LEFT JOIN ttrss_user_entries ON (ref_id = ttrss_entries.id)
  35. LEFT JOIN ttrss_users ON (ttrss_users.id = owner_uid) GROUP BY login");
  36. print "<h2>Per-user storage</h2>";
  37. print "<table width='100%'>";
  38. print "<tr>
  39. <td>Articles</td>
  40. <td>Owner</td>
  41. </tr>";
  42. while ($line = db_fetch_assoc($result)) {
  43. print "<tr>";
  44. print "<td>" . $line["cid"] . "</td><td>" . $line["login"] . "</td>";
  45. print "</tr>";
  46. }
  47. print "</table>";
  48. print "<h2>User subscriptions</h2>";
  49. $result = db_query($link, "SELECT title,feed_url,site_url,login,
  50. (SELECT count(int_id) FROM ttrss_user_entries
  51. WHERE feed_id = ttrss_feeds.id) AS num_articles,
  52. (SELECT count(int_id) FROM ttrss_user_entries
  53. WHERE feed_id = ttrss_feeds.id AND unread = true) AS num_articles_unread
  54. FROM ttrss_feeds,ttrss_users
  55. WHERE owner_uid = ttrss_users.id ORDER BY login");
  56. print "<table width='100%'>";
  57. print "<tr>
  58. <td>Site</td>
  59. <td>Feed</td>
  60. <td>Owner</td>
  61. <td>Stored Articles</td>
  62. <td>Unread Articles</td>
  63. </tr>";
  64. $cur_login = "";
  65. while ($line = db_fetch_assoc($result)) {
  66. print "<tr>";
  67. print "<td><a href=\"".$line["site_url"]."\">".$line["title"]."</a></td>";
  68. print "<td><a href=\"".$line["feed_url"]."\">".$line["feed_url"]."</a></td>";
  69. print "<td>" . $line["login"] . "</td>";
  70. print "<td>" . $line["num_articles"] . "</td>";
  71. print "<td>" . $line["num_articles_unread"] . "</td>";
  72. print "</tr>";
  73. if ($cur_login != $line["login"] && $cur_login != "") {
  74. print "<tr><td>&nbsp;</td></tr>";
  75. $cur_login = $line["login"];
  76. }
  77. }
  78. print "</table>";
  79. ?>
  80. </pre>
  81. </body>
  82. </html>