PageRenderTime 43ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/Quản lý website đọc truyện online PHP/incfiles/classes/counters.php

https://gitlab.com/phamngsinh/baitaplon_sinhvien
PHP | 203 lines | 120 code | 22 blank | 61 comment | 24 complexity | bdf974ce5861afd379842bfeee10c6da MD5 | raw file
  1. <?php
  2. /**
  3. * @package JohnCMS
  4. * @link http://johncms.com
  5. * @copyright Copyright (C) 2008-2011 JohnCMS Community
  6. * @license LICENSE.txt (see attached file)
  7. * @version VERSION.txt (see attached file)
  8. * @author http://johncms.com/about
  9. */
  10. defined('_IN_JOHNCMS') or die('Restricted access');
  11. class counters
  12. {
  13. /*
  14. -----------------------------------------------------------------
  15. Счетчик Фотоальбомов / фотографий юзеров
  16. -----------------------------------------------------------------
  17. */
  18. static function album()
  19. {
  20. global $website;
  21. $albumcount = mysql_result(mysql_query("SELECT COUNT(DISTINCT `user_id`) FROM `cms_album_files` WHERE `website` = '$website'"), 0);
  22. $photocount = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_album_files` WHERE `website` = '$website'"), 0);
  23. $newcount = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_album_files` where `website` = '$website' AND `time` > '" . (time() - 259200) . "' AND `access` > '1'"), 0);
  24. return $albumcount . '&#160;/&#160;' . $photocount . ($newcount ? '&#160;/&#160;<span class="red"><a href="' . core::$system_set['homeurl'] . '/users/album.php?act=top">+' . $newcount . '</a></span>' : '');
  25. }
  26. /*
  27. -----------------------------------------------------------------
  28. Статистика загрузок
  29. -----------------------------------------------------------------
  30. */
  31. static function downloads()
  32. {
  33. global $website;
  34. $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `download` where `website` = '$website' AND `type` = 'file'"), 0);
  35. $new = mysql_result(mysql_query("SELECT COUNT(*) FROM `download` where `website` = '$website' AND `time` > '" . (time() - 259200) . "' AND `type` = 'file'"), 0);
  36. if ($new > 0)
  37. $total .= '&#160;/&#160;<span class="red"><a href="/download/?act=new">+' . $new . '</a></span>';
  38. return $total;
  39. }
  40. /*
  41. -----------------------------------------------------------------
  42. Статистика Форума
  43. -----------------------------------------------------------------
  44. */
  45. static function forum()
  46. {
  47. global $website;
  48. $total_thm = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` where `website` = '$website' AND `type` = 't'" . (core::$user_rights >= 7 ? "" : " AND `close` != '1'")), 0);
  49. $total_msg = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` where `website` = '$website' AND `type` = 'm'" . (core::$user_rights >= 7 ? "" : " AND `close` != '1'")), 0);
  50. $out = $total_thm . '&#160;/&#160;' . $total_msg . '';
  51. if (core::$user_id) {
  52. $new = self::forum_new();
  53. if ($new)
  54. $out .= '&#160;/&#160;<span class="red"><a href="' . core::$system_set['homeurl'] . '/forum/index.php?act=new">+' . $new . '</a></span>';
  55. }
  56. return $out;
  57. }
  58. /*
  59. -----------------------------------------------------------------
  60. Счетчик непрочитанных тем на форуме
  61. -----------------------------------------------------------------
  62. $mod = 0 Возвращает число непрочитанных тем
  63. $mod = 1 Выводит ссылки на непрочитанное
  64. -----------------------------------------------------------------
  65. */
  66. static function forum_new($mod = 0)
  67. {
  68. global $website;
  69. if (core::$user_id) {
  70. $req = mysql_query("SELECT COUNT(*) FROM `forum`
  71. LEFT JOIN `cms_forum_rdm` ON `forum`.`id` = `cms_forum_rdm`.`topic_id` AND `cms_forum_rdm`.`user_id` = '" . core::$user_id . "'
  72. where `forum`.`website` = '$website' AND `forum`.`type`='t'" . (core::$user_rights >= 7 ? "" : " AND `forum`.`close` != '1'") . "
  73. AND (`cms_forum_rdm`.`topic_id` Is Null
  74. OR `forum`.`time` > `cms_forum_rdm`.`time`)");
  75. $total = mysql_result($req, 0);
  76. if ($mod)
  77. return '<a href="index.php?act=new">' . core::$lng['unread'] . '</a>&#160;' . ($total ? '<span class="red">(<b>' . $total . '</b>)</span>' : '');
  78. else
  79. return $total;
  80. } else {
  81. if ($mod)
  82. return '<a href="index.php?act=new">' . core::$lng['last_activity'] . '</a>';
  83. else
  84. return false;
  85. }
  86. }
  87. /*
  88. -----------------------------------------------------------------
  89. Статистика галлереи
  90. -----------------------------------------------------------------
  91. $mod = 1 будет выдавать только колличество новых картинок
  92. -----------------------------------------------------------------
  93. */
  94. static function gallery($mod = 0)
  95. {
  96. global $website;
  97. $new = mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery` where `website` = '$website' AND `time` > '" . (time() - 259200) . "' AND `type` = 'ft'"), 0);
  98. if ($mod == 0) {
  99. $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery` where `website` = '$website' AND `type` = 'ft'"), 0);
  100. $out = $total;
  101. if ($new > 0)
  102. $out .= '&#160;/&#160;<span class="red"><a href="/gallery/index.php?act=new">+' . $new . '</a></span>';
  103. } else {
  104. $out = $new;
  105. }
  106. return $out;
  107. }
  108. /*
  109. -----------------------------------------------------------------
  110. Статистика гостевой
  111. -----------------------------------------------------------------
  112. $mod = 1 колличество новых в гостевой
  113. $mod = 2 колличество новых в Админ-Клубе
  114. -----------------------------------------------------------------
  115. */
  116. static function guestbook($mod = 0)
  117. {
  118. global $website;
  119. $count = 0;
  120. switch ($mod) {
  121. case 1:
  122. $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `guest` where `website` = '$website' AND `adm`='0' AND `time` > '" . (time() - 86400) . "'"), 0);
  123. break;
  124. case 2:
  125. if (core::$user_rights >= 1)
  126. $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `guest` where `website` = '$website' AND `adm`='1' AND `time` > '" . (time() - 86400) . "'"), 0);
  127. break;
  128. default:
  129. $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `guest` where `website` = '$website' AND `adm`='0' AND `time` > '" . (time() - 86400) . "'"), 0);
  130. if (core::$user_rights >= 1) {
  131. $req = mysql_query("SELECT COUNT(*) FROM `guest` where `website` = '$website' AND `adm`='1' AND `time`>'" . (time() - 86400) . "'");
  132. $count = $count . '&#160;/&#160;<span class="red"><a href="guestbook/index.php?act=ga&amp;do=set">' . mysql_result($req, 0) . '</a></span>';
  133. }
  134. }
  135. return $count;
  136. }
  137. /*
  138. -----------------------------------------------------------------
  139. Статистика библиотеки
  140. -----------------------------------------------------------------
  141. */
  142. static function library()
  143. {
  144. global $website;
  145. $countf = mysql_result(mysql_query("SELECT COUNT(*) FROM `lib` where `website` = '$website' AND `type` = 'bk' AND `moder` = '1'"), 0);
  146. $countf1 = mysql_result(mysql_query("SELECT COUNT(*) FROM `lib` where `website` = '$website' AND `time` > '" . (time() - 259200) . "' AND `type` = 'bk' AND `moder` = '1'"), 0);
  147. $out = $countf;
  148. if ($countf1 > 0)
  149. $out = $out . '&#160;/&#160;<span class="red"><a href="/library/index.php?act=new">+' . $countf1 . '</a></span>';
  150. $countm = mysql_result(mysql_query("SELECT COUNT(*) FROM `lib` where `website` = '$website' AND `type` = 'bk' AND `moder` = '0'"), 0);
  151. if ((core::$user_rights == 5 || core::$user_rights >= 6) && $countm > 0)
  152. $out = $out . "/<a href='" . core::$system_set['homeurl'] . "/library/index.php?act=moder'><font color='#FF0000'> M:$countm</font></a>";
  153. return $out;
  154. }
  155. /*
  156. -----------------------------------------------------------------
  157. Счетчик посетителей онлайн
  158. -----------------------------------------------------------------
  159. */
  160. static function online()
  161. {
  162. global $website;
  163. $users = mysql_result(mysql_query("SELECT COUNT(*) FROM `users` where `website` = '$website' AND `lastdate` > '" . (time() - 300) . "'"), 0);
  164. $guests = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_sessions` where `website` = '$website' AND `lastdate` > '" . (time() - 300) . "'"), 0);
  165. return (core::$user_id || core::$system_set['active'] ? '<a href="' . core::$system_set['homeurl'] . '/users/index.php?act=online">' . core::$lng['online'] . ': ' . $users . ' / ' . $guests . '</a>' : core::$lng['online'] . ': ' . $users . ' / ' . $guests);
  166. }
  167. /*
  168. -----------------------------------------------------------------
  169. Колличество зарегистрированных пользователей
  170. -----------------------------------------------------------------
  171. */
  172. static function users()
  173. {
  174. global $website;
  175. $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `users` where `website` = '$website'"), 0);
  176. $res = mysql_result(mysql_query("SELECT COUNT(*) FROM `users` where `website` = '$website' AND `datereg` > '" . (time() - 86400) . "'"), 0);
  177. if ($res > 0)
  178. $total .= '&#160;/&#160;<span class="red">+' . $res . '</span>';
  179. return $total;
  180. }
  181. }