debug = true; error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); } if(!isset($agency_id) || (int)$agency_id == 0){ die('Не задано агентство'); } $this->agency_id = $agency_id; if (!is_null($db)) { $this->db = $db; } else { $pdo = new MysqlPdo(hst, ndb, user, pass); $pdo->query("SET NAMES 'utf8'"); $this->db = $pdo; } } private function set_sphinx2(){ $pdo = new MysqlPdo(hstsph2, null, null, null, true, '9306'); $sql = "SET NAMES 'utf8'"; $pdo->query($sql); $this->sphinx2 = $pdo; } /** * Сохраненние ключа */ public function save_key($key){ $sql = "SELECT * FROM unisender_agency WHERE agency_id = {$this->agency_id}"; $q = $this->db->query($sql); if($this->db->num_rows($q) > 0){ $sql_up = "UPDATE unisender_agency SET api_key = '{$key}' WHERE agency_id = {$this->agency_id}"; $this->db->query($sql_up); } else { $sql_in = "INSERT INTO unisender_agency (api_key, agency_id) VALUES ('{$key}', {$this->agency_id})"; $this->db->query($sql_in); } } /** * Получение ключа */ public function get_key(){ $api_key = ''; $sql = "SELECT * FROM unisender_agency WHERE agency_id = {$this->agency_id}"; $q = $this->db->query($sql); $r = $this->db->fetch_assoc($q); if(isset($r['api_key'])){ $api_key = $r['api_key']; } return $api_key; } public function get_list_client($type, $all = true, $ids){ $result = array(); if($type == 'client'){ if(!$all){ $where = "AND id in (".implode(',', $ids).")" ; } else if (isset($_SESSION['where_campaigns'])) { $where = $_SESSION['where_campaigns']; } $sql = "SELECT * FROM clients WHERE 1 ".$where; $q=$this->db->query($sql); while($r = $this->db->fetch_assoc($q)){ $result['client_list'][] = $r; } } else if($type == 'req'){ if(!$all){ $where = "AND id in (".implode(',', $ids).")" ; $sql_req = "SELECT client_id FROM requisitions WHERE 1 $where"; } else { $sql_req = $_SESSION['where_req_campaigns']; } $q_req = $this->db->query($sql_req); $clients_ids = array(); while($r_req = $this->db->fetch_assoc($q_req)){ $clients_ids[] = $r_req['client_id']; } $clients_ids = array_unique($clients_ids); $sql = "SELECT * FROM clients WHERE id in (".implode(',', $clients_ids).")"; $q=$this->db->query($sql); while($r = $this->db->fetch_assoc($q)){ $result['client_list'][] = $r; } } else if ($type == 'object'){ $whereClPart = []; $this->set_sphinx2(); if(!$all){ if (is_array($_SESSION['checked'])) { $ids = array_map('intval', $_SESSION['checked']); $sql_cl_obj = "SELECT client_id FROM client_objects WHERE object_id in (".implode(',', $ids).")"; $q_cl_obj = $this->db->query($sql_cl_obj); while($r_cl_obj = $this->db->fetch_assoc($q_cl_obj)){ $whereClPart[] = $r_cl_obj['client_id']; } } } else { if(isset($_SESSION['agency_objects_export'])){ $ids = array(); $sql_obj = $_SESSION['agency_objects_export']; // echo $sql_obj; $q_obj = $this->sphinx2->query($sql_obj); while($r_obj = $this->sphinx2->fetch_assoc($q_obj)){ $sql_cl_obj = "SELECT client_id FROM client_objects WHERE object_id = {$r_obj['id']}"; $q_cl_obj = $this->db->query($sql_cl_obj); while($r_cl_obj = $this->db->fetch_assoc($q_cl_obj)){ $whereClPart[] = $r_cl_obj['client_id']; } } } } $sqlClients = "SELECT * FROM `clients` WHERE id in (" . implode(", ", $whereClPart) .")"; //echo $sqlClients; $rezClient =$this->db->query($sqlClients); if ($this->db->num_rows($rezClient) > 0) { while ($client = $this->db->fetch_assoc($rezClient)) { if(!empty($client['email'])){ $result['client_list'][] = $client; } } } } $result['title_list'] = 'Список '.date('d.m.Y H:i:s'); return $result; } }