/** * * @do 用户dashboard 列表 * * @access public * @author Nick * @copyright rockhippo * @param - * @return - * */ public function indexAction() { $PSys_UserModel = new PSys_UserModel(); if ($this->ispost) { //排序保存 $sort = reqarray("sort"); $PSys_UserModel->saveSortOption($sort); $this->jump('Save sort option success.', 'success', '/menu/index'); exit; } $where = array(); $order = "id DESC"; $page = reqnum("p", 1); $pagesize = reqnum("n", 14); $field = "*"; $table = "view_user"; //用户列表 $userlist = $PSys_UserModel->getList($where, $order, $page, $pagesize, $field, $table); $userlist['pageView'] = $this->pageView($userlist['allnum'], $param, $page, $pagesize); $this->smarty->assign("userlist", $userlist); $this->smarty->assign("active", "user/index"); $this->forward = "index"; }
/** * * @do ajax 访问 某时段 数据 * * @access public * @author Nick * @copyright rockhippo * @param - * @return - * */ public function ajaxUVChainDiagramAction() { $PSys_AccessModel = new PSys_AccessModel(); $stationC = reqarray("stationC"); $fastSearch = reqnum("fastSearch", 0); $id = reqstr("id"); //$station $where = array(); //$where['id_IN'] = $stationChoice; $order = "id ASC"; $field = "id,stationname"; $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station"); if ($stationC == array()) { //若为空则为不排除站点 foreach ($station['allrow'] as $key => $val) { $stationChoice[] = $val['id']; //选中的站点 $stationArr[$val['id']] = $val['stationname']; } } else { foreach ($station['allrow'] as $key => $val) { if (in_array($val['id'], $stationC)) { $stationChoice[] = $val['id']; //选中的站点 $stationArr[$val['id']] = $val['stationname']; } } } //判断xv的值 switch ($fastSearch) { case 1: $dbname = "rha_aclog_hour"; $result2 = $PSys_AccessModel->getDayChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getDayChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['stationid']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['num']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array($result2[0]['hour'] . ' hour'); $data['title'] = array($result2[0]['date'] . " " . $result2[0]['hour'] . 'h'); break; case 2: $dbname = "rha_wifi_daily"; $result2 = $PSys_AccessModel->getWeekChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getWeekChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['station']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['total']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array($result2[0]['date']); $data['title'] = array($result2[0]['date']); break; case 3: $dbname = "rha_wifi_daily"; $result2 = $PSys_AccessModel->getWeekChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getWeekChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['station']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['total']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array($result2[0]['date']); $data['title'] = array($result2[0]['date']); break; default: $dateSearch = reqstr("dateSearch"); switch ($dateSearch) { case "oneday": $dbname = "rha_aclog_hour"; $result2 = $PSys_AccessModel->getDayChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getDayChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['stationid']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['num']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array($result2[0]['hour'] . ' hour'); $data['title'] = array($result2[0]['date'] . " " . $result2[0]['hour'] . 'h'); break; case "manyday": $dbname = "rha_wifi_daily"; $result2 = $PSys_AccessModel->getWeekChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getWeekChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['station']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['total']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array($result2[0]['date']); $data['title'] = array($result2[0]['date']); break; case "oneweek": $dbname = "rha_wifi_daily"; $result2 = $PSys_AccessModel->getWeekChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getWeekChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['station']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['total']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array($result2[0]['date']); $data['title'] = array($result2[0]['date']); break; case "manyweek": $dbname = "rha_wifi_daily"; $result2 = $PSys_AccessModel->getManyWeekChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getManyWeekChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['station']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['total']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array(""); $data['title'] = array($result2['bdate'] . ' 至 ' . $result2['edate']); break; case "onemonth": $dbname = "rha_wifi_daily"; $result2 = $PSys_AccessModel->getOneMonthChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getOneMonthChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['station']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['total']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array($result2['date']); $data['title'] = array($result2['date']); break; case "manymonth": $dbname = "rha_wifi_daily"; $result2 = $PSys_AccessModel->getManyMonthChainDiagramDetail($id, $dbname); $result = $PSys_AccessModel->getManyMonthChainDiagram($result2, $dbname, $stationChoice); //数据节点设置 foreach ($result as $key => $val) { $data['data'][$key + 1]['name'] = $stationArr[$val['station']]; $data['data'][$key + 1]['marker'] = "square"; $data['data'][$key + 1]['data'][] = intval($val['total']); $data['data']['station'][] = $key + 1; } //print_r($data['data']); $data['data']['num'] = count($result); $data['xv'] = array(""); $data['title'] = array(date("Y-m", strtotime($result2['bdate']))); break; } } die(json_encode($data)); }
/** * 删除电影 */ public function vdeleteAction() { $m = new PSys_ResModel(); if (is_array($_GET['id'])) { $id = reqarray('id', array()); foreach ($id as $v) { $where = array('id' => $v); $data = $m->GetOneVideo($where); //在放开注释是得修改表名 $imgName = $data['vimg']; $avName = $data['avpath']; $ivName = $data['ivpath']; //组建路径 $imgPath = VIDEO_PATH . $imgName; //删除物理图片文件 if (file_exists($imgPath)) { unlink($imgPath); } //删除视频文件 $vPath = dirname(dirname(VIDEO_PATH)) . '/' . 'files' . '/'; if (file_exists($vPath . $avName)) { unlink($vPath . $avName); } if (file_exists($vPath . $ivName)) { unlink($vPath . $ivName); } $m->DelOneVideo($where); // start 写操作日志 $log = array('logtype' => 71, 'guid' => $_SESSION['Cur_X_User']['id'], 'ctime' => time(), 'cip' => real_ip()); $log['logdetail'] = $_SESSION['Cur_X_User']['username'] . "于" . date("Y-m-d H:i:s") . "[删除]电影" . $data['vname']; // $m=new PSys_SyslogModel(); // $m->admin_syslog($log); $m->admin_syslog($log); // end 日志 } header("Location:/res/vlist"); } elseif (is_numeric($_GET['id'])) { $id = reqnum('id', '0'); $where = array('id' => $id); $data = $m->GetOneVideo($where); $m->DelOneVideo($where); // start 写操作日志 $log = array('logtype' => 71, 'guid' => $_SESSION['Cur_X_User']['id'], 'ctime' => time(), 'cip' => real_ip()); $log['logdetail'] = $_SESSION['Cur_X_User']['username'] . "于" . date("Y-m-d H:i:s") . "[删除]电影" . $data['vname']; $m->admin_syslog($log); // end 日志 header("Location:/res/vlist"); } else { echo "<script>alert('id 为空');window.location.href='/res/vlist';</script>"; } }
/** * 删除广告 */ public function deleteAction() { $m = new Psys_AdsModel(); if (is_array($_GET['id'])) { $id = reqarray('id', array()); foreach ($id as $v) { $where = array('id' => $v); $data = $m->GetOne($where); $res = $m->DeleteOne($where); // start 写操作日志 $log = array('logtype' => 72, 'guid' => $_SESSION['Cur_X_User']['id'], 'ctime' => time(), 'cip' => real_ip()); $log['logdetail'] = $_SESSION['Cur_X_User']['username'] . "于" . date("Y-m-d H:i:s") . "[删除]广告位" . $data['adname']; // $m=new Psys_SyslogModel(); // $m->admin_syslog($log); $m->admin_syslog($log); // end 日志 } header("Location:/ads/index"); } elseif (is_numeric($_GET['id'])) { $id = reqnum('id', '0'); $where = array('id' => $id); $data = $m->GetOne($where); $res = $m->DeleteOne($where); // start 写操作日志 $log = array('logtype' => 72, 'guid' => $_SESSION['Cur_X_User']['id'], 'ctime' => time(), 'cip' => real_ip()); $log['logdetail'] = $_SESSION['Cur_X_User']['username'] . "于" . date("Y-m-d H:i:s") . "[删除]广告位" . $data['adname']; $m->admin_syslog($log); // end 日志 header("Location:/ads/index"); } else { echo "<script>alert('id 为空');</script>"; } }
/** * * @do 游戏查询数据 * * @access public * @author Nick * @copyright rockhippo * @param - * @return - * */ public function getactivitydataAction($output = false) { $PSys_BusModel = new PSys_BusModel(); $where = " 1 "; $bmanyday = $bday = reqstr("bmanyday"); $emanyday = $eday = reqstr("emanyday"); $bmanyday = str_replace("-", "", $bmanyday); $emanyday = str_replace("-", "", $emanyday); if ($bmanyday && !$emanyday) { $where .= " AND dates = {$bmanyday} "; $this->smarty->assign("time", $bday); } elseif (!$bmanyday && $emanyday) { $where .= " AND dates = {$emanyday} "; $this->smarty->assign("time", $eday); } elseif ($bmanyday && $emanyday) { $where .= " AND dates >= {$bmanyday} AND dates <= {$emanyday} "; $this->smarty->assign("time", $bday . " ~ " . $eday); } $v = reqstr("v"); $carid = $car_id = reqarray("carid"); $carid = implode(",", $carid); $where .= " AND car_id IN ({$carid})"; if ($v == 'uv') { $field = "click_uv,ios_uv,anroid_uv"; } elseif ($v == 'pv') { $field = "click_pv,ios_pv,anroid_pv"; } $result = $PSys_BusModel->GetList($where, "id ASC", 0, 0, "*", "rb_v10_activity_static"); $datas = $result['allrow']; //汇总统计 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*// foreach ($datas as $key => $val) { $data[$val['car_id']][$val['activityid']]['id'] = $val['car_id']; $data[$val['car_id']][$val['activityid']]['number'] = $val['number']; $data[$val['car_id']][$val['activityid']]['activityname'] = $val['activityname']; $data[$val['car_id']][$val['activityid']]['click'] += $val['click_' . $v]; $data[$val['car_id']][$val['activityid']]['ios'] += $val['ios_' . $v]; $data[$val['car_id']][$val['activityid']]['android'] += $val['android_' . $v]; } if ($output) { return $data; exit; } $this->smarty->assign("data", $data); //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*// $this->forward = "getactivitydata"; }
/** * * @do ajax 访问人数 uv数据 * * @pageview public * @author Nick * @copyright rockhippo * @param - * @return - * */ public function ajaxUVpageviewAction() { $PSys_PageviewModel = new PSys_PageviewModel(); $where = array(); $fastSearch = reqnum("fastSearch", 0); //快速查询 $dataStatusFS = reqnum("datastatusFS", 1); //快速查询合并、比较筛选按钮 1为合并 2为比较 默认合并 switch ($fastSearch) { case 1: //当天 $date = date("Y-m-d"); $data = array(); //x轴数据 $data['xv'] = array('00' => '0 hour', '01' => '1 hour', '02' => '2 hour', '03' => '3 hour', '04' => '4 hour', '05' => '5 hour', '06' => '6 hour', '07' => '7 hour', '08' => '8 hour', '09' => '9 hour', '10' => '10 hour', '11' => '11 hour', '12' => '12 hour', '13' => '13 hour', '14' => '14 hour', '15' => '15 hour', '16' => '16 hour', '17' => '17 hour', '18' => '18 hour', '19' => '19 hour', '20' => '20 hour', '21' => '21 hour', '22' => '22 hour', '23' => '23 hour'); if ($dataStatusFS == 1) { $group = "`hour`"; $dbname = "rha_aclog_hour"; $result = $PSys_PageviewModel->getDay($date, $group, $dbname); //合并的数据节点设置 $data['data'][1]['name'] = '所有站点'; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data'][1]['id'][] = $val['id']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } foreach ($data['xv'] as $k => $v) { $data['data'][1]['data'][] = $total[$k] != '' ? intval($total[$k]) : 0; } $data['data']['num'] = 1; } else { $group = "`hour`,`stationid`"; $dbname = "rha_aclog_hour"; $result = $PSys_PageviewModel->getDay($date, $group, $dbname); foreach ($result as $key => $val) { $total[$val['stationid']][$val['date']] = $val['total']; //$data['data'][$val['stationid']]['data'][] = intval($val['total']); $data['data'][$val['stationid']]['id'][] = $val['id']; $data['data']['table'][$val['stationid']][] = array('date' => $val['date'], 'total' => $val['total']); } //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); $stationChoice[] = $val['id']; foreach ($data['xv'] as $k => $v) { $data['data'][$val['id']]['data'][] = $total[$val['id']][$k] != '' ? intval($total[$val['id']][$k]) : 0; } } unset($data['data'][0]); unset($data['data']['table'][0]); $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("小时", "人数"); //table 栏目提示 array按顺序 break; case 2: //本周 $bdate = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y"))); $edate = date("Y-m-d", mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y"))); if (date("N", strtotime($bdate)) == 1) { $data = array(); $data['error'] = 'WEEKNODATA'; break; } $data = array(); if ($dataStatusFS == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= 7; $i++) { $data['xv'][] = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y"))); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][] = $total[date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y")))] ? intval($total[date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y")))]) : 0; } $data['data']['num'] = 1; $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); $stationChoice[] = $val['id']; } //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 1; $i <= 7; $i++) { $data['xv'][] = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y"))); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[$val['id']][date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y")))] ? intval($total[$val['id']][date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + $i, date("Y")))]) : 0; } } $data['data']['num'] = count($station['allrow']); $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 } break; case 3: //本月 $bdate = date("Y-m-d", mktime(0, 0, 0, date("m"), 1, date("Y"))); $edate = date("Y-m-d", mktime(23, 59, 59, date("m"), date("t"), date("Y"))); if (date("j") == 1) { $data = array(); $data['error'] = 'MONTHNODATA'; break; } $data = array(); if ($dataStatusFS == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; //遍历数据 foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= date("t"); $i++) { $data['xv'][] = date("d", mktime(0, 0, 0, date("m"), $i, date("Y"))); $data['data'][1]['data'][] = $total[date("Y-m-d", mktime(0, 0, 0, date("m"), $i, date("Y")))] ? intval($total[date("Y-m-d", mktime(0, 0, 0, date("m"), $i, date("Y")))]) : 0; } $data['data']['num'] = 1; $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = array(); $stationChoice[] = $val['id']; } //遍历数据 foreach ($result as $key => $val) { $total[$val['date']][$val['station']] = $val['total']; $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= date("t"); $i++) { $data['xv'][] = date("d", mktime(0, 0, 0, date("m"), $i, date("Y"))); //遍历数据 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[date("Y-m-d", mktime(0, 0, 0, date("m"), $i, date("Y")))][$val['id']] == '' ? 0 : intval($total[date("Y-m-d", mktime(0, 0, 0, date("m"), $i, date("Y")))][$val['id']]); } } $data['data']['num'] = count($station['allrow']); $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 } break; default: $dateSearch = reqstr("dateSearch", ""); $datastatus = reqnum("datastatus", 1); $stationC = reqarray("stationC"); $screening['station'] = ""; $stationChoice = array(); if ($stationC == array()) { //若为空则为不排除站点 foreach ($station['allrow'] as $key => $val) { $screening['station'] .= '<a class="btn" id="close-station-' . $val['id'] . '" onclick="screeningSpan(\'close-station\',' . $val['id'] . ');">' . $val['stationname'] . ' <i class="icon-remove"></i><input type="hidden" name="stationCheck[]" value="' . $val['id'] . '" /></a> '; $stationChoice[] = $val['id']; //选中的站点 } } else { foreach ($station['allrow'] as $key => $val) { if (in_array($val['id'], $stationC)) { $screening['station'] .= '<a class="btn" id="close-station-' . $val['id'] . '" onclick="screeningSpan(\'close-station\',' . $val['id'] . ');">' . $val['stationname'] . ' <i class="icon-remove"></i><input type="hidden" name="stationCheck[]" value="' . $val['id'] . '" /></a> '; $stationChoice[] = $val['id']; //选中的站点 } } } switch ($dateSearch) { case "oneday": $date = reqstr("oneday"); $data = array(); //x轴数据 $data['xv'] = array('00' => '0 hour', '01' => '1 hour', '02' => '2 hour', '03' => '3 hour', '04' => '4 hour', '05' => '5 hour', '06' => '6 hour', '07' => '7 hour', '08' => '8 hour', '09' => '9 hour', '10' => '10 hour', '11' => '11 hour', '12' => '12 hour', '13' => '13 hour', '14' => '14 hour', '15' => '15 hour', '16' => '16 hour', '17' => '17 hour', '18' => '18 hour', '19' => '19 hour', '20' => '20 hour', '21' => '21 hour', '22' => '22 hour', '23' => '23 hour'); if ($datastatus == 1) { $group = "`hour`"; $dbname = "rha_aclog_hour"; $result = $PSys_PageviewModel->getDay($date, $group, $dbname, $stationChoice); //合并的数据节点设置 $data['data'][1]['name'] = '所有站点'; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data'][1]['id'][] = $val['id']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } foreach ($data['xv'] as $k => $v) { $data['data'][1]['data'][] = $total[$k] != '' ? intval($total[$k]) : 0; } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; } else { $group = "`hour`,`stationid`"; $dbname = "rha_aclog_hour"; $result = $PSys_PageviewModel->getDay($date, $group, $dbname, $stationChoice); foreach ($result as $key => $val) { $total[$val['stationid']][$val['date']] = $val['total']; //$data['data'][$val['stationid']]['data'][] = intval($val['total']); $data['data'][$val['stationid']]['id'][] = $val['id']; $data['data']['table'][$val['stationid']][] = array('date' => $val['date'], 'total' => $val['total']); } //重过滤$station $where = array(); $where['id_IN'] = $stationChoice; $order = "id ASC"; $field = "id,stationname"; $station = $PSys_PageviewModel->GetList($where, $order, 0, 0, $field, "rha_station"); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); foreach ($data['xv'] as $k => $v) { $data['data'][$val['id']]['data'][] = $total[$val['id']][$k] != '' ? intval($total[$val['id']][$k]) : 0; } } unset($data['data'][0]); unset($data['data']['table'][0]); $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("小时", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">单日/' . $date . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="oneday" /><input type="hidden" name="oneday" value="' . $date . '" /></a> '; break; case "manyday": $bdate = reqstr("bmanyday"); $edate = reqstr("emanyday"); //计算天数差 $Days = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice); //print_r($result); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 0; $i <= $Days; $i++) { $day = $i; $data['xv'][] = date("Y-m-d", strtotime("{$bdate} +{$day} day")); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][] = $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); } //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 0; $i <= $Days; $i++) { $day = $i; $data['xv'][] = date("Y-m-d", strtotime("{$bdate} +{$day} day")); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">多日/' . $bdate . ' ~ ' . $edate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="manyday" /><input type="hidden" name="manyday" value="' . $date . '" /></a> '; break; case "oneweek": $day = reqstr("oneweek"); $edate = date('Y-m-d', strtotime("{$day} Sunday")); $bdate = date('Y-m-d', strtotime("{$edate} -6 days")); //计算天数差 $Days = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24); if (date("N", strtotime($bdate)) == 1 && $bdate == date("Y-m-d")) { $data = array(); $data['error'] = 'WEEKNODATA'; break; } $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 0; $i <= $Days; $i++) { $day = $i; $data['xv'][] = date("Y-m-d", strtotime("{$bdate} +{$day} day")); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][] = $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); } //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 0; $i <= $Days; $i++) { $day = $i; $data['xv'][] = date("Y-m-d", strtotime("{$bdate} +{$day} day")); //$data['data'][1]['data'][] = intval($result[$i-1]['total']); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">单周/' . $bdate . ' ~ ' . $edate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="oneweek" /><input type="hidden" name="oneweek" value="' . $date . '" /></a> '; break; case "manyweek": $bday = reqstr("bmanyweek"); $edate2 = date('Y-m-d', strtotime("{$bday} Sunday")); $bdate = date('Y-m-d', strtotime("{$edate2} -6 days")); $eday = reqstr("emanyweek"); $edate = date('Y-m-d', strtotime("{$eday} Sunday")); $bdate2 = date('Y-m-d', strtotime("{$edate} -6 days")); //计算周数差 $Weeks = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24 / 7); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 0; $i < $Weeks; $i++) { for ($j = 1; $j <= 7; $j++) { $day = $i * 7 + $j - 1; if ($j == 1) { $data['xv'][$i] = date("Y/m/d", strtotime("{$bdate} +{$day} day")); } if ($j == 7) { $data['xv'][$i] .= ' - ' . date("m/d", strtotime("{$bdate} +{$day} day")); } //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][$i] += $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); } //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 0; $i < $Weeks; $i++) { for ($j = 1; $j <= 7; $j++) { $day = $i * 7 + $j - 1; if ($j == 1) { $data['xv'][$i] = date("Y/m/d", strtotime("{$bdate} +{$day} day")); } if ($j == 7) { $data['xv'][$i] .= ' - ' . date("m/d", strtotime("{$bdate} +{$day} day")); } //to do ..... 2周还是读天数表 see you tomorrow //$data['data'][1]['data'][] = intval($result[$i-1]['total']); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][$i] += $total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">多周/' . $bdate . ' ~ ' . $edate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="manyweek" /><input type="hidden" name="manyweek" value="' . $date . '" /></a> '; break; case "onemonth": $date = reqstr("onemonth"); $bdate = date("Y-m-01", strtotime($date)); $edate = date("Y-m-d", strtotime("{$bdate} +1 month -1 day")); $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; //遍历数据 foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; $data['data']['table'][1][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= date("t", strtotime($date)); $i++) { $day = $i - 1; $data['xv'][] = date("d", strtotime("{$date} + {$day} day")); $data['data'][1]['data'][] = $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))]) : 0; } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = array(); } //遍历数据 foreach ($result as $key => $val) { $total[$val['date']][$val['station']] = $val['total']; $data['data']['table'][$val['station']][] = array('date' => $val['date'], 'total' => $val['total']); } for ($i = 1; $i <= date("t", strtotime($date)); $i++) { $day = $i - 1; $data['xv'][] = date("d", strtotime("{$date} + {$day} day")); //遍历数据 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][] = $total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))][$val['id']] ? intval($total[date("Y-m-d", strtotime("{$bdate} +{$day} day"))][$val['id']]) : 0; } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">单月/' . $bdate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="onemonth" /><input type="hidden" name="onemonth" value="' . $date . '" /></a> '; break; case "manymonth": $bday = reqstr("bmanymonth"); $bdate = date("Y-m-01", strtotime($bday)); $eday = reqstr("emanymonth"); $edate = date("Y-m-d", strtotime("{$eday} +1 month -1 day")); //计算月数差 $Months = (date("Y", strtotime($eday)) - date("Y", strtotime($bday))) * 12 + (date("m", strtotime($eday)) - date("m", strtotime($bday))) + 1; for ($i = 0; $i < $Months; $i++) { $dateArr[$i] = date("Y-m", strtotime("{$bday} +{$i} month")); } $data = array(); if ($datastatus == 1) { $group = "date"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); //x轴数据 $data['xv'] = array(); $data['data'][1]['name'] = "所有站点"; $data['data'][1]['marker'] = "square"; foreach ($result as $key => $val) { $total[$val['date']] = $val['total']; for ($i = 0; $i < count($dateArr); $i++) { if ($dateArr[$i] == date("Y-m", strtotime($val['date']))) { $data['data']['table'][1][$i]['date'] = $dateArr[$i]; $data['data']['table'][1][$i]['total'] += $val['total']; } } } $day = 0; for ($i = 0; $i < $Months; $i++) { $num = date("t", strtotime("{$bday} +{$i} month")); for ($j = 1; $j <= $num; $j++) { if ($j == 1) { $data['xv'][$i] = date("Y/m", strtotime("{$bday} +{$i} month")); } //echo $day."<br/>"; //$data['data'][1]['data'][] = intval($result[$i-1]['total']); $data['data'][1]['data'][$i] += $total[date("Y-m-d", strtotime("{$bday} +{$day} day"))] ? intval($total[date("Y-m-d", strtotime("{$bday} +{$day} day"))]) : 0; $day++; } } $data['data']['num'] = 1; $stationChoice = array(); $stationChoice[0] = 1; //to do... } else { $group = "`date`,`station`"; $dbname = "rha_wifi_daily"; $result = $PSys_PageviewModel->getWeek($bdate, $edate, $group, $dbname); foreach ($result as $key => $val) { $total[$val['station']][$val['date']] = $val['total']; //$data['data'][$val['station']]['data'][] = intval($val['total']); //$data['data']['table'][$val['station']][] = array('date'=>$val['date'],'total'=>$val['total']); for ($i = 0; $i < count($dateArr); $i++) { //创建初始array if ($data['data']['table'][$val['station']][$i]['date'] == '') { $data['data']['table'][$val['station']][$i]['date'] = $dateArr[$i]; $data['data']['table'][$val['station']][$i]['total'] = 0; } if ($dateArr[$i] == date("Y-m", strtotime($val['date']))) { $data['data']['table'][$val['station']][$i]['date'] = $dateArr[$i]; $data['data']['table'][$val['station']][$i]['total'] += $val['total']; } } } //x轴数据 $data['xv'] = array(); //比较的数据节点设置 foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['name'] = $val['stationname']; $data['data'][$val['id']]['marker'] = "square"; $data['data']['table'][$val['id']] = is_array($data['data']['table'][$val['id']]) ? $data['data']['table'][$val['id']] : array(); } $day = 0; //print_r($total[1][date("Y-m-d",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")))]); for ($i = 0; $i < $Months; $i++) { $num = date("t", strtotime("{$bday} +{$i} month")); for ($j = 1; $j <= $num; $j++) { if ($j == 1) { $data['xv'][$i] = date("Y/m", strtotime("{$bday} +{$i} month")); } //echo $day."<br/>"; //$data['data'][1]['data'][] = intval($result[$i-1]['total']); foreach ($station['allrow'] as $key => $val) { $data['data'][$val['id']]['data'][$i] += $total[$val['id']][date("Y-m-d", strtotime("{$bday} +{$day} day"))] ? intval($total[$val['id']][date("Y-m-d", strtotime("{$bday} +{$day} day"))]) : 0; } $day++; } } $data['data']['num'] = count($station['allrow']); } $data['data']['key'] = array("日期", "人数"); //table 栏目提示 array按顺序 $data['screening']['date'] = '<a class="btn" onclick="screeningSpan(\'close-date\');">多月/' . $bdate . "~" . $edate . ' <i class="icon-remove"></i><input type="hidden" name="dateSearch" value="manymonth" /><input type="hidden" name="manymonth" value="' . $date . '" /></a> '; break; } if (!$data['error']) { $data['screening']['station'] = $screening['station']; } else { $data['screening']['station'] = array(); } } //将所有default = 0 的 都要写一遍 to do ... if (!$stationChoice) { $stationChoice[0] = 1; } if (!$data['error']) { $data['data']['station'] = $stationChoice; } else { $data['data']['station'] = array(); } die(json_encode($data)); }
public function tableSynAction() { if ($_POST['ispost']) { $cites = reqarray('citeId'); $tableName = reqarray('tableName'); $error = $this->DBsynAction($cites, $tableName); if ($error['error'] == true) { echo "<script>alert('同步完成')</script>"; } else { echo "<script>alert('同步有错误--" . $error['ercontent'] . "')</script>"; } echo "<script>window.location.href='/syn/sqlIndex'</script>"; exit; } }