Просмотр файла system/classes/stat.php

Размер файла: 5.23Kb
  1. <?php
  2. /**********************************
  3. * @package: PerfCMS *
  4. * @year: 2012 *
  5. * @author: Artas *
  6. * @link: http://perfcms.ru *
  7. **********************************/
  8. class Stat {
  9. public function __construct() {}
  10. public function last_news() {
  11. global $db;
  12. global $lang;
  13. if($db->query("SELECT * FROM `news`")->rowCount() != 0) {
  14. $last_news_q = $db->query("SELECT * FROM `news` ORDER BY time DESC LIMIT 1");
  15. while($last_news = $last_news_q->fetch()) {
  16. echo '<div class="post"><b>'. $last_news['name'].'</b> ('. rtime($last_news['time']) .')<br/>';
  17. if(mb_strlen($last_news['text']) > 300) {
  18. echo mb_substr(output($last_news['text']), 0, 300).'... <a href="/news/article/'.$last_news['id'].'/">'.$lang->word('read_more').'</a><br/>';
  19. }
  20. else {
  21. echo output($last_news['text']).'<br/>';
  22. }
  23. echo '</div><div class="block"><a href="/news/'.$last_news['id'].'/comments/">'. $lang->word('comments') .'</a> ('.$db->query("SELECT * FROM `news_comms` WHERE `news_id` = '". $last_news['id'] ."'")->rowCount().')<br/>
  24. </div>';
  25. }
  26. }
  27. }
  28. public function news() {
  29. global $db;
  30. $all_news = $db->query("SELECT * FROM `news`")->rowCount();
  31. return '('.$all_news.')';
  32. }
  33. public function chat() {
  34. global $db;
  35. $user_chat = $db->query("SELECT * FROM `users` WHERE `time` > '". (time()-300) ."' AND `locate` = 'in_chat'")->rowCount();
  36. return '(<span class="green">On: '.$user_chat.'</span>)';
  37. }
  38. public function forum() {
  39. global $db;
  40. $topics = $db->query("SELECT * FROM `forum_t`")->rowCount();
  41. $posts = $db->query("SELECT * FROM `forum_pt`")->rowCount();
  42. $new_posts = $db->query("SELECT * FROM `forum_pt` WHERE `time` > '". (time()-60*60*24) ."'")->rowCount();
  43. return "(".$topics."/".$posts.")".($new_posts > 0 ? ' <a href="/forum/new_posts/"><span class="green">+'.$new_posts.'</span></a>' : NULL);
  44. }
  45. public function share() {
  46. global $db;
  47. $new_files = $db->query("SELECT * FROM `share_files` WHERE `time` > '". (time()-60*60*24) ."'")->rowCount();
  48. $files = $db->query("SELECT * FROM `share_files`")->rowCount();
  49. return '('.$files.')'.($new_files > 0 ? ' <a href="/share/new_files/"><span class="green">+'.$new_files.'</span></a>' : NULL);
  50. }
  51. public function users() {
  52. global $db;
  53. $users = $db->query("SELECT * FROM `users`")->rowCount();
  54. $new_users = $db->query("SELECT * FROM `users` WHERE `reg_time` > '".(time()-60*60*24)."'")->rowCount();
  55. return "(".$users."".($new_users>0 ? "/<span class=\"green\">+".$new_users."</span>" : NULL).")";
  56. }
  57. public function mail() {
  58. global $db;
  59. global $user;
  60. $new_mail = $db->query("SELECT * FROM `mail` WHERE `who_id` = '". $user['id'] ."' AND `read` = '0'")->rowCount();
  61. return "".($new_mail>0 ? "/<span class=\"green\">+".$new_mail."</span>" : NULL)."";
  62. }
  63. public function online() {
  64. global $db;
  65. global $lang;
  66. $on_u = $db->query("SELECT * FROM `users` WHERE `time` > '". (time()-300) ."'")->rowCount();
  67. $on_g = $db->query("SELECT * FROM `guests` WHERE `time` > '". (time()-300) ."'")->rowCount();
  68. $on_a = $on_u + $on_g;
  69. return "". $lang->word('online') .": ". $on_a ." (<a href=\"/online/\">".$on_u."</a>/<a href=\"/guests/\">".$on_g."</a>)\n";
  70. }
  71. // PLEASE NOT DELETE //
  72. public function footer() {
  73. global $theme;
  74. global $system;
  75. // PLEASE NOT DELETE //
  76. return '<small><a href="http://perfcms.org.ua">'.$system['copyright'].'</a></small>';
  77. }
  78. // PLEASE NOT DELETE //
  79. public function adsHeader()
  80. {
  81. global $db;
  82. $ah_r = $db->query("SELECT * FROM `ads` WHERE `type` = '1'")->rowCount();
  83. if($ah_r != 0)
  84. {
  85. echo '<div class="block">';
  86. $ah_q = $db->query("SELECT * FROM `ads` WHERE `type` = '1'");
  87. while($ah = $ah_q->fetch())
  88. {
  89. echo "<a href=\"".($ah['redirect'] == 1 ? '/pages/redirect?url=' : NULL) ."". $ah['link'] ."\">". output($ah['name']) ."</a><br/>\n";
  90. }
  91. echo '</div>';
  92. }
  93. }
  94. public function adsFooter()
  95. {
  96. global $db;
  97. $af_r = $db->query("SELECT * FROM `ads` WHERE `type` = '2'")->rowCount();
  98. if($af_r != 0)
  99. {
  100. echo '<div class="block">';
  101. $af_q = $db->query("SELECT * FROM `ads` WHERE `type` = '2'");
  102. while($af = $af_q->fetch())
  103. {
  104. echo "<a href=\"".($af['redirect'] == 1 ? '/pages/redirect?url=' : NULL) ."". $af['link'] ."\">". output($af['name']) ."</a><br/>\n";
  105. }
  106. $this->adsBanners();
  107. echo '</div>';
  108. }
  109. }
  110. public function adsBanners()
  111. {
  112. global $db;
  113. $ab_r = $db->query("SELECT * FROM `ads` WHERE `type` = '3'")->rowCount();
  114. if($ab_r != 0)
  115. {
  116. echo '<div align="center">';
  117. $ab_q = $db->query("SELECT * FROM `ads` WHERE `type` = '3'");
  118. while($ab = $ab_q->fetch())
  119. {
  120. echo "<a href=\"".($ab['redirect'] == 1 ? '/pages/redirect?url=' : NULL) ."". $ab['link'] ."\"><img src=\"". $ab['image'] ."\" alt=\"". $ab['name'] ."\"/></a>\n";
  121. }
  122. echo '</div>';
  123. }
  124. }
  125. public function downloads()
  126. {
  127. global $db;
  128. $new_files = $db->query("SELECT * FROM `downloads_files` WHERE `time` > '". (time()-60*60*24) ."'")->rowCount();
  129. $files = $db->query("SELECT * FROM `downloads_files`")->rowCount();
  130. return '('.$files.')'.($new_files > 0 ? ' <a href="/downloads/new_files/"><span class="green">+'.$new_files.'</span></a>' : NULL);
  131. }
  132. }