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; }