PageRenderTime 48ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/bxpress/trunk/admin/index.php

http://bitcero-modules.googlecode.com/
PHP | 167 lines | 121 code | 25 blank | 21 comment | 5 complexity | b10a2c75bc964690a8f67ae2e85c9dfb MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. // $Id: index.php 896 2012-01-02 18:43:23Z i.bitcero $
  3. // --------------------------------------------------------------
  4. // EXMBB Forums
  5. // An simple forums module for XOOPS and Common Utilities
  6. // Author: Eduardo Cortés <i.bitcero@gmail.com>
  7. // Email: i.bitcero@gmail.com
  8. // License: GPL 2.0
  9. // --------------------------------------------------------------
  10. define('RMCLOCATION','dashboard');
  11. include 'header.php';
  12. $db = $xoopsDB;
  13. // Categorías
  14. $sql = "SELECT COUNT(*) FROM ".$db->prefix("bxpress_categories");
  15. list($catnum) = $db->fetchRow($db->query($sql));
  16. // Forums
  17. $sql = "SELECT COUNT(*) FROM ".$db->prefix("bxpress_forums");
  18. list($forumnum) = $db->fetchRow($db->query($sql));
  19. // Topics
  20. $sql = "SELECT COUNT(*) FROM ".$db->prefix("bxpress_topics");
  21. list($topicnum) = $db->fetchRow($db->query($sql));
  22. // Posts
  23. $sql = "SELECT COUNT(*) FROM ".$db->prefix("bxpress_posts");
  24. list($postnum) = $db->fetchRow($db->query($sql));
  25. // Announcements
  26. $sql = "SELECT COUNT(*) FROM ".$db->prefix("bxpress_announcements");
  27. list($annum) = $db->fetchRow($db->query($sql));
  28. //Attachments
  29. $sql = "SELECT COUNT(*) FROM ".$db->prefix("bxpress_attachments");
  30. list($attnum) = $db->fetchRow($db->query($sql));
  31. // Reports
  32. $sql = "SELECT COUNT(*) FROM ".$db->prefix("bxpress_report");
  33. list($repnum) = $db->fetchRow($db->query($sql));
  34. // Days running
  35. $daysnum = time() - $xoopsModule->getVar('last_update');
  36. $daysnum = ceil($daysnum/86400);
  37. //Lista de Mensajes recientes
  38. $tbl1= $db->prefix('bxpress_posts');
  39. $tbl2= $db->prefix('bxpress_topics');
  40. $tbl3=$db->prefix('bxpress_posts_text');
  41. $tbl4=$db->prefix('bxpress_forums');
  42. $sql = "SELECT a.*, b.*, c.post_text, d.*
  43. FROM $tbl1 a, $tbl2 b, $tbl3 c, $tbl4 d
  44. WHERE b.id_topic = a.id_topic AND c.post_id=a.id_post AND d.id_forum=b.id_forum
  45. GROUP BY a.id_topic
  46. ORDER BY a.post_time DESC
  47. LIMIT 0,5";
  48. $result=$db->query($sql);
  49. $posts = array();
  50. $topics = array();
  51. $topic = new bXTopic();
  52. $forum = new bXForum();
  53. $pt = new bXPost();
  54. while ($row=$db->fetchArray($result)){
  55. //print_r($row);
  56. $pt->assignVars($row);
  57. $post = array(
  58. 'id' => $row['last_post'],
  59. 'date' => sprintf(__('Last post on %s','bxpress'), bXFunctions::formatDate($row['post_time'])),
  60. 'by'=> sprintf(__('By %s','bxpress'), $row['poster_name']),
  61. 'link' => $pt->permalink(),
  62. 'uid' => $row['uid']
  63. );
  64. $topic->assignVars($row);
  65. $forum->assignVars($row);
  66. $topics[] = array(
  67. 'id'=>$row['id_topic'],
  68. 'title'=>$row['title'],
  69. 'post'=>$post,
  70. 'link' => $topic->permalink(),
  71. 'forum' => array(
  72. 'id' => $forum->id(),
  73. 'name' => $forum->name(),
  74. 'link' => $forum->permalink()
  75. )
  76. );
  77. }
  78. $sql = "SELECT * FROM $tbl2 ORDER BY replies DESC LIMIT 0,5";
  79. $result = $db->query($sql);
  80. $poptops = array();
  81. $topic = new bXTopic();
  82. while($row = $db->fetchArray($result)){
  83. $topic->assignVars($row);
  84. $forum->assignVars($row);
  85. $poptops[] = array(
  86. 'id' => $topic->id(),
  87. 'title' => $topic->title(),
  88. 'date' => sprintf(__('Created on %s','bxpress'), bXFunctions::formatDate($row['date'])),
  89. 'replies' => $topic->replies(),
  90. 'link' => $topic->permalink(),
  91. 'forum' => array(
  92. 'id' => $forum->id(),
  93. 'name' => $forum->name(),
  94. 'link' => $forum->permalink()
  95. )
  96. );
  97. }
  98. unset($post,$pt,$topic,$result,$row,$sql,$tbl1,$tbl2,$tbl3);
  99. RMTemplate::get()->add_xoops_style('dashboard.css', 'bxpress');
  100. RMTemplate::get()->add_local_script('dashboard.js', 'bxpress');
  101. RMTemplate::get()->set_help('http://www.redmexico.com.mx/docs/bxpress-forums/dashboard/standalone/1/');
  102. bXFunctions::menu_bar();
  103. // Activity
  104. // 30 Days
  105. $ago = strtotime("-30 days");
  106. $sql = "SELECT id_post,post_time,id_forum FROM ".$db->prefix("bxpress_posts")." WHERE post_time>=$ago ORDER BY post_time ASC";
  107. $result = $db->query($sql);
  108. $posts = array();
  109. $forums = array();
  110. $p = '';
  111. while($row = $db->fetchArray($result)){
  112. $ds = date("d-M-Y", $row['post_time']);
  113. if(!isset($posts[$row['id_forum']]))
  114. $forums[$row['id_forum']] = new bXForum($row['id_forum']);
  115. if(!isset($posts[$row['id_forum']][$ds])){
  116. $posts[$row['id_forum']][$ds] = 1;
  117. } else {
  118. $posts[$row['id_forum']][$ds]++;
  119. }
  120. }
  121. // Days
  122. $days_rows = array();
  123. $j = 0; $max = 0;
  124. for($i=30;$i>=0;$i--){
  125. $j++;
  126. $ds = date("d-M-Y", strtotime("-".$i." days"));
  127. $days_rows[$i] = '["'.$ds.'"';
  128. foreach($forums as $id => $f){
  129. $max = isset($posts[$id][$ds]) ? ($posts[$id][$ds]>$max?$posts[$id][$ds]:$max) : $max;
  130. $days_rows[$i] .= ",".(isset($posts[$id][$ds]) ? $posts[$id][$ds] : '0');
  131. }
  132. $days_rows[$i] .= "]\n";
  133. }
  134. unset($d,$posts);
  135. $max += 10-($max % 10);
  136. $rblocks = '';
  137. $rblocks = RMEvents::get()->run_event("bxpress.dashboard.right.blocks", $rblocks);
  138. $lblocks = '';
  139. $lblocks = RMEvents::get()->run_event("bxpress.dashboard.left.blocks", $lblocks);
  140. xoops_cp_header();
  141. include RMTemplate::get()->get_template("admin/forums_index.php", 'module', 'bxpress');
  142. xoops_cp_footer();