示例#1
0
 private function get_request_data($date_from, $date_to)
 {
     if (empty($this->site_ids)) {
         throw new MyRuntimeException(Kohana::lang('o_global.access_denied'), 403);
     }
     if ($this->site_id <= 0 && !in_array($this->site_id, $this->site_ids)) {
         throw new MyRuntimeException(Kohana::lang('o_global.select_site'), 400);
     }
     //获取站点的统计ID
     $statking_site_name = $this->get_statking_id_site_name();
     $statking_id = $statking_site_name['statking_id'];
     $site_name = $statking_site_name['site_name'];
     //PHPRPC客户端
     require_once Kohana::find_file('vendor', 'phprpc/phprpc_client', TRUE);
     $client = new PHPRPC_Client($this->phprpc_server);
     $time_from = strtotime($date_from . $this->time_offset);
     $time_to = strtotime($date_to . $this->time_offset);
     //生成要发送的密钥
     $phprpc_statking_key = Kohana::config('phprpc.remote.statking.api_key');
     $args = array($statking_id, $time_from, $time_to);
     $sign = md5(json_encode($args) . $phprpc_statking_key);
     //发送请求获取原始数据
     $data_all = $client->get_data_source_by_time_range($statking_id, $time_from, $time_to, $sign);
     //原始数据处理
     $data = $this->manage_data($data_all, $date_from, $date_to);
     $data['site_name'] = $site_name;
     return $data;
 }