PageRenderTime 51ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 1ms

/app/admin/statistic.php

https://github.com/sony88/answion
PHP | 114 lines | 76 code | 26 blank | 12 comment | 3 complexity | e4898487b4adb3d43eacd71e25c21704 MD5 | raw file
  1. <?php
  2. /*
  3. +--------------------------------------------------------------------------
  4. | Anwsion [#RELEASE_VERSION#]
  5. | ========================================
  6. | by Anwsion dev team
  7. | (c) 2011 - 2012 Anwsion Software
  8. | http://www.anwsion.com
  9. | ========================================
  10. | Support: zhengqiang@gmail.com
  11. |
  12. +---------------------------------------------------------------------------
  13. */
  14. if (!defined('IN_ANWSION'))
  15. {
  16. die;
  17. }
  18. class statistic extends AWS_CONTROLLER
  19. {
  20. function get_permission_action()
  21. {
  22. }
  23. public function setup()
  24. {
  25. $this->model('admin_session')->init($this->get_permission_action());
  26. $this->crumb('数据统计');
  27. TPL::import_css('admin/js/amcharts/style.css');
  28. TPL::import_js('admin/js/amcharts/amcharts.js');
  29. if (!$_POST['start_time'])
  30. {
  31. $_POST['start_time'] = date('Y-m-d', strtotime('Last week'));
  32. }
  33. if (!$_POST['end_time'])
  34. {
  35. $_POST['end_time'] = date('Y-m-d', strtotime('Today'));
  36. }
  37. }
  38. public function index_action()
  39. {
  40. $this->register_action();
  41. }
  42. public function register_action()
  43. {
  44. $statistic_list = $this->model('statistic')->get_user_register_list_by_day(strtotime($_POST['start_time']), strtotime($_POST['end_time']));
  45. TPL::assign('statistic_list', $statistic_list);
  46. TPL::assign('total_count', $this->model('account')->count('users'));
  47. TPL::assign('valid_count', $this->model('account')->count('users', 'valid_email = 1'));
  48. TPL::assign('today_count', $this->model('account')->count('users', 'reg_time > ' . strtotime(date('Y-m-d'))));
  49. TPL::assign('week_count', $this->model('account')->count('users', 'reg_time > ' . strtotime('last Monday')));
  50. TPL::assign('month_count', $this->model('account')->count('users', 'reg_time > ' . strtotime(date('Y-m'))));
  51. TPL::assign('menu_list', $this->model('admin_group')->get_menu_list($this->user_info['group_id'], 602));
  52. TPL::output('admin/statistic');
  53. }
  54. public function question_action()
  55. {
  56. $statistic_list = $this->model('statistic')->get_new_question_by_day(strtotime($_POST['start_time']), strtotime($_POST['end_time']));
  57. TPL::assign('statistic_list', $statistic_list);
  58. TPL::assign('total_count', $this->model('question')->count('question'));
  59. TPL::assign('question_with_answer_count', $this->model('question')->count('question', 'answer_count > 0'));
  60. TPL::assign('today_count', $this->model('question')->count('question', 'add_time > ' . strtotime(date('Y-m-d'))));
  61. TPL::assign('week_count', $this->model('question')->count('question', 'add_time > ' . strtotime('last Monday')));
  62. TPL::assign('month_count', $this->model('question')->count('question', 'add_time > ' . strtotime(date('Y-m'))));
  63. TPL::assign('menu_list', $this->model('admin_group')->get_menu_list($this->user_info['group_id'], 602));
  64. TPL::output('admin/statistic');
  65. }
  66. public function answer_action()
  67. {
  68. $statistic_list = $this->model('statistic')->get_new_answer_by_day(strtotime($_POST['start_time']), strtotime($_POST['end_time']));
  69. TPL::assign('statistic_list', $statistic_list);
  70. TPL::assign('total_count', $this->model('question')->count('answer'));
  71. TPL::assign('today_count', $this->model('answer')->count('question', 'add_time > ' . strtotime(date('Y-m-d'))));
  72. TPL::assign('week_count', $this->model('answer')->count('question', 'add_time > ' . strtotime('last Monday')));
  73. TPL::assign('month_count', $this->model('answer')->count('question', 'add_time > ' . strtotime(date('Y-m'))));
  74. TPL::assign('menu_list', $this->model('admin_group')->get_menu_list($this->user_info['group_id'], 602));
  75. TPL::output('admin/statistic');
  76. }
  77. public function topic_action()
  78. {
  79. $statistic_list = $this->model('statistic')->get_new_topic_by_day(strtotime($_POST['start_time']), strtotime($_POST['end_time']));
  80. TPL::assign('statistic_list', $statistic_list);
  81. TPL::assign('total_count', $this->model('question')->count('answer'));
  82. TPL::assign('today_count', $this->model('answer')->count('question', 'add_time > ' . strtotime(date('Y-m-d'))));
  83. TPL::assign('week_count', $this->model('answer')->count('question', 'add_time > ' . strtotime('last Monday')));
  84. TPL::assign('month_count', $this->model('answer')->count('question', 'add_time > ' . strtotime(date('Y-m'))));
  85. TPL::assign('menu_list', $this->model('admin_group')->get_menu_list($this->user_info['group_id'], 602));
  86. TPL::output('admin/statistic');
  87. }
  88. }