示例#1
0
 public function get_calls_data_client()
 {
     require_once dirname(__FILE__) . '/Client.php';
     $dates = DashboardCommon::createDateRangeArray($this->from, $this->to);
     $json_array = array();
     $campaigns = Client::get_campaigns();
     if (empty($campaigns)) {
         return array();
     }
     $json_array = array();
     foreach ($dates as $date) {
         $union_array = array();
         foreach ($campaigns as $campaign) {
             $sql = "(SELECT * FROM calls WHERE gsm_number='" . $campaign['gsm_number'] . "'";
             if ($campaign['start_date'] != '0000-00-00') {
                 //if($date < $campaign['start_date']) continue;
                 $sql .= " AND call_start>='" . $campaign['start_date'] . "'";
             }
             if ($campaign['end_date'] != '0000-00-00') {
                 //if($date > $campaign['end_date']) continue;
                 $sql .= " AND call_end<='" . $campaign['end_date'] . "'";
             }
             $sql .= ")";
             $union_array[] = $sql;
         }
         //if(empty($union_array)) return array();
         $inner_sql = implode(" UNION ", $union_array);
         $sql = "SELECT count(*) as total FROM ({$inner_sql}) as calls WHERE call_start LIKE '%{$date}%' AND test_data=0";
         $res = DashboardCommon::db()->Execute($sql);
         $json_array[] = array('elapsed' => userdate($date), 'value' => $res->fields['total']);
     }
     return $json_array;
 }