stat.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?php
  2. defined('IN_PHPCMS') or exit('No permission resources.');
  3. /**
  4. *
  5. *
  6. * 视频统计功能
  7. * @author wangguanqing
  8. * @copyright CopyRight (c) 2006-2012 上海盛大网络发展有限公司
  9. *
  10. */
  11. pc_base::load_app_class('admin', 'admin', 0);
  12. pc_base::load_sys_class('form', 0, 0);
  13. pc_base::load_app_func('global', 'video');
  14. class stat extends admin {
  15. public $db,$module_db;
  16. public function __construct() {
  17. parent::__construct();
  18. $this->db = pc_base::load_model('video_store_model');
  19. $this->module_db = pc_base::load_model('module_model');
  20. $this->userid = $_SESSION['userid'];
  21. pc_base::load_app_class('ku6api', 'video', 0);
  22. pc_base::load_app_class('v', 'video', 0);
  23. $this->v = new v($this->db);
  24. //获取短信平台配置信息
  25. $this->setting = getcache('video');
  26. if(empty($this->setting) && ROUTE_A!='setting') {
  27. showmessage(L('video_setting_not_succfull'), 'index.php?m=video&c=video&a=setting&meunid='.$_GET['meunid']);
  28. }
  29. $this->ku6api = new ku6api($this->setting['sn'], $this->setting['skey']);
  30. }
  31. /*默认显示整体趋势*/
  32. public function init() {
  33. //未指定时间,显示当天的视频排行
  34. $pagesize = 20;
  35. $page = isset($_GET['page']) ? $_GET['page'] : '1';
  36. $start_time = isset($_GET['start_time']) ? $_GET['start_time'] : date("Y-m-d");
  37. $end_time = isset($_GET['end_time']) ? $_GET['end_time'] : date("Y-m-d",strtotime("+1 day"));
  38. if(empty($start_time) && empty($end_time)){//默认浏览
  39. $date = isset($_GET['type']) ? $_GET['type'] : 'today' ;
  40. switch($date){
  41. case 'today':
  42. $start_time = date("Y-m-d");
  43. $end_time = date("Y-m-d",strtotime("+1 day"));
  44. break;
  45. case 'yestoday':
  46. $start_time = date("Y-m-d",strtotime("-1 day"));
  47. $end_time = date("Y-m-d");
  48. break;
  49. case 'week':
  50. $start_time = date("Y-m-d",strtotime("-1 week"));
  51. $end_time = date("Y-m-d");
  52. break;
  53. case 'month':
  54. $start_time = date("Y-m-d",strtotime("last month"));
  55. $end_time = date("Y-m-d");
  56. break;
  57. default:
  58. $start_time = date("Y-m-d");
  59. $end_time = date("Y-m-d",strtotime("+1 day"));
  60. }
  61. }else{
  62. if(empty($start_time) || empty($end_time)){
  63. showmessage('时间区间不能为空!请返回!',HTTP_REFERER);
  64. }
  65. }
  66. $return_data = $this->ku6api->get_stat_bydate($start_time,$end_time,$pagesize,$page);
  67. if($return_data['code']==200) {
  68. $infos = $return_data['data'];
  69. include $this->admin_tpl('video_stat_init');
  70. } else {
  71. header("Location: ".APP_PATH."index.php?m=video&c=video&a=open&meunid=".$_GET['meunid'].'&pc_hash='.$_GET['pc_hash']);
  72. }
  73. }
  74. /*
  75. * 搜索查看视频统计
  76. */
  77. public function search_video_stat(){
  78. $type = isset($_POST['search_type']) ? $_POST['search_type'] : 2;//2代表默认为标题搜索
  79. $keyword = $_POST['keyword'];
  80. $return_data = $this->ku6api->get_video_bykeyword($type,$keyword);
  81. $infos = $return_data['data'];
  82. include $this->admin_tpl('video_stat_init');
  83. }
  84. /*
  85. * 查看视频统计走势
  86. */
  87. public function show_video_stat(){
  88. $vid = $_GET['vid'] ;
  89. $return_data = $this->ku6api->show_video_stat($vid);
  90. $return = $return_data['data'];
  91. $nums = count($return['x']);
  92. $i = $j = 1;
  93. foreach($return['x'] as $re){
  94. if($i<$nums){
  95. $x .= "'".$re."' ,";
  96. }else{
  97. $x .= "'".$re."'";
  98. }
  99. $i++;
  100. }
  101. foreach($return['y'] as $re){
  102. if($j<$nums){
  103. $y .= $re." ,";
  104. }else{
  105. $y .= $re ;
  106. }
  107. $j++;
  108. }
  109. $show_header = 0;
  110. include $this->admin_tpl('show_video_stat');
  111. }
  112. /*
  113. * 视频流量总体趋势图
  114. */
  115. public function vv_trend(){
  116. $return_data = $this->ku6api->vv_trend($vid);
  117. $return = $return_data['data'];
  118. $show_header = 0;
  119. $new_data = array();
  120. $start = date("Y-m-d",strtotime('-20 day'));
  121. $end= date("Y-m-d");
  122. $days = ((strtotime( $end)-strtotime( $start ))/86400);
  123. for($i=1;$i<=$days;$i++){
  124. $new_data['x'][] = date("m-d",strtotime("$start +$i day"));
  125. $new_data['y'][] = $return[date("Y-m-d",strtotime("$start +$i day"))] ? $return[date("Y-m-d",strtotime("$start +$i day"))] : 0;
  126. }
  127. //生成字符串
  128. $nums = count($new_data['x']);
  129. $i = $j = 1;
  130. foreach($new_data['x'] as $re){
  131. $x .= $i<$nums ? "'".$re."' ," : "'".$re."'";
  132. $i++;
  133. }
  134. foreach($new_data['y'] as $re){
  135. $y .= $j<$nums ? $re." ," : $re;
  136. $j++;
  137. }
  138. include $this->admin_tpl('video_vv_trend');
  139. }
  140. }
  141. ?>