Example #1
0
 public function editAction()
 {
     $id = reqnum('id', '');
     if (!$id) {
         return;
     }
     $m = new Psys_SimModel();
     if ($_POST) {
         if ($_POST['activation'] && !$_POST['renewaldate']) {
             $k = $_POST['frequency'] == 4 ? ($_POST['frequency'] * $_POST['frequency'] + 2 * $_POST['frequency']) / 2 : ($_POST['frequency'] * $_POST['frequency'] + $_POST['frequency']) / 2;
             $_POST['renewaldate'] = $_POST['activation'] ? date('Y-m-d', strtotime("+{$k} month", strtotime($_POST['activation']))) : '';
         }
         $r = $m->UpdateOne($_POST, array('id' => $id));
         if ($r > 0) {
             echo "<script>alert('成功');</script>";
             echo "<meta http-equiv='Refresh' content='0;URL=/sim/index'>";
             $this->forward = 'add';
             return;
         }
         echo "<script>alert('失败');</script>";
     }
     $data = $m->GetOne(array('id' => $id));
     foreach ($data as $key => $var) {
         $this->smarty->assign($key, $var);
     }
     $this->forward = "edit";
 }
Example #2
0
 /**
  * 列表
  */
 public function indexAction()
 {
     $page = reqnum("page", 1);
     $pagesize = reqnum("pagesize", 100);
     $nt = new PSys_RegionModel();
     $list = $nt->GetList('region_type =  2', ' region_id ASC', $page, $pagesize, "*");
     self::inidate($list['allnum'], $page, $pagesize, count($list['allrow']));
     $this->smarty->assign('list', $list['allrow']);
     $this->smarty->assign('psys_base_url', PSYS_BASE_URL);
     $this->forward = "index";
 }
Example #3
0
 public function __construct($prjname = 'psys')
 {
     global $G_X;
     $prjname = $prjname == '' ? $G_X['prjstr'] : $prjname;
     if (!in_array($prjname, array_keys($G_X['allow_project']))) {
         header("Location:/html/noproject.html");
         return;
     }
     if (reqnum("ajax", 0) == 1) {
         $this->isajax = true;
     }
     $this->smarty = new Smarty();
     $this->SetUserInfo();
     $this->SetTemplate($prjname);
 }
Example #4
0
 /**
  *
  * @do ajax 获取用户列表数据
  *
  * @member public 
  * @author jerry
  * @copyright rockhippo
  * @param -
  * @return html
  *
  */
 public function ajaxMemberHtmlAction()
 {
     $start = reqstr("start", "");
     $end = reqstr("end", "");
     $call = reqstr("call", "");
     $PSys_memberModel = new PSys_MemberModel();
     $page = reqnum('page', 1);
     $pagesize = 20;
     $where = array();
     $where["regfrom"] = 2;
     if ($start) {
         $where["regtime_>="] = strtotime($start);
     }
     if ($end) {
         $where["regtime_<="] = strtotime($end);
     }
     if ($call) {
         $where["phoneno_like"] = $call;
     }
     $order = "regtime DESC";
     $result = $PSys_memberModel->GetList($where, $order, $page, $pagesize, "username,nickname,phoneno,sex,regtime,regip,trainno");
     if ($result['allnum'] % $pagesize) {
         $last = floor($result['allnum'] / $pagesize) + 1;
     } else {
         $last = $result['allnum'] / $pagesize;
     }
     if ($page > 1) {
         $this->smarty->assign("pre", $page - 1);
     } else {
         $this->smarty->assign("pre", 1);
     }
     if ($page == $last) {
         $this->smarty->assign("next", $last);
     } else {
         $this->smarty->assign("next", $page + 1);
     }
     $PSys_PointModel = new PSys_PointModel();
     foreach ($result["allrow"] as $k => $v) {
         $cond['username'] = $v['username'];
         $pointsRs = $PSys_PointModel->GetOne($cond, 'points', 'rhi_account');
         $result["allrow"][$k]['points'] = $pointsRs['points'];
         $result["allrow"][$k]['key'] = $k + 1;
     }
     $this->smarty->assign("last", $last);
     $this->smarty->assign("data", $result["allrow"]);
     $this->smarty->assign("total_num", $result["allnum"]);
     $this->forward = "ajaxMember";
 }
Example #5
0
 public function pointslistAction()
 {
     $page = reqnum("page", 1);
     $pagesize = reqnum("pagesize", 20);
     $username = reqstr('username', '');
     $model = new Psys_PointsModel();
     $where = array();
     if (!empty($username)) {
         $where['username'] = username;
     }
     $orderby = '';
     $field = '*';
     $points_list = $model->GetList($where, $orderby, $page, $pagesize, $field);
     if (!empty($points_list['allrow'])) {
         foreach ($points_list['allrow'] as &$points) {
             //获取城市信息
             $points['ctime'] = date('Y-m-d H:i:s', $points['ctime']);
         }
     }
     self::inidate($points_list['allnum'], $page, $pagesize, count($points_list['allrow']));
     $this->smarty->assign('points_list', $points_list['allrow']);
     $this->forward = 'pointslist';
 }
Example #6
0
 /**
  * 手机品牌、浏览器、系统排行数据
  */
 public function mobilerankdataAction()
 {
     $data = reqstr('data');
     if (!$data) {
         return;
     }
     $page = reqnum('page', 1);
     $pagesize = 10;
     $data = urldecode($data);
     $info = array();
     parse_str($data, $info);
     $date = (int) $info['date'] ? (int) $info['date'] : 7;
     //默认是查出7天的数据
     $sdate = trim($info['sdate']) ? trim($info['sdate']) : '';
     $edate = trim($info['edate']) ? trim($info['edate']) : '';
     $station = (int) $info['station'] ? (int) $info['station'] : 0;
     // 0 表示查询出所有车站
     $type = trim($info['type']) ? trim($info['type']) : 'mobile';
     //默认是手机
     if (!$sdate || !$edate) {
         $edate = date('Y-m-d');
         $sdate = date('Y-m-d', strtotime("-{$date} day"));
     }
     $sdate = str_replace('-', '_', $sdate);
     $edate = str_replace('-', '_', $edate);
     $nt = new Psys_ResourceModel();
     $data = $nt->MobileRankData($sdate, $edate, $station, $type, $page, $pagesize);
     $data_graph = $nt->MobileRankData($sdate, $edate, $station, $type, $page, $pagesize, 1);
     $paging = $this->paging($data['allnum'], $page, $pagesize, count($data['allrow']));
     $stations = $nt->station();
     $total = 0;
     foreach ($data['allrow'] as &$v) {
         if ($station) {
             $v['stationname'] = $this->getstationname($stations, $station);
         } else {
             $v['stationname'] = 'ALL';
         }
         $total += $v['num'];
     }
     $phonebrand = array('mobile' => '手机品牌', 'browser' => '浏览器', 'sys' => '手机系统');
     $datas[0]['type'] = 'pie';
     $datas[0]['name'] = $phonebrand[$type] . '使用占比';
     foreach ($data_graph['allrow'] as $v1) {
         $datas[0]['data'][] = array($v1['name'], (double) round($v1['num'] / $total * 100, 2));
     }
     $result['y_cat'] = $datas;
     return array('table' => $data['allrow'], 'paging' => $paging, 'graph' => $result);
 }
Example #7
0
 public function tasksAction()
 {
     $appkey = reqstr('appkey', '');
     $username = reqstr('username', '');
     $taskid = reqstr('taskid', '');
     $indate = reqstr('indate', 0);
     $todate = reqstr('todate', 0);
     $where = '1=1 ';
     if (!empty($appkey)) {
         $where .= " and appkey='" . $appkey . "'";
     }
     if (!empty($taskid)) {
         $where .= ' and taskid=' . $taskid;
     }
     if (!empty($username)) {
         $where .= " and username='******'";
     }
     if ($todate > 0) {
         $where .= ' and ctime > ' . strtotime($indate);
     }
     if ($indate > 0) {
         $where .= ' and ctime <= ' . strtotime($todate);
     }
     $page = reqnum("page", 1);
     $pagesize = reqnum("pagesize", 10);
     $applist = array('61' => '开心消消乐', '49' => '消灭星星2015', '47' => '萌宠泡泡龙', '68' => '凤凰视频', '69' => '哪吒看书', '70' => '微看点');
     $m = new Psys_UserModel();
     $list = $m->GetList($where, 'id DESC', $page, $pagesize, "*", 'rhi_usertask');
     foreach ($list['allrow'] as $key => &$var) {
         MsgInfoConst::GetAppKey($var['appkey'], $err);
         $var['appkey'] = $err['msg'];
         $var['taskid'] = $applist[$var['taskid']];
     }
     $s_arr = $arr_xip_fw[$appkey];
     self::inidate($list['allnum'], $page, $pagesize, count($list['allrow']));
     $this->smarty->assign('appkeys', MsgInfoConst::$appkey_arr);
     //站点列表
     $this->smarty->assign('tasks', $applist);
     //站点列表
     $this->smarty->assign('list', $list['allrow']);
     $this->smarty->assign('psys_base_url', PSYS_BASE_URL);
     $this->forward = "tasks";
 }
 /**
  *
  * @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>&nbsp;&nbsp;&nbsp;';
                     $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>&nbsp;&nbsp;&nbsp;';
                         $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>&nbsp;&nbsp;&nbsp;';
                     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>&nbsp;&nbsp;&nbsp;';
                     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>&nbsp;&nbsp;&nbsp;';
                     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>&nbsp;&nbsp;&nbsp;';
                     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>&nbsp;&nbsp;&nbsp;';
                     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>&nbsp;&nbsp;&nbsp;';
                     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));
 }
Example #9
0
 public function uploadfileAction()
 {
     $istmp = reqnum('istmp', 0);
     //require_once PUBLIC_PATH.'php'.DIRECTORY_SEPARATOR.'JSON.php';
     require_once PUBLIC_PATH . 'psys/php/JSON.php';
     //文件保存目录路径
     $save_path = NEWS_PATH;
     //文件保存目录URL
     $save_url = '/';
     //定义允许上传的文件扩展名
     $ext_arr = array('image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'), 'flash' => array('swf', 'flv'), 'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'), 'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2'));
     //最大文件大小
     $max_size = 1000000;
     //$save_path = realpath($save_path) . '/';
     //PHP上传失败
     if (!empty($_FILES['imgFile']['error'])) {
         switch ($_FILES['imgFile']['error']) {
             case '1':
                 $error = '超过php.ini允许的大小。';
                 break;
             case '2':
                 $error = '超过表单允许的大小。';
                 break;
             case '3':
                 $error = '图片只有部分被上传。';
                 break;
             case '4':
                 $error = '请选择图片。';
                 break;
             case '6':
                 $error = '找不到临时目录。';
                 break;
             case '7':
                 $error = '写文件到硬盘出错。';
                 break;
             case '8':
                 $error = 'File upload stopped by extension。';
                 break;
             case '999':
             default:
                 $error = '未知错误。';
         }
         alert($error);
     }
     //有上传文件时
     if (empty($_FILES) === false) {
         //原文件名
         $file_name = $_FILES['imgFile']['name'];
         //服务器上临时文件名
         $tmp_name = $_FILES['imgFile']['tmp_name'];
         //文件大小
         $file_size = $_FILES['imgFile']['size'];
         //检查文件名
         if (!$file_name) {
             $this->alert("请选择文件。");
         }
         //检查目录
         if (@is_dir($save_path) === false) {
             if (!mkdir($save_path)) {
                 $this->alert("上传目录不存在。");
             }
         }
         //检查目录写权限
         if (@is_writable($save_path) === false) {
             $this->alert("上传目录没有写权限。");
         }
         //检查是否已上传
         if (@is_uploaded_file($tmp_name) === false) {
             $this->alert("上传失败。");
         }
         //检查文件大小
         if ($file_size > $max_size) {
             $this->alert("上传文件大小超过限制。");
         }
         //检查目录名
         $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);
         if (empty($ext_arr[$dir_name])) {
             $this->alert("目录名不正确。");
         }
         //获得文件扩展名
         $temp_arr = explode(".", $file_name);
         $file_ext = array_pop($temp_arr);
         $file_ext = trim($file_ext);
         $file_ext = strtolower($file_ext);
         //检查扩展名
         if (in_array($file_ext, $ext_arr[$dir_name]) === false) {
             $this->alert("上传文件扩展名是不允许的扩展名。\n只允许" . implode(",", $ext_arr[$dir_name]) . "格式。");
         }
         //创建文件夹
         if ($dir_name !== '') {
             $save_path .= $dir_name . "/";
             $save_url .= $dir_name . "/";
             if (!file_exists($save_path)) {
                 mkdir($save_path);
             }
         }
         $ymd = date("Ymd");
         $save_path .= $ymd . "/";
         $save_url .= $ymd . "/";
         if (!file_exists($save_path)) {
             mkdir($save_path);
         }
         //新文件名
         $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext;
         //移动文件
         $file_path = $save_path . $new_file_name;
         if (move_uploaded_file($tmp_name, $file_path) === false) {
             $this->alert("上传文件失败。");
         }
         @chmod($file_path, 0644);
         $file_url = $save_url . $new_file_name;
         if ($istmp) {
             require_once COMMON_PATH . "XThumb.php";
             $imgtmp = new XThumb();
             $target = $save_path . 'tmp_' . $new_file_name;
             $imgtmp->imgZoom($file_path, '180', '120', $target);
             $file_url = $save_url . 'tmp_' . $new_file_name;
         }
         header('Content-type: text/html; charset=UTF-8');
         $json = new Services_JSON();
         echo $json->encode(array('error' => 0, 'url' => $file_url));
         exit;
     }
 }
Example #10
0
 /**
  * 上传四张全屏广告图片  */
 function uploadalbumAction()
 {
     $num = reqnum("num", 0);
     $files = array();
     foreach ($_FILES['file'] as $k => $v) {
         foreach ($v as $key => $val) {
             $files[$key][$k] = $val;
         }
     }
     //图片长宽,大小限制
     $file_maxsize = '128000';
     //上传错误提示
     $errorMsg = array('0' => '文件上传成功', '1' => '文件超出了服务器配置大小', '2' => '文件超出了表单配置大小', '3' => '仅部分文件上传', '4' => '没有找到上传文件,请选择文件', '5' => '上传文件大小为零', '6' => '未找到临时文件夹', '7' => '临时文件夹写入失败', '8' => '服务器文件上传扩展未开启', '9' => '上传图片规格不符合要求', '10' => '存放文件夹建立失败', '11' => '上传文件移动失败', '12' => '文件格式错误');
     $dir = ALBUM_PATH;
     //返回数据
     $arr = array();
     //json数据返回
     $returnJson = '';
     //上传详情
     $msg = '';
     //成功与否标志
     $flag = true;
     foreach ($files as $k => $file) {
         //文件后缀名
         $fileType = strtoupper(substr(strrchr($file['name'], '.'), 1));
         $img_info = getimagesize($file['tmp_name']);
         //上传文件名
         $name = 'alb_' . uniqid() . '.' . $fileType;
         $arr['img_name'] = $name;
         $arr['img_x'] = $img_info[0];
         $arr['img_y'] = $img_info[1];
         if ($file['error'] == 0) {
             if (!is_dir($dir)) {
                 if (!mkdir($dir, 0777, true)) {
                     $flag = false;
                     $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[10] : $file['name'] . $errorMsg[10];
                 }
             } else {
                 if ($fileType != 'JPEG' && $fileType != 'TIFF' && $fileType != 'BMP' && $fileType != 'GIF' && $fileType != 'PNG' && $fileType != 'JPG') {
                     $flag = false;
                     $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[11] : $file['name'] . $errorMsg[11];
                 } else {
                     if ($arr['img_x'] >= '1024' || $arr['img_y'] >= '680') {
                         $flag = false;
                         $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[9] : $file['name'] . $errorMsg[9];
                     } else {
                         $savePath = $dir . $name;
                         if (!move_uploaded_file($file['tmp_name'], $savePath)) {
                             $flag = false;
                             $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[11] : $file['name'] . $errorMsg[11];
                         }
                     }
                 }
             }
         } else {
             $flag = false;
             $msg = $msg ? $msg . ',' . $file['name'] . $errorMsg[$file['error']] : $file['name'] . $errorMsg[$file['error']];
             $arr['result'] = 'error';
             $arr['msg'] = $errorMsg[$file['error']];
         }
     }
     if ($flag) {
         $arr['result'] = 'success';
         $arr['msg'] = $errorMsg[$file['error']];
         $arr['num'] = $num;
     } else {
         $arr['result'] = 'error';
         $arr['msg'] = $msg;
         $arr['num'] = $num;
     }
     //json返回
     $returnJson = json_encode($arr);
     echo "<script type='text/javascript'>window.parent.callbackFunction('" . $returnJson . "');</script>";
 }
Example #11
0
 public function stationeditAction()
 {
     $model = new Psys_TripModel();
     $model->SetDb("db-rht_train");
     $ispost = reqnum('ispost', 0);
     if ($ispost) {
         $id = reqnum('id', 0);
         $sno = reqstr('sno');
         $fz = reqstr('fz');
         $dz = reqstr('dz');
         $stime = reqstr('stime');
         $dtime = reqstr('dtime');
         $dzxh = reqstr('dzxh');
         $isdz = reqstr('isdz');
         $flag = reqstr('flag');
         $appkey = reqstr('appkey');
         $data = array('sno' => $sno, 'fz' => $fz, 'dz' => $dz, 'stime' => $stime, 'dtime' => $dtime, 'dzxh' => $dzxh, 'isdz' => $isdz, 'flag' => $flag, 'appkey' => $appkey);
         if ($id > 0) {
             $where = array('id' => $id);
             $re = $model->UpdateOne($data, $where, "rht_station");
             $msg = '修改';
         } else {
             $re = $model->AddOne($data, "rht_station");
             $msg = '添加';
         }
         if ($re) {
             echo '<script>alert("' . $msg . '成功,反回列表!");window.location.href="/trip/stlist?trainno=' . $sno . '"</script>';
             exit;
         }
     }
     $id = reqnum('id', 0);
     $station = array();
     if ($id > 0) {
         $where = array('id' => $id);
         $station = $model->GetOne($where, "*", "rht_station");
         $this->smarty->assign('action', 'edit');
     } else {
         $this->smarty->assign('action', 'add');
     }
     $this->smarty->assign('station', $station);
     $this->forward = "add";
 }
Example #12
0
 public function expAction()
 {
     $orderid = reqstr('orderid', '');
     $username = reqstr('username', '');
     $id = reqstr('id', '');
     $where = '1=1 and flag=1';
     if (!empty($orderid)) {
         $where .= " and orderid='" . $orderid . "'";
     }
     if (!empty($username)) {
         $where .= ' and username='******',');
         $where .= " and id in (" . $id . ")";
     }
     $page = reqnum("page", 1);
     $pagesize = reqnum("pagesize", 1000);
     $m = new Psys_UserModel();
     $list = $m->GetList($where, '', $page, $pagesize, "id,username,mark,goodsid,num,ctime", 'rhi_mallorder');
     global $G_X;
     $filestr = 'charge' . date('YmdHis') . uniqid() . '.csv';
     $filename = PUBLIC_PATH . $G_X['prjstr'] . DIRECTORY_SEPARATOR . $filestr;
     //设置文件名
     if (!file_exists($filename)) {
         touch($filename);
         chmod($filename, 0777);
     }
     $fp = fopen($filename, 'w');
     $title = array("序号", "电话号码", '发放号码', '商品id', '数目', '兑换时间');
     foreach ($title as &$value) {
         $value = iconv('utf-8', 'gb2312', $value);
     }
     fputcsv($fp, $title);
     if ($list['allrow']) {
         foreach ($list['allrow'] as &$row) {
             $row['ctime'] = date('Y-m-d H:i:s', $row['ctime']);
             if (fputcsv($fp, $row)) {
                 $m->UpdateOne(array('ifuse' => 1), array('id' => $row['id']), 'rhi_mallorder');
             }
         }
     }
     fclose($fp);
     // 		header('Content-Type: application/octet-stream');
     // 		header('Content-Disposition: attachment; filename=' . $filestr);
     // 		header('Content-Transfer-Encoding: binary');
     // 		header('Content-Length: ' . filesize($fileName));
     // 		readfile($filename);
     return array('status' => 1, 'filename' => $filestr);
 }
Example #13
0
 /**
  *
  * @do 导出人寿用户数据
  *
  * @pingan public 
  * @author jerry
  * @copyright rockhippo
  * @param -
  * @return -
  *
  */
 public function ajaxRensUserExportAction()
 {
     $start = reqstr("start", "");
     $end = reqstr("end", "");
     $page = reqnum('page', 1);
     $pagesize = 20;
     $order = "";
     $where = $stationArr = array();
     if ($start) {
         $where["create_time_>="] = strtotime($start);
     }
     if ($end) {
         $where["create_time_<"] = strtotime($end) + 24 * 3600;
     }
     $where['type'] = 206;
     $where['pid'] = 0;
     $PSys_PinganModel = new PSys_PinganModel();
     $PSys_PinganRule = new PSys_PinganRule();
     $stationlist = $PSys_PinganModel->GetList(array(), $order, 0, 0, "id,stationname,appkey", "rha_station");
     foreach ($stationlist['allrow'] as $k => $v) {
         $temp_key = $v['appkey'];
         $stationArr[$temp_key]['name'] = $v['stationname'];
     }
     $sex = $bx_type = array();
     $sex[1] = '男';
     $sex[2] = '女';
     $result = $PSys_PinganModel->GetList($where, 'create_time DESC', 0, 0, "*");
     foreach ($result['allrow'] as $k => $v) {
         $temp_key = $v['appkey'];
         $result['allrow'][$k]['station'] = $stationArr[$temp_key]['name'];
         $result['allrow'][$k]['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
         $temp_sex = $v['sex'];
         $result['allrow'][$k]['sex'] = $sex[$temp_sex];
     }
     //清空输出缓存
     ob_clean();
     $objPHPExcel = new PHPExcel();
     $objPHPExcel->getProperties()->setCreator("rockhippo")->setLastModifiedBy("jerry")->setTitle("人寿保单用户数据")->setSubject("人寿数据")->setDescription("")->setKeywords("excel")->setCategory("result file");
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', '日 期')->setCellValue('B1', '注册地点')->setCellValue('C1', '手机号')->setCellValue('D1', '姓名')->setCellValue('E1', '性别')->setCellValue('F1', '省份')->setCellValue('G1', '城市')->setCellValue('H1', '年龄');
     foreach ($result['allrow'] as $k => $v) {
         $num = $k + 2;
         $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $num, $v['create_time'])->setCellValue('B' . $num, $v['station'])->setCellValue('C' . $num, $v['mobile'])->setCellValue('D' . $num, $v['name'])->setCellValue('E' . $num, $v['sex'])->setCellValue('F' . $num, $v['sheng'])->setCellValue('G' . $num, $v['shi'])->setCellValue('H' . $num, $v['age']);
     }
     $objPHPExcel->getActiveSheet()->setTitle('User');
     $objPHPExcel->setActiveSheetIndex(0);
     $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
     $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
     $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
     $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
     $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
     $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
     $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);
     $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
     header('Content-Type: application/vnd.ms-excel');
     header('Content-Disposition: attachment;filename="人寿保单用户数据.xls"');
     header('Cache-Control: max-age=0');
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
     $objWriter->save('php://output');
     exit;
 }
Example #14
0
 /**
  * 会员解锁
  */
 public function keylockAction()
 {
     $id = reqnum('id', 0);
     if (!$id) {
         return;
     }
     $nt = new Psys_MemberUserModel();
     $res = $nt->UpdateOne(array('flag' => 1), array('id' => $id));
     header('location:/member/block');
 }
Example #15
0
 /**
  * 根据类型获取对应的车站或者汽车
  */
 public function getstationtypeAction()
 {
     //1火车站,1汽车站,3汽车上
     $bus = reqnum('stationtype', 1);
     //默认火车站
     $obj = new PSys_BusModel();
     $tb = 'rha_station';
     $obj->SetDb('rha_admin');
     $getfiled = 'id,stationname';
     switch ($bus) {
         case '1':
             $where = array('stationtype' => 1);
             break;
         case '2':
             $where = array('stationtype' => 2);
             break;
         case '3':
             $tb = 'rb_car';
             $obj->SetDb('bus_db');
             $getfiled = 'id,number';
             break;
     }
     $buses = $obj->GetList($where, '', 0, 0, $getfiled, $tb);
     if ($bus != 3) {
         foreach ($buses['allrow'] as &$v) {
             $v['number'] = $v['stationname'];
         }
     }
     $this->smarty->assign("buses", $buses['allrow']);
     $this->forward = 'buses';
 }
 /**
  * 广告展示详情
  */
 public function showadpvinfoAction()
 {
     $data = reqstr('data');
     // if (!$data) {
     // 	return;
     // }
     $page = reqnum('page', 1);
     $pagesize = 10;
     $data = urldecode($data);
     $info = array();
     parse_str($data, $info);
     $date = (int) $info['date'] ? (int) $info['date'] : 7;
     //默认是查出7天的数据
     $sdate = trim($info['sdate']) ? trim($info['sdate']) : '';
     $edate = trim($info['edate']) ? trim($info['edate']) : '';
     $station = (int) $info['station'] ? (int) $info['station'] : 0;
     // 0 表示查询出所有车站
     $adtype = trim($info['adtype']) ? trim($info['adtype']) : 'ad';
     //默认是广告1
     if (!$sdate || !$edate) {
         $edate = date('Y-m-d');
         $sdate = date('Y-m-d', strtotime("-{$date} day"));
     }
     //如果时间区间大于30天则按照30天计算
     $date_area = abs(strtotime($edate) - strtotime($sdate)) / 86400;
     if ($date_area > 30) {
         $sdate = date('Y-m-d', strtotime("-30 day"));
     }
     $sdate = str_replace('-', '_', $sdate);
     $edate = str_replace('-', '_', $edate);
     $nt = new Psys_StationModel();
     $data = $nt->ShowAdPvInfo($sdate, $edate, $station, $adtype, $page, $pagesize);
     $graphdata = $nt->ShowAdPvInfo($sdate, $edate, $station, $adtype, $page, $pagesize, 1);
     $paging = $this->paging($data['allnum'], $page, $pagesize, count($data['allrow']));
     /*------------------------------数据格式---------------------------------------------*/
     foreach ($data['allrow'] as $k => &$v) {
         $v['adname'] = $nt->GetAdName($v['detail'])['adname'];
     }
     $nts = new Psys_ResourceModel();
     foreach ($graphdata['allrow'] as $v1) {
         $adinfo = $nt->GetAdName($v1['detail']);
         $x_date = $x_cat[] = date('m/d', strtotime(str_replace('_', '-', $v1['date'])));
         $eventrecordinfo = $nts->EventRecordInfo($v1['date'], 5, $station);
         //返回特殊点的提示信息
         if (!empty($eventrecordinfo)) {
             $title = $eventrecordinfo['title'];
             $descript = $eventrecordinfo['descript'];
         } else {
             $title = '';
             $descript = '';
         }
         $datas[$adinfo['id']]['infos']['date' . $x_date]['title'] = $title;
         $datas[$adinfo['id']]['infos']['date' . $x_date]['descript'] = $descript;
         if (empty($eventrecordinfo)) {
             $datas[$adinfo['id']]['data'][] = (int) $v1['num'];
         } else {
             $datas[$adinfo['id']]['data'][] = array('y' => (int) $v1['num'], 'marker' => array('fillColor' => '#FF0000', 'lineColor' => '#FF0000', 'states' => array('hover' => array('fillColor' => '#FF0000', 'lineColor' => '#FF0000'))));
             //设置当前点鼠标经过的颜色
         }
         $datas[$adinfo['id']]['name'] = $adinfo['adname'];
     }
     /*------------------------------chart数据格式需要索引从0开始---------------------------------------------*/
     $j = 0;
     foreach (array_unique($x_cat) as $v_x) {
         $result['x_cat'][$j] = $v_x;
         $j++;
     }
     $i = 0;
     foreach ($datas as $val) {
         $datass[$i] = $val;
         if ($i > 0) {
             $datass[$i]['visible'] = false;
         }
         $i++;
     }
     $result['y_cat'] = $datass;
     $stations = $nt->station();
     if ($station) {
         $stationname = $this->getstationname($stations, $station);
     } else {
         $stationname = '所有车站';
     }
     return array('table' => $data['allrow'], 'graph' => $result, 'paging' => $paging, 'station' => $stationname);
 }
Example #17
0
 /**
  *
  * @do 删除菜单
  *
  * @access public 
  * @author Nick
  * @copyright rockhippo
  * @param -
  * @return -
  *
  */
 public function deleteAction()
 {
     $id = reqnum("id", 0);
     if ($id == 0) {
         $this->jump('The user id is error.', 'errors', '/user/index');
         exit;
     }
     if ($id == 1) {
         $this->jump('Admin can not be delete.', 'errors', '/user/index');
         exit;
     }
     //删除
     $PSys_UserModel = new PSys_UserModel();
     $return = $PSys_UserModel->DeleteUser($id);
     if ($return) {
         $this->operateLogs(1);
         $this->jump('Delete success.', 'success', '/user/index');
     } else {
         $this->operateLogs(0);
         $this->jump('Delete failed.', 'errors', '/user/index');
     }
     exit;
 }
Example #18
0
 /**
  * 添加
  */
 public function addAction()
 {
     $traintype = array('K' => '快速', 'Z' => '直达特快', '' => '其他', 'T' => '空调特快', 'D' => '动车组', 'G' => '高速动车');
     $id = reqnum('id', 0);
     $ispost = reqnum('ispost', 0);
     $trainModel = new Psys_TrainModel();
     $one = array();
     if ($ispost == 1) {
         $rtn = array('result' => 'ERROR');
         $one['trainno'] = reqstr('checi', '');
         if ($one['trainno'] == '') {
             MsgInfoConst::GetMsg(2001, $rtn);
             return $rtn;
         } else {
             $one['trainno'] = str_ireplace("/", ",", trim($one['trainno'], ','));
             $one['trainno'] = ',' . $one['trainno'] . ',';
         }
         $one['traintype'] = reqstr('leixin', '');
         $one['bstation'] = reqstr('b_station', '');
         $one['btime'] = str_ireplace(':', ':', reqstr('btime_station', ''));
         $one['estation'] = reqstr('e_station', '');
         $one['etime'] = str_ireplace(':', ':', reqstr('etime_station', ''));
         $one['runtime'] = str_ireplace(':', ':', reqstr('runtime', ''));
         $one['price'] = reqstr('price', '');
         $one['mileage'] = reqstr('mileage', '');
         if ($id > 0) {
             $w = array('id' => $id);
             $res = $trainModel->UpdateOne($one, $w);
             $m = new Psys_ResModel();
             $m->Record($one, $res, 'db-rht_sync', 'trainno', 'rhs_downsync');
         } else {
             $res = $trainModel->AddOne($one);
             $m = new Psys_ResModel();
             $m->Record($one, $res, 'db-rht_sync', 'trainno', 'rhs_downsync');
         }
         $rtn['result'] = 'SUCCESS';
         MsgInfoConst::GetMsg(2002, $rtn);
         return $rtn;
     } else {
         $one['trainno'] = '';
         $one['traintype'] = '';
         $one['bstation'] = '';
         $one['btime'] = '';
         $one['estation'] = '';
         $one['etime'] = '';
         $one['runtime'] = '';
         $one['price'] = '';
         $one['mileage'] = '';
     }
     if ($id > 0) {
         $one = $trainModel->GetOne(array('id' => $id));
         if (!$one) {
             $id = 0;
         } else {
             $one['trainno'] = str_ireplace(",", "/", trim($one['trainno'], ','));
         }
     }
     $this->smarty->assign('one', $one);
     $this->smarty->assign('id', $id);
     $this->smarty->assign('traintype', $traintype);
     $this->forward = "add";
 }
 /**
  * 天天向前冲
  */
 public function forwardAction()
 {
     $productid = 10006;
     $page = reqnum("page", 1);
     $pagesize = reqnum("pagesize", 10);
     $this->displayThree($productid, $page, $pagesize);
 }
Example #20
0
 /**
  * 同步删除
  * Enter description here ...
  */
 public function syncdelAction()
 {
     $ispost = reqnum('ispost', 0);
     if ($ispost) {
         $id = reqnum('id', 0);
         $m = new Psys_ResModel();
         $return = $m->syncDb($id, true);
         return $return;
     }
 }
Example #21
0
 /**
  * ajax提交
  */
 public function loginAction()
 {
     $ispost = reqnum('ispost', 0);
     if ($ispost == 1) {
         $curcode = reqnum('code');
         $beforcode = XSession::Get("AdminLoginVcode");
         if ($curcode != $beforcode) {
             MsgInfoConst::GetMsg(1006, $result);
             return $result;
         }
         $registerName = reqstr('username', '');
         $password = reqstr('passwd', '');
         $result = array('result' => 'ERROR');
         if ($registerName == '' || $password == '') {
             MsgInfoConst::GetMsg(1000, $result);
             return $result;
         }
         $memModel = new Psys_AdminUserModel();
         $userone = $memModel->Login($registerName, $password, $result);
         return $result;
     }
     $this->forward = "login";
 }
Example #22
0
 public function ajaxAddAction()
 {
     $m = new PSys_MenuModel();
     if ($_POST['ispost']) {
         $data = array();
         $data['action'] = reqstr('action');
         $data['name'] = reqstr('name');
         $data['class'] = reqstr('class');
         $data['pid'] = reqnum('pid', 0);
         if ($data['action'] and $data['name']) {
             $ps = $m->AddOne($data);
             if ($ps) {
                 $m->getMenuTree(0, true);
                 header('location:/menu/index');
                 exit;
             }
         }
     }
     $all = $m->getMenuTree();
     $this->smarty->assign("all", $all);
     $this->smarty->assign("action", '/menu/ajaxAdd');
     $this->forward = "ajaxEdit";
 }
Example #23
0
 public function updateadsAction()
 {
     $adsid = reqnum('adsid', 0);
     $adsType = reqnum('adsType', 0);
     $cityid = $_POST['cityid'];
     $ispost = reqnum('ispost', 0);
     if ($ispost == 0) {
         $this->forward = "adsallot";
         return;
     }
     $m = new Psys_AdsRule();
     if ($adsType == '5') {
         //删除所有车站这个广告
         $where = array();
         $stationads = $m->getonecity('adsone');
         foreach ($stationads as $key => $val) {
             $stationOne = $val['adsone'];
             $naArr = explode(',', $stationOne);
             for ($i = 0; $i < count($naArr); $i++) {
                 if ($naArr[$i] == $adsid) {
                     unset($naArr[$i]);
                 }
             }
             $naArr = implode(',', $naArr);
             $data = array('adsone' => $naArr);
             $whereCid = array('id' => $val['id']);
             $m->UpdateCityOne($data, $whereCid);
         }
         //添加所选车站所选广告
         foreach ($cityid as $key => $val) {
             $adone = '';
             $where = array('id' => $val);
             $city = $m->getonecity($where, '*');
             $cityone = $city[0]['adsone'];
             $nameArr = explode(',', $cityone);
             for ($i = 0; $i < count($nameArr); $i++) {
                 if ($nameArr[$i] == $adsid) {
                     $adone = 'have';
                 }
             }
             if ($adone == '') {
                 array_push($nameArr, $adsid);
                 if ($nameArr[0] == '') {
                     unset($nameArr[0]);
                 }
                 $cityone = implode(',', $nameArr);
                 $data = array('adsone' => $cityone);
                 $m->UpdateCityOne($data, $where);
             }
         }
     }
     if ($adsType == '6') {
         //删除所有车站这个广告
         $where = array();
         $stationads = $m->getonecity('adstwo');
         foreach ($stationads as $key => $val) {
             $stationTwo = $val['adstwo'];
             $naArr = explode(',', $stationTwo);
             for ($i = 0; $i < count($naArr); $i++) {
                 if ($naArr[$i] == $adsid) {
                     unset($naArr[$i]);
                 }
             }
             $naArr = implode(',', $naArr);
             $data = array('adsTwo' => $naArr);
             $whereCid = array('id' => $val['id']);
             $m->UpdateCityOne($data, $whereCid);
         }
         //添加所选车站所选广告
         foreach ($cityid as $key => $val) {
             $adtwo = '';
             $where = array('id' => $val);
             $city = $m->getonecity($where, '*');
             $citytwo = $city[0]['adstwo'];
             $nameArr = explode(',', $citytwo);
             for ($i = 0; $i < count($nameArr); $i++) {
                 if ($nameArr[$i] == $adsid) {
                     $adtwo = 'have';
                 }
             }
             if ($adtwo == '') {
                 array_push($nameArr, $adsid);
                 if ($nameArr[0] == '') {
                     unset($nameArr[0]);
                 }
                 $cityone = implode(',', $nameArr);
                 $data = array('adstwo' => $cityone);
                 $m->UpdateCityOne($data, $where);
             }
         }
     }
     echo "<script>window.location.href='/fullads/index';alert('修改成功');</script>";
 }
Example #24
0
 public function toggleadsAction()
 {
     $ispost = reqnum('ispost', 0);
     if ($ispost == 1) {
         $id = reqnum('id', 0);
         $flag = reqnum('flag');
         $result = array('result' => 'ERROR');
         if (!$id) {
             return $result;
         }
         $flag = empty($flag) ? 1 : 0;
         $rule = new Psys_AdsRule();
         $ret = $rule->updateStationAds(array('flag' => $flag), array('id' => $id));
         if ($ret) {
             $result['result'] = 'SUCCESS';
         }
         return $result;
     }
 }
Example #25
0
 /**
  * 所选时间段范围内的每7天WiFi连接数与注册数
  */
 public function wifidataweekAction()
 {
     $data = reqstr('data');
     if (!$data) {
         return;
     }
     $data = urldecode($data);
     $info = array();
     parse_str($data, $info);
     $date = (int) $info['date'] ? (int) $info['date'] : 7;
     //默认是查出7天的数据
     $sdate = trim($info['sdate']) ? trim($info['sdate']) : '';
     $edate = trim($info['edate']) ? trim($info['edate']) : '';
     //默认是青岛南
     $station = empty($info['station']) ? 1 : implode(',', $info['station']);
     if (!$sdate || !$edate) {
         $edate = date('Y-m-d');
         $sdate = date('Y-m-d', strtotime("-{$date} day"));
     }
     if ($sdate < '2015-02-01') {
         $sdate = '2015-02-01';
     }
     $isbaifenbi = reqnum('baifenbi', 0);
     $dates = $this->cutdate($sdate, $edate);
     $nt = new Psys_StationModel();
     foreach ($dates as $v_date) {
         $res[] = $nt->wifidataweek($station, $v_date['sdate'], $v_date['edate']);
     }
     $datas[0]['name'] = 'wifi连接数';
     $datas[1]['name'] = '注册数';
     foreach ($res as $v) {
         $result['x_cat'][] = $v['datearea'];
         $datas[0]['data'][] = (int) $v['wifi'];
         $datas[1]['data'][] = (int) $v['reg'];
         if ($isbaifenbi) {
             $baifenbis[0]['name'] = '周注册连接百分比';
             $b = $v['reg'] / $v['wifi'] * 100;
             $baifenbis[0]['data'][] = (double) round($b, 2);
         }
     }
     $result['y_data'] = $datas;
     if ($isbaifenbi) {
         $result['baifenbi'] = $baifenbis;
     }
     return $result;
 }
 /**
  *
  * @do 导出excel
  *
  * @comprehensive public 
  * @author Nick
  * @copyright rockhippo
  * @param -
  * @return -
  *
  */
 public function ajaxOutputExcelAction()
 {
     $wordArr = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
     $PSys_ComprehensiveModel = new PSys_ComprehensiveModel();
     //站点数据
     $where = array();
     $order = "id ASC";
     $field = "id,stationname";
     $PSys_ComprehensiveModel = new PSys_ComprehensiveModel();
     $station = $PSys_ComprehensiveModel->GetList($where, $order, 0, 0, $field, "rha_station");
     $fastSearch = reqnum("fastSearch", 0);
     //快速查询
     $dataStatusFS = reqnum("datastatusFS", 1);
     //快速查询合并、比较筛选按钮 1为合并 2为比较  默认合并
     $data['xv'] = array("访问WIFI", "广告1", "注册页", "注册(登陆)", "广告2", "访问首页", "下载火伴");
     switch ($fastSearch) {
         case 1:
             //昨日
             $date = date("Y-m-d", strtotime("-1 day"));
             $group = "";
             $dbname = "rha_wifi_daily";
             $step = 1;
             $_step[1] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step);
             $date = date("Y_m_d", strtotime("-1 day"));
             $group = "";
             $dbname = "rha_count_record";
             $step = 2;
             $_step[2] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 3;
             $_step[3] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 4;
             $_step[4] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 5;
             $_step[5] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 6;
             $_step[6] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 7;
             $_step[7] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step);
             $XPhpExcel = new XPhpExcel();
             $Creator = "statis.rockhippo.com";
             $LastModifiedBy = $Creator;
             $Title = '综合统计-流程综合统计';
             $Subject = '昨日-合并';
             $Description = '综合统计-流程综合统计(昨日-合并)';
             $Keywords = $Description;
             $Category = $Description;
             $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
             $XPhpExcel->setSheet(0, $Subject);
             $XPhpExcel->setValue("A1", "流程");
             $XPhpExcel->setValue("B1", "人数");
             $XPhpExcel->setWidth("A", 20, 2);
             $XPhpExcel->setWidth("B", 20, 2);
             foreach ($data['xv'] as $key => $val) {
                 if ($_step[$key][0]['total'] != '') {
                     $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)";
                 }
                 $XPhpExcel->setValue("A" . ($key + 2), $val);
                 $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " "));
             }
             //清空输出缓存
             ob_clean();
             $XPhpExcel->output(str_replace("_", "-", $date) . "/" . $Description);
             unset($XPhpExcel);
             //销毁
             break;
         case 2:
             //本周
             $date = date("Y-m-d");
             $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($date)) == 1) {
                 $data['error'] = 'WEEKNODATA';
                 break;
             }
             $group = "";
             $dbname = "rha_wifi_daily";
             $step = 1;
             $_step[1] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $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")));
             $group = "";
             $dbname = "rha_count_record";
             $step = 2;
             $_step[2] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 3;
             $_step[3] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 4;
             $_step[4] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 5;
             $_step[5] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 6;
             $_step[6] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 7;
             $_step[7] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $XPhpExcel = new XPhpExcel();
             $Creator = "statis.rockhippo.com";
             $LastModifiedBy = $Creator;
             $Title = '综合统计-流程综合统计';
             $Subject = '本周-合并';
             $Description = '综合统计-流程综合统计(本周-合并)';
             $Keywords = $Description;
             $Category = $Description;
             $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
             $XPhpExcel->setSheet(0, $Subject);
             $XPhpExcel->setValue("A1", "流程");
             $XPhpExcel->setValue("B1", "人数");
             $XPhpExcel->setWidth("A", 20, 2);
             $XPhpExcel->setWidth("B", 20, 2);
             foreach ($data['xv'] as $key => $val) {
                 if ($_step[$key][0]['total'] != '') {
                     $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)";
                 }
                 $XPhpExcel->setValue("A" . ($key + 2), $val);
                 $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " "));
             }
             //清空输出缓存
             ob_clean();
             $XPhpExcel->output(str_replace("_", "/", $bdate) . "~" . str_replace("_", "/", $edate) . "/" . $Description);
             unset($XPhpExcel);
             //销毁
             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")));
             $date = date("Y-m");
             $group = "";
             $dbname = "rha_wifi_daily";
             $step = 1;
             $_step[1] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $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")));
             $group = "";
             $dbname = "rha_count_record";
             $step = 2;
             $_step[2] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 3;
             $_step[3] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 4;
             $_step[4] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 5;
             $_step[5] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 6;
             $_step[6] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $group = "";
             $dbname = "rha_count_record";
             $step = 7;
             $_step[7] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step);
             $XPhpExcel = new XPhpExcel();
             $Creator = "statis.rockhippo.com";
             $LastModifiedBy = $Creator;
             $Title = '综合统计-流程综合统计';
             $Subject = '本月-合并';
             $Description = '综合统计-流程综合统计(本月-合并)';
             $Keywords = $Description;
             $Category = $Description;
             $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
             $XPhpExcel->setSheet(0, $Subject);
             $XPhpExcel->setValue("A1", "流程");
             $XPhpExcel->setValue("B1", "人数");
             $XPhpExcel->setWidth("A", 20, 2);
             $XPhpExcel->setWidth("B", 20, 2);
             foreach ($data['xv'] as $key => $val) {
                 if ($_step[$key][0]['total'] != '') {
                     $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)";
                 }
                 $XPhpExcel->setValue("A" . ($key + 2), $val);
                 $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " "));
             }
             //清空输出缓存
             ob_clean();
             $XPhpExcel->output($date . "/" . $Description);
             unset($XPhpExcel);
             //销毁
             break;
         default:
             $dateSearch = reqstr("dateSearch", "");
             $datastatus = reqnum("datastatus", 1);
             $stationC = reqstr("stationC");
             $stationC = explode(",", $stationC);
             $stationChoice = array();
             if ($stationC == array()) {
                 //若为空则为不排除站点
                 foreach ($station['allrow'] as $key => $val) {
                     $stationChoice[] = $val['id'];
                     //选中的站点
                 }
             } else {
                 foreach ($station['allrow'] as $key => $val) {
                     if (in_array($val['id'], $stationC)) {
                         $stationChoice[] = $val['id'];
                         //选中的站点
                     }
                 }
             }
             switch ($dateSearch) {
                 case "oneday":
                     $date = reqstr("oneday");
                     $group = "";
                     $dbname = "rha_wifi_daily";
                     $step = 1;
                     $_step[1] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice);
                     $date = date("Y_m_d", strtotime($date));
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 2;
                     $_step[2] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 3;
                     $_step[3] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 4;
                     $_step[4] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 5;
                     $_step[5] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 6;
                     $_step[6] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 7;
                     $_step[7] = $PSys_ComprehensiveModel->getDay($date, $group, $dbname, $step, $stationChoice);
                     $XPhpExcel = new XPhpExcel();
                     $Creator = "statis.rockhippo.com";
                     $LastModifiedBy = $Creator;
                     $Title = '综合统计-流程综合统计';
                     $Subject = '单日-合并';
                     $Description = '综合统计-流程综合统计(单日-合并)';
                     $Keywords = $Description;
                     $Category = $Description;
                     $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                     $XPhpExcel->setSheet(0, $Subject);
                     $XPhpExcel->setValue("A1", "流程");
                     $XPhpExcel->setValue("B1", "人数");
                     $XPhpExcel->setWidth("A", 20, 2);
                     $XPhpExcel->setWidth("B", 20, 2);
                     foreach ($data['xv'] as $key => $val) {
                         if ($_step[$key][0]['total'] != '') {
                             $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)";
                         }
                         $XPhpExcel->setValue("A" . ($key + 2), $val);
                         $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " "));
                     }
                     //清空输出缓存
                     ob_clean();
                     $XPhpExcel->output(str_replace("_", "-", $date) . "/" . $Description);
                     unset($XPhpExcel);
                     //销毁
                     break;
                 case "manyday":
                     $bdate = reqstr("bmanyday");
                     $edate = reqstr("emanyday");
                     //计算天数差
                     $Days = round((strtotime($edate) - strtotime($bdate)) / 3600 / 24);
                     $group = "";
                     $dbname = "rha_wifi_daily";
                     $step = 1;
                     $_step[1] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice);
                     $bdate = str_replace("-", "_", $bdate);
                     $edate = str_replace("-", "_", $edate);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 2;
                     $_step[2] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 3;
                     $_step[3] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 4;
                     $_step[4] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 5;
                     $_step[5] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 6;
                     $_step[6] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice);
                     $group = "";
                     $dbname = "rha_count_record";
                     $step = 7;
                     $_step[7] = $PSys_ComprehensiveModel->getDays($bdate, $edate, $group, $dbname, $step, $stationChoice);
                     $XPhpExcel = new XPhpExcel();
                     $Creator = "statis.rockhippo.com";
                     $LastModifiedBy = $Creator;
                     $Title = '综合统计-流程综合统计';
                     $Subject = '多日-合并';
                     $Description = '综合统计-流程综合统计(多日-合并)';
                     $Keywords = $Description;
                     $Category = $Description;
                     $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                     $XPhpExcel->setSheet(0, $Subject);
                     $XPhpExcel->setValue("A1", "流程");
                     $XPhpExcel->setValue("B1", "人数");
                     $XPhpExcel->setWidth("A", 20, 2);
                     $XPhpExcel->setWidth("B", 20, 2);
                     foreach ($data['xv'] as $key => $val) {
                         if ($_step[$key][0]['total'] != '') {
                             $m = "(" . round($_step[$key + 1][0]['total'] / $_step[$key][0]['total'] * 100, 2) . "%)";
                         }
                         $XPhpExcel->setValue("A" . ($key + 2), $val);
                         $XPhpExcel->setValue("B" . ($key + 2), strval($_step[$key + 1][0]['total'] . $m . " "));
                     }
                     //清空输出缓存
                     ob_clean();
                     $XPhpExcel->output(str_replace("_", "/", $bdate) . "~" . str_replace("_", "/", $edate) . "/" . $Description);
                     unset($XPhpExcel);
                     //销毁
                     break;
             }
     }
 }
Example #27
0
 public function logAction()
 {
     $page = reqnum("page", 1);
     $pagesize = reqnum("pagesize", 10);
     $obj = new Psys_IpcModel();
     $data = $obj->GetList('', 'id DESC', $page, $pagesize, "*", 'rha_ipclog');
     self::inidate($data['allnum'], $page, $pagesize, count($data['allrow']));
     $this->smarty->assign('list', $data['allrow']);
     $this->forward = "log";
 }
Example #28
0
 public function checkboxAction()
 {
     //return 123;
     $year = reqnum('year', '');
     $month = reqnum('month', '');
     $day = reqnum('day', '');
     $model = new Psys_FinModel();
     $dateArray = $model->dateRange($year, $month, $day);
     //var_dump($dateArray);exit;
     return $dateArray;
 }
Example #29
0
 /**
  *
  * @do 导出excel
  *
  * @access public 
  * @author Nick
  * @copyright rockhippo
  * @param -
  * @return -
  *
  */
 public function ajaxOutputExcelAction()
 {
     $wordArr = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
     $PSys_AccessModel = new PSys_AccessModel();
     //站点数据
     $where = array();
     $order = "id ASC";
     $field = "id,stationname";
     $PSys_AccessModel = new PSys_AccessModel();
     $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station");
     $fastSearch = reqnum("fastSearch", 0);
     //快速查询
     $dataStatusFS = reqnum("datastatusFS", 1);
     //快速查询合并、比较筛选按钮 1为合并 2为比较  默认合并
     $xv = array('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23');
     switch ($fastSearch) {
         case 1:
             //当天
             $date = date("Y-m-d");
             $data = array();
             if ($dataStatusFS == 1) {
                 $group = "`hour`";
                 $dbname = "rha_aclog_hour";
                 $result = $PSys_AccessModel->getDay($date, $group, $dbname);
                 $XPhpExcel = new XPhpExcel();
                 $Creator = "statis.rockhippo.com";
                 $LastModifiedBy = $Creator;
                 $Title = '访问统计-访问人数';
                 $Subject = '本日-合并';
                 $Description = '访问统计-访问人数(本日-合并)';
                 $Keywords = $Description;
                 $Category = $Description;
                 $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                 $XPhpExcel->setSheet(0, $Subject);
                 $XPhpExcel->setValue("A1", "小时");
                 $XPhpExcel->setValue("B1", "人数");
                 $XPhpExcel->setWidth("B", 20, 2);
                 foreach ($result as $key => $val) {
                     $XPhpExcel->setValue("A" . ($key + 2), $val["date"]);
                     $XPhpExcel->setValue("B" . ($key + 2), $val["total"]);
                 }
                 //清空输出缓存
                 ob_clean();
                 $XPhpExcel->output($date . "/" . $Description);
                 unset($XPhpExcel);
                 //销毁
             } else {
                 $group = "`hour`,`stationid`";
                 $dbname = "rha_aclog_hour";
                 $result = $PSys_AccessModel->getDay($date, $group, $dbname);
                 $XPhpExcel = new XPhpExcel();
                 $Creator = "statis.rockhippo.com";
                 $LastModifiedBy = $Creator;
                 $Title = '访问统计-访问人数';
                 $Subject = '本日-比较';
                 $Description = '访问统计-访问人数(本日-比较)';
                 $Keywords = $Description;
                 $Category = $Description;
                 $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                 $XPhpExcel->setSheet(0, $Subject);
                 $XPhpExcel->setValue("A1", "小时");
                 for ($i = 0; $i < count($xv); $i++) {
                     $XPhpExcel->setValue("A" . ($i + 2), $i);
                 }
                 $data = array();
                 //遍历数据获取所需结构
                 foreach ($result as $key => $val) {
                     $data[$val['stationid']][$val['date']] = $val['total'];
                 }
                 foreach ($station['allrow'] as $key => $val) {
                     $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                     $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                     for ($i = 0; $i < count($xv); $i++) {
                         //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>";
                         $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][$xv[$i]]);
                     }
                 }
                 //清空输出缓存
                 ob_clean();
                 $XPhpExcel->output($date . "/" . $Description);
                 unset($XPhpExcel);
                 //销毁
             }
             break;
         case 2:
             //本周
             $date = date("Y-m-d");
             $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")));
             $data = array();
             if ($dataStatusFS == 1) {
                 $group = "date";
                 $dbname = "rha_wifi_daily";
                 $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname);
                 $XPhpExcel = new XPhpExcel();
                 $Creator = "statis.rockhippo.com";
                 $LastModifiedBy = $Creator;
                 $Title = '访问统计-访问人数';
                 $Subject = '本周-合并';
                 $Description = '访问统计-访问人数(本周-合并)';
                 $Keywords = $Description;
                 $Category = $Description;
                 $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                 $XPhpExcel->setSheet(0, $Subject);
                 $XPhpExcel->setValue("A1", "日期");
                 $XPhpExcel->setValue("B1", "人数");
                 $XPhpExcel->setWidth("A", 14, 2);
                 $XPhpExcel->setWidth("B", 20, 2);
                 foreach ($result as $key => $val) {
                     $XPhpExcel->setValue("A" . ($key + 2), $val["date"]);
                     $XPhpExcel->setValue("B" . ($key + 2), $val["total"]);
                 }
                 //清空输出缓存
                 ob_clean();
                 $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                 unset($XPhpExcel);
                 //销毁
             } else {
                 $group = "`date`,`station`";
                 $dbname = "rha_wifi_daily";
                 $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname);
                 $XPhpExcel = new XPhpExcel();
                 $Creator = "statis.rockhippo.com";
                 $LastModifiedBy = $Creator;
                 $Title = '访问统计-访问人数';
                 $Subject = '本周-比较';
                 $Description = '访问统计-访问人数(本周-比较)';
                 $Keywords = $Description;
                 $Category = $Description;
                 $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                 $XPhpExcel->setSheet(0, $Subject);
                 $XPhpExcel->setValue("A1", "日期");
                 $XPhpExcel->setWidth("A", 14, 2);
                 for ($i = 0; $i < 7; $i++) {
                     $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day")));
                 }
                 $data = array();
                 //遍历数据获取所需结构
                 foreach ($result as $key => $val) {
                     $data[$val['station']][$val['date']] = $val['total'];
                 }
                 foreach ($station['allrow'] as $key => $val) {
                     $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                     $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                     for ($i = 0; $i < 7; $i++) {
                         //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>";
                         $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]);
                     }
                 }
                 //清空输出缓存
                 ob_clean();
                 $XPhpExcel->output($date . "/" . $Description);
                 unset($XPhpExcel);
                 //销毁
             }
             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")));
             $date = date("Y-m");
             $data = array();
             if ($dataStatusFS == 1) {
                 $group = "date";
                 $dbname = "rha_wifi_daily";
                 $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname);
                 $XPhpExcel = new XPhpExcel();
                 $Creator = "statis.rockhippo.com";
                 $LastModifiedBy = $Creator;
                 $Title = '访问统计-访问人数';
                 $Subject = '本月-合并';
                 $Description = '访问统计-访问人数(本月-合并)';
                 $Keywords = $Description;
                 $Category = $Description;
                 $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                 $XPhpExcel->setSheet(0, $Subject);
                 $XPhpExcel->setValue("A1", "日期");
                 $XPhpExcel->setValue("B1", "人数");
                 $XPhpExcel->setWidth("A", 14, 2);
                 $XPhpExcel->setWidth("B", 20, 2);
                 foreach ($result as $key => $val) {
                     $XPhpExcel->setValue("A" . ($key + 2), $val["date"]);
                     $XPhpExcel->setValue("B" . ($key + 2), $val["total"]);
                 }
                 //清空输出缓存
                 ob_clean();
                 $XPhpExcel->output($date . "/" . $Description);
                 unset($XPhpExcel);
                 //销毁
             } else {
                 $group = "`date`,`station`";
                 $dbname = "rha_wifi_daily";
                 $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname);
                 $XPhpExcel = new XPhpExcel();
                 $Creator = "statis.rockhippo.com";
                 $LastModifiedBy = $Creator;
                 $Title = '访问统计-访问人数';
                 $Subject = '本月-比较';
                 $Description = '访问统计-访问人数(本月-比较)';
                 $Keywords = $Description;
                 $Category = $Description;
                 $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                 $XPhpExcel->setSheet(0, $Subject);
                 $XPhpExcel->setValue("A1", "日期");
                 $XPhpExcel->setWidth("A", 14, 2);
                 for ($i = 0; $i < date("t"); $i++) {
                     $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day")));
                 }
                 $data = array();
                 //遍历数据获取所需结构
                 foreach ($result as $key => $val) {
                     $data[$val['station']][$val['date']] = $val['total'];
                 }
                 foreach ($station['allrow'] as $key => $val) {
                     $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                     $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                     for ($i = 0; $i < date("t"); $i++) {
                         //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>";
                         $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]);
                     }
                 }
                 //清空输出缓存
                 ob_clean();
                 $XPhpExcel->output($date . "/" . $Description);
                 unset($XPhpExcel);
                 //销毁
             }
             break;
         default:
             $dateSearch = reqstr("dateSearch", "");
             $datastatus = reqnum("datastatus", 1);
             $stationC = reqstr("stationC");
             $stationC = explode(",", $stationC);
             $stationChoice = array();
             if ($stationC == array()) {
                 //若为空则为不排除站点
                 foreach ($station['allrow'] as $key => $val) {
                     $stationChoice[] = $val['id'];
                     //选中的站点
                 }
             } else {
                 foreach ($station['allrow'] as $key => $val) {
                     if (in_array($val['id'], $stationC)) {
                         $stationChoice[] = $val['id'];
                         //选中的站点
                     }
                 }
             }
             switch ($dateSearch) {
                 case "oneday":
                     $date = reqstr("oneday");
                     $data = array();
                     //x轴数据
                     $xv = array('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23');
                     if ($datastatus == 1) {
                         $group = "`hour`";
                         $dbname = "rha_aclog_hour";
                         $result = $PSys_AccessModel->getDay($date, $group, $dbname, $stationChoice);
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '单日-合并';
                         $Description = '访问统计-访问人数(单日-合并)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "小时");
                         $XPhpExcel->setValue("B1", "人数");
                         $XPhpExcel->setWidth("B", 20, 2);
                         foreach ($result as $key => $val) {
                             $XPhpExcel->setValue("A" . ($key + 2), $val["date"]);
                             $XPhpExcel->setValue("B" . ($key + 2), $val["total"]);
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($date . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     } else {
                         $group = "`hour`,`stationid`";
                         $dbname = "rha_aclog_hour";
                         $result = $PSys_AccessModel->getDay($date, $group, $dbname, $stationChoice);
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '单日-比较';
                         $Description = '访问统计-访问人数(单日-比较)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "小时");
                         for ($i = 0; $i < count($xv); $i++) {
                             $XPhpExcel->setValue("A" . ($i + 2), $i);
                         }
                         $data = array();
                         //遍历数据获取所需结构
                         foreach ($result as $key => $val) {
                             $data[$val['stationid']][$val['date']] = $val['total'];
                         }
                         foreach ($station['allrow'] as $key => $val) {
                             $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                             $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                             for ($i = 0; $i < count($xv); $i++) {
                                 //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>";
                                 $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][$xv[$i]]);
                             }
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($date . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     }
                     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_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '多日-合并';
                         $Description = '访问统计-访问人数(多日-合并)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setValue("B1", "人数");
                         $XPhpExcel->setWidth("A", 14, 2);
                         $XPhpExcel->setWidth("B", 20, 2);
                         foreach ($result as $key => $val) {
                             $XPhpExcel->setValue("A" . ($key + 2), $val["date"]);
                             $XPhpExcel->setValue("B" . ($key + 2), $val["total"]);
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     } else {
                         $group = "`date`,`station`";
                         $dbname = "rha_wifi_daily";
                         $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '多日-比较';
                         $Description = '访问统计-访问人数(多日-比较)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setWidth("A", 14, 2);
                         for ($i = 0; $i < $Days; $i++) {
                             $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day")));
                         }
                         $data = array();
                         //遍历数据获取所需结构
                         foreach ($result as $key => $val) {
                             $data[$val['station']][$val['date']] = $val['total'];
                         }
                         ////重过滤$station
                         //                        $where = array();
                         //                        $where['id_IN'] = $stationChoice;
                         //                        $order = "id ASC";
                         //                        $field = "id,stationname";
                         //                        $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station");
                         foreach ($station['allrow'] as $key => $val) {
                             $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                             $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                             for ($i = 0; $i < $Days; $i++) {
                                 //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>";
                                 $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]);
                             }
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     }
                     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);
                     $data = array();
                     if ($datastatus == 1) {
                         $group = "date";
                         $dbname = "rha_wifi_daily";
                         $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '单周-合并';
                         $Description = '访问统计-访问人数(单周-合并)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setValue("B1", "人数");
                         $XPhpExcel->setWidth("A", 14, 2);
                         $XPhpExcel->setWidth("B", 20, 2);
                         foreach ($result as $key => $val) {
                             $XPhpExcel->setValue("A" . ($key + 2), $val["date"]);
                             $XPhpExcel->setValue("B" . ($key + 2), $val["total"]);
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     } else {
                         $group = "`date`,`station`";
                         $dbname = "rha_wifi_daily";
                         $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '单周-比较';
                         $Description = '访问统计-访问人数(单周-比较)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setWidth("A", 14, 2);
                         for ($i = 0; $i < 7; $i++) {
                             $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day")));
                         }
                         $data = array();
                         //遍历数据获取所需结构
                         foreach ($result as $key => $val) {
                             $data[$val['station']][$val['date']] = $val['total'];
                         }
                         ////重过滤$station
                         //                        $where = array();
                         //                        $where['id_IN'] = $stationChoice;
                         //                        $order = "id ASC";
                         //                        $field = "id,stationname";
                         //                        $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station");
                         foreach ($station['allrow'] as $key => $val) {
                             $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                             $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                             for ($i = 0; $i < 7; $i++) {
                                 //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>";
                                 $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]);
                             }
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     }
                     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_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         foreach ($result as $key => $val) {
                             $data[$val['date']] = $val['total'];
                         }
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '多周-合并';
                         $Description = '访问统计-访问人数(多周-合并)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setValue("B1", "人数");
                         $XPhpExcel->setWidth("A", 25, 2);
                         $XPhpExcel->setWidth("B", 20, 2);
                         for ($i = 0; $i < $Weeks; $i++) {
                             $num = 0;
                             for ($j = 1; $j <= 7; $j++) {
                                 $day = $i * 7 + $j - 1;
                                 $dt = date("Y-m-d", strtotime("{$bdate} +{$day} day"));
                                 $num += $data[$dt];
                                 if ($j == 1) {
                                     $d = date("Y/m/d", strtotime("{$bdate} +{$day} day"));
                                 }
                                 if ($j == 7) {
                                     $d .= ' - ' . date("m/d", strtotime("{$bdate} +{$day} day"));
                                     $XPhpExcel->setValue("A" . ($i + 2), $d);
                                     $XPhpExcel->setValue("B" . ($i + 2), $num);
                                 }
                             }
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     } else {
                         $group = "`date`,`station`";
                         $dbname = "rha_wifi_daily";
                         $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         foreach ($result as $key => $val) {
                             $data[$val['station']][$val['date']] = $val['total'];
                         }
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '多周-比较';
                         $Description = '访问统计-访问人数(多周-比较)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setWidth("A", 25, 2);
                         foreach ($station['allrow'] as $key => $val) {
                             $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                             $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                             for ($i = 0; $i < $Weeks; $i++) {
                                 $num = 0;
                                 for ($j = 1; $j <= 7; $j++) {
                                     $day = $i * 7 + $j - 1;
                                     $dt = date("Y-m-d", strtotime("{$bdate} +{$day} day"));
                                     $num += $data[$val['id']][$dt];
                                     if ($j == 1) {
                                         $d = date("Y/m/d", strtotime("{$bdate} +{$day} day"));
                                     }
                                     if ($j == 7) {
                                         $d .= ' - ' . date("m/d", strtotime("{$bdate} +{$day} day"));
                                         $XPhpExcel->setValue("A" . ($i + 2), $d);
                                         $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $num);
                                     }
                                 }
                             }
                         }
                         //to do  nick 2030 celeste
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     }
                     break;
                 case "onemonth":
                     $date = reqstr("onemonth");
                     $bdate = date("Y-m-01", strtotime($date));
                     $edate = date("Y-m-d", strtotime("{$bdate} +1 month -1 day"));
                     $date = date("Y-m", strtotime($date));
                     $Days = date("t", strtotime($date));
                     $data = array();
                     if ($datastatus == 1) {
                         $group = "date";
                         $dbname = "rha_wifi_daily";
                         $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '单月-合并';
                         $Description = '访问统计-访问人数(单月-合并)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setValue("B1", "人数");
                         $XPhpExcel->setWidth("A", 14, 2);
                         $XPhpExcel->setWidth("B", 20, 2);
                         foreach ($result as $key => $val) {
                             $XPhpExcel->setValue("A" . ($key + 2), $val["date"]);
                             $XPhpExcel->setValue("B" . ($key + 2), $val["total"]);
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($date . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     } else {
                         $group = "`date`,`station`";
                         $dbname = "rha_wifi_daily";
                         $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '单月-比较';
                         $Description = '访问统计-访问人数(单月-比较)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setWidth("A", 14, 2);
                         for ($i = 0; $i < $Days; $i++) {
                             $XPhpExcel->setValue("A" . ($i + 2), date("Y-m-d", strtotime("{$bdate} +{$i} day")));
                         }
                         $data = array();
                         //遍历数据获取所需结构
                         foreach ($result as $key => $val) {
                             $data[$val['station']][$val['date']] = $val['total'];
                         }
                         ////重过滤$station
                         //                        $where = array();
                         //                        $where['id_IN'] = $stationChoice;
                         //                        $order = "id ASC";
                         //                        $field = "id,stationname";
                         //                        $station = $PSys_AccessModel->GetList($where, $order, 0, 0, $field, "rha_station");
                         foreach ($station['allrow'] as $key => $val) {
                             $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                             $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                             for ($i = 0; $i < $Days; $i++) {
                                 //echo $wordArr[$val['id']].($i+2) . "~" . $data[$val['id']][$xv[$i]] . "<br>";
                                 $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $data[$val['id']][date("Y-m-d", strtotime("{$bdate} +{$i} day"))]);
                             }
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     }
                     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_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         foreach ($result as $key => $val) {
                             $data[$val['date']] = $val['total'];
                         }
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '多月-合并';
                         $Description = '访问统计-访问人数(多月-合并)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setValue("B1", "人数");
                         $XPhpExcel->setWidth("A", 25, 2);
                         $XPhpExcel->setWidth("B", 20, 2);
                         $day = 0;
                         for ($i = 0; $i < $Months; $i++) {
                             $nums = 0;
                             $num = date("t", strtotime("{$bday} +{$i} month"));
                             $d = date("Y-m-01", strtotime("{$bday} +{$i} month"));
                             for ($j = 1; $j <= $num; $j++) {
                                 if ($j == 1) {
                                     $d = date("Y/m", strtotime("{$bday} +{$i} month"));
                                     $XPhpExcel->setValue("A" . ($i + 2), $d);
                                 }
                                 //echo $day."<br/>";
                                 //$data['data'][1]['data'][] = intval($result[$i-1]['total']);
                                 $nums += $data[date("Y-m-d", strtotime("{$bday} +{$day} day"))];
                                 $day++;
                             }
                             $XPhpExcel->setValue("B" . ($i + 2), $nums);
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     } else {
                         $group = "`date`,`station`";
                         $dbname = "rha_wifi_daily";
                         $result = $PSys_AccessModel->getWeek($bdate, $edate, $group, $dbname, $stationChoice);
                         foreach ($result as $key => $val) {
                             $data[$val['station']][$val['date']] = $val['total'];
                         }
                         $XPhpExcel = new XPhpExcel();
                         $Creator = "statis.rockhippo.com";
                         $LastModifiedBy = $Creator;
                         $Title = '访问统计-访问人数';
                         $Subject = '多月-比较';
                         $Description = '访问统计-访问人数(多月-比较)';
                         $Keywords = $Description;
                         $Category = $Description;
                         $XPhpExcel->setBasicAttr($Creator, $LastModifiedBy, $Title, $Subject, $Description, $Keywords, $Category);
                         $XPhpExcel->setSheet(0, $Subject);
                         $XPhpExcel->setValue("A1", "日期");
                         $XPhpExcel->setWidth("A", 25, 2);
                         foreach ($station['allrow'] as $key => $val) {
                             $XPhpExcel->setValue($wordArr[$val['id']] . "1", $val['stationname'] . "/人数");
                             $XPhpExcel->setWidth($wordArr[$val['id']], 20, 2);
                             $day = 0;
                             for ($i = 0; $i < $Months; $i++) {
                                 $nums = 0;
                                 $num = date("t", strtotime("{$bday} +{$i} month"));
                                 $d = date("Y-m-01", strtotime("{$bday} +{$i} month"));
                                 for ($j = 1; $j <= $num; $j++) {
                                     if ($j == 1) {
                                         $d = date("Y/m", strtotime("{$bday} +{$i} month"));
                                         $XPhpExcel->setValue("A" . ($i + 2), $d);
                                     }
                                     //echo $day."<br/>";
                                     //$data['data'][1]['data'][] = intval($result[$i-1]['total']);
                                     $nums += $data[$val['id']][date("Y-m-d", strtotime("{$bday} +{$day} day"))];
                                     $day++;
                                 }
                                 $XPhpExcel->setValue($wordArr[$val['id']] . ($i + 2), $nums);
                             }
                         }
                         //清空输出缓存
                         ob_clean();
                         $XPhpExcel->output($bdate . "~" . $edate . "/" . $Description);
                         unset($XPhpExcel);
                         //销毁
                     }
                     break;
             }
     }
 }
Example #30
0
 public function getTimeNumAction()
 {
     $stime = reqstr('stime', 0);
     $etime = reqstr('etime', 0);
     $type = reqstr('type', 0);
     $username = reqstr('username', '');
     $code = reqstr('code', '');
     $appk = reqstr('appk', '');
     $obj = new Psys_SmsModel();
     if ($stime) {
         $stime = strtotime($stime);
     } else {
         //$stime = strtotime("-1 day");
         $stime = '';
     }
     if ($etime) {
         $etime = strtotime($etime);
     } else {
         $etime = '';
     }
     $smscot = $obj->getSmsStatistics();
     $postime = '&';
     if (!empty($stime) and !empty($etime)) {
         $postime .= 'stime=' . date('Y-m-d', $stime) . '&etime=' . date('Y-m-d', $etime);
     }
     $postime .= 'type=' . $type;
     if (!empty($appk)) {
         $postime .= '&appk=' . $appk;
     }
     if (!empty($username)) {
         $postime .= '&username='******'&code=' . $code;
     }
     $page = reqnum("page", 1);
     $pagesize = reqnum("pagesize", 20);
     $data = $obj->getSmsIdclogList($stime, $etime, $type, $username, $appk, $code, $page, $pagesize);
     self::inidate($data['allnum'], $page, $pagesize, count($data['allrow']));
     $appkeys = $this->getAppkeys();
     foreach ($data['allrow'] as &$v) {
         if (!empty($appkeys[$v['appkey']])) {
             $v['appkey'] = $appkeys[$v['appkey']];
         } else {
             $v['appkey'] = $v['appkey'];
         }
     }
     $this->smarty->assign('appkeys', $appkeys);
     //站点列表
     $this->smarty->assign('smscot', $smscot);
     //当前从几开始
     $this->smarty->assign('stime', $stime);
     $this->smarty->assign('etime', $etime);
     $this->smarty->assign('appk', $appk);
     $this->smarty->assign('username', $username);
     $this->smarty->assign('type', $type);
     $this->smarty->assign('postime', $postime);
     $this->smarty->assign('list', $data['allrow']);
     $this->forward = "smsnum";
 }