/var/www/doncode.com.ua/www/models
NameSizeModeActions
class.admin_model.php377020644editdlrm
class.api_model.php328640644editdlrm
class.archive_model.php29750644editdlrm
class.arm_model.php93930644editdlrm
class.dcccatalog_model.php98710644editdlrm
class.dcclist_model.php108290644editdlrm
class.dccsupport_model.php4710644editdlrm
class.dccupdate_model.php4700644editdlrm
class.dmp_platforms_model.php79590644editdlrm
class.docs_model.php11280644editdlrm
class.doncode_users_model.php67120644editdlrm
class.driver_model.php3690644editdlrm
class.exchange_model.php82660644editdlrm
class.files_model.php1940644editdlrm
class.index_model.php11290644editdlrm
class.login_model.php250140644editdlrm
class.mobile_users_model.php100090644editdlrm
class.news_model.php77210644editdlrm
class.orders_model.php97820644editdlrm
class.settings_model.php117990644editdlrm
class.support_model.php287830644editdlrm
class.users_model.php91540644editdlrm
class.user_model.php448730644editdlrm
Edit: /var/www/doncode.com.ua/www/models/class.admin_model.php (37702B)
database->prepare("SELECT count(*) as count FROM `".DB_PREFIX."users` du WHERE du.block='0' ".$where.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data[0]['count']; } public function getClients($city_id=0,$page=0){ $where = ''; if ($city_id!=0){ $where = 'AND du.city_id='.$city_id; } if ($page!=0){ $page_number=abs(($page-1)*LIMIT); }else{ $page_number=0; } try{ $sth = $this->database->prepare("SELECT du.id as user_id, du.driver_id, du.online, du.balance, du.FIO, p.phone as login, du.lastvisit, du.email, du.email_confirmed, du.datereg, co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city, co.currency FROM `".DB_PREFIX."users` du LEFT OUTER JOIN `".DB_PREFIX."phones` p ON p.`user_id` = du.`id` LEFT OUTER JOIN city_ c ON c.`id_city` = du.`city_id` LEFT OUTER JOIN region_ r ON r.`id_region` = c.`id_region` LEFT OUTER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.block='0' ".$where." ORDER BY du.email_confirmed, du.lastvisit DESC LIMIT ".$page_number." , ".LIMIT.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); foreach($data as $k => $v){ $data[$k]['datereg'] = bootstrap::HumanDatePrecise($v['datereg']); $data[$k]['lastvisit'] = bootstrap::HumanDatePrecise($v['lastvisit']); } }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data; } public function getActiveClientsCities(){ try{ $sth = $this->database->prepare("SELECT du.city_id,co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city FROM `".DB_PREFIX."users` du INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.block='0' GROUP BY du.`city_id`"); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; return $data; } // ---------------------------------------------------- public function getDriversCount($city_id=0){ $where = ''; if ($city_id!=0){ $where = 'AND du.city_id='.$city_id; } try{ $sth = $this->database->prepare("SELECT count(*) as count FROM `".DB_PREFIX."users` du WHERE du.block='0' AND du.driver_id>0 ".$where.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data[0]['count']; } public function getDriver($driver_id=0){ if($driver_id==0)return; try{ $sth = $this->database->prepare("SELECT du.id as user_id, du.driver_id, du.online, du.balance, du.login, du.FIO, d.*, d.pas_fio, cm.mark, cmo.model, cc.name as color, co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city, co.currency FROM `".DB_PREFIX."users` du INNER JOIN ".DB_PREFIX."drivers d ON d.`id` = du.`driver_id` LEFT JOIN ".DB_PREFIX."car_mark cm ON cm.`id` = d.`mark_id` LEFT JOIN ".DB_PREFIX."car_model cmo ON cmo.`id` = d.`model_id` LEFT JOIN ".DB_PREFIX."car_colors cc ON cc.`id` = d.`color_id` INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.block='0' AND du.driver_id=".$driver_id." LIMIT 1"); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data[0]; } public function getDrivers($city_id=0,$page=0){ $where = ''; if ($city_id!=0){ $where = 'AND du.city_id='.$city_id; } if ($page!=0){ $page_number=abs(($page-1)*LIMIT); }else{ $page_number=0; } try{ $sth = $this->database->prepare("SELECT du.id as user_id, du.driver_id, du.online, du.balance, d.car_nr, d.phone_call, d.active, d.pas_fio, cm.mark, cmo.model, cc.name as color, co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city, co.currency FROM `".DB_PREFIX."users` du INNER JOIN ".DB_PREFIX."drivers d ON d.`id` = du.`driver_id` LEFT JOIN ".DB_PREFIX."car_mark cm ON cm.`id` = d.`mark_id` LEFT JOIN ".DB_PREFIX."car_model cmo ON cmo.`id` = d.`model_id` LEFT JOIN ".DB_PREFIX."car_colors cc ON cc.`id` = d.`color_id` INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.block='0' AND du.driver_id>0 ".$where." ORDER BY d.active, d.createdate DESC LIMIT ".$page_number." , ".LIMIT.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data; } public function getActiveDriversCities(){ try{ $sth = $this->database->prepare("SELECT du.city_id,co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city FROM `".DB_PREFIX."users` du INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.block='0' AND du.driver_id>0 GROUP BY du.`city_id`"); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; return $data; } public function driver_activate($driver_id=0,$active='0'){ if($driver_id==0){ echo '{"fail":"Водитель не выбран"}'; exit; } $rowcount = $this->database->update(DB_PREFIX.'drivers',array( 'active' => $active ),"id={$driver_id}"); if($rowcount>0){ if(session::get('driver_id')==$driver_id){ session::set('driver_active',$active); } if($active==1){ $subject = 'Активирован доступ водителя'; $message = '

Здравствуйте!


Ваша анкета прошла проверку и доступна к работе!

Войдите в личный кабинет для загрузки программы

Приятной работы! '; }else{ $subject = 'Доступ водителя заблокирован'; $message = '

Здравствуйте!


Ваша анкета не прошла проверку и была заблокированна!

Вход в личный кабинет по прежнему активен.

Вы можете попробовать обновить данные для повторной проверки. Приятной работы! '; } $this->mail->send_did($driver_id, $subject, $message); ajax::success(true); }else{ echo '{"fail":"Ошибка активации"}'; exit; } } // ---------------------------------------------------- public function getExchangeCount($city_id=0){ $where = ''; if ($city_id!=0){ $where = 'AND du.city_id='.$city_id; } try{ $sth = $this->database->prepare("SELECT count(*) as count FROM `".DB_PREFIX."users` du WHERE du.block='0' AND du.exchange_id>0 ".$where.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data[0]['count']; } public function getExchange($city_id=0,$page=0){ $where = ''; if ($city_id!=0){ $where = 'WHERE AND du.city_id='.$city_id; } if ($page!=0){ $page_number=abs(($page-1)*LIMIT); }else{ $page_number=0; } try{ $sth = $this->database->prepare("SELECT du.id as user_id, du.exchange_id, du.balance, du.lastvisit, e.taxi_name, e.director, e.director_phone, e.active, e.createdate, co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city, co.currency FROM `".DB_PREFIX."exchange` e INNER JOIN ".DB_PREFIX."users du ON e.`id` = du.`exchange_id` INNER JOIN city_ c ON c.`id_city` = e.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` ".$where." ORDER BY e.active, e.createdate DESC LIMIT ".$page_number." , ".LIMIT.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data; } public function getActiveExchangeCities(){ try{ $sth = $this->database->prepare("SELECT du.city_id,co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city FROM `".DB_PREFIX."exchange` du INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` GROUP BY du.`city_id`"); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; return $data; } public function exchange_activate($exchange_id=0,$active='0'){ if($exchange_id==0){ echo '{"fail":"Диспетчерская не выбрана"}'; exit; } $rowcount = $this->database->update(DB_PREFIX.'exchange',array( 'active' => $active ),"id={$exchange_id}"); if($rowcount>0){ if(session::get('exchange_id')==$exchange_id){ session::set('exchange_active',$active); } if($active==1){ $subject = 'Активирован доступ диспетчерской'; $message = '

Здравствуйте!


Ваша анкета прошла проверку и доступна к работе!

Войдите в личный кабинет

Приятной работы! '; }else{ $subject = 'Доступ диспетчерской заблокирован'; $message = '

Здравствуйте!


Ваша анкета не прошла проверку и была заблокированна!

Вход в личный кабинет по прежнему активен.

Вы можете попробовать обновить данные для повторной проверки. Приятной работы! '; } $this->mail->send_eid($exchange_id, $subject, $message); ajax::success(true); }else{ echo '{"fail":"Ошибка активации"}'; exit; } } // --------------------------------------------------------- public function getCitiesNoCoords(){ try{ $sth = $this->database->prepare("SELECT count(*) as count FROM `city_` WHERE la=0 AND id_country=2"); $sth->execute(); $data = $sth->fetch(PDO::FETCH_ASSOC); }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; return $data['count']; } public function getCitiesYesCoords(){ try{ $sth = $this->database->prepare("SELECT count(*) as count FROM `city_` WHERE la>0 AND id_country=2"); $sth->execute(); $data = $sth->fetch(PDO::FETCH_ASSOC); }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; return $data['count']; } public function getTarifGroups(){ try{ $sth = $this->database->prepare("SELECT * FROM `".DB_PREFIX."tarif_groups` WHERE deleted='0' ORDER BY position"); $sth->execute(); $res = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; foreach($res as $k => $v){ $ans[$v['id']] = $v; } return $ans; } public function saveCityTarif(){ $id = intval($_POST['id']); $update['active'] = (isset($_POST['active'])&&($_POST['active']=='checked'))?1:0; $update['min_cost'] = $_POST['min_cost']; $update['max_cost'] = $_POST['max_cost']; $update['min_km_free'] = $_POST['min_km_free']; $update['max_km_free'] = $_POST['max_km_free']; $update['min_km_cost'] = $_POST['min_km_cost']; $update['max_km_cost'] = $_POST['max_km_cost']; $update['min_wait_free'] = $_POST['min_wait_free']; $update['max_wait_free'] = $_POST['max_wait_free']; $update['min_wait_cost'] = $_POST['min_wait_cost']; $update['max_wait_cost'] = $_POST['max_wait_cost']; $count = $this->database->update(DB_PREFIX.'tarifs',$update,"id=".$id); if($count>0){ ajax::success(true); }else{ echo '{"fail":"Ошибка сохранения тарифа!"}'; } } public function addCityTarif($city_id=0,$category_id=0){ if($city_id>0&&$category_id>0){ $count = $this->database->update(DB_PREFIX.'tarifs',array( 'deleted' =>'0', 'change_date' =>date("Y-m-d H:i:s") ),"city_id=".$city_id." AND category_id=".$category_id.""); if($count==0){ $insertid = $this->database->insert(DB_PREFIX.'tarifs',array( 'category_id' =>$category_id, 'city_id' =>$city_id )); if($insertid>0){ return $insertid; } } } return 0; } public function deleteCityTarif($tar_id=0){ if($tar_id>0){ $count = $this->database->update(DB_PREFIX.'tarifs',array( 'deleted' =>'1', 'active' =>'0', 'change_date' =>date("Y-m-d H:i:s") ),"id=".$tar_id.""); if($count>0){ return true; } } return false; } public function getCityTarifs($city_id){ $sth = $this->database->prepare("SELECT tg.* FROM `".DB_PREFIX."tarifs` tg INNER JOIN `".DB_PREFIX."tarif_groups` tc ON tc.`id` = tg.`category_id` WHERE tg.deleted='0' AND tg.city_id=".$city_id." ORDER BY tg.`category_id`"); $sth->execute(); $res = $sth->fetchAll(PDO::FETCH_ASSOC); return $res; } public function getCities(){ try{ $sth = $this->database->prepare("SELECT city_id,count(*) as drivers FROM `".DB_PREFIX."users` WHERE block='0' AND driver_id>0 GROUP BY `city_id`"); $sth->execute(); $res = $sth->fetchAll(PDO::FETCH_ASSOC); foreach($res as $k => $v){ $drivers[$v['city_id']] = $v['drivers']; } $sth = $this->database->prepare("SELECT city_id,count(*) as exchange FROM `".DB_PREFIX."users` WHERE block='0' AND exchange_id>0 GROUP BY `city_id`"); $sth->execute(); $res = $sth->fetchAll(PDO::FETCH_ASSOC); foreach($res as $k => $v){ $exchange[$v['city_id']] = $v['exchange']; } $sth = $this->database->prepare("SELECT city_id,count(*) as orders FROM `".DB_PREFIX."orders` GROUP BY `city_id`"); $sth->execute(); $res = $sth->fetchAll(PDO::FETCH_ASSOC); foreach($res as $k => $v){ $orders[$v['city_id']] = $v['orders']; } $sth = $this->database->prepare("SELECT du.city_id,co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city,count(*) as clients FROM `".DB_PREFIX."users` du INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.block='0' GROUP BY du.`city_id`"); $sth->execute(); $res = $sth->fetchAll(PDO::FETCH_ASSOC); $c = $d = $e = $o = 0; foreach($res as $k => $v){ $v['drivers'] = isset($drivers[$v['city_id']])?$drivers[$v['city_id']]:'0'; $v['exchange'] = isset($exchange[$v['city_id']])?$exchange[$v['city_id']]:'0'; $v['orders'] = isset($orders[$v['city_id']])?$orders[$v['city_id']]:'0'; $c += $v['clients']; $d += $v['drivers']; $e += $v['exchange']; $o += $v['orders']; $data[] = $v; } $cnt['city_id'] = '0'; $cnt['country'] = 'Итого'; $cnt['region'] = ''; $cnt['city'] = ''; $cnt['clients'] = $c; $cnt['drivers'] = $d; $cnt['exchange'] = $e; $cnt['orders'] = $o; $data[] = $cnt; }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; return $data; } // ---> НАСТРОЙКИ public function save_city($city_id=0){ if($city_id==0)return; $la = $_POST['la']; $lo = $_POST['lo']; $zoom = $_POST['zoom']; $callback = $_POST['callback']; //$smson =isset($_POST['smson'])?1:0; //$json = session::get('json'); //$json['events']['smson'] = $smson; $user_id = session::get('id_city'); $rowcount = $this->database->update('city_',array( // 'json' =>json_encode($json), 'la' =>$la, 'lo' =>$lo, 'zoom' =>$zoom, 'callback' =>$callback ),"id_city={$city_id}"); if($rowcount>0){ //$json = session::set('json',$json); ajax::success(true); }else{ echo '{"fail":"Ошибка сохранения настроек!"}'; exit; } } // <--- НАСТРОЙКИ public function getCity($city_id=0){ if($city_id==0)return; try{ $sth = $this->database->prepare("SELECT c.la, c.lo, c.zoom, c.callback, co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city, co.currency FROM `city_` c INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE c.id_city=".$city_id.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data[0]; } // --------------------------------------------------------- // --------------------------------------------------------- public function getDCCs($city_id=0,$page=0,$deleted=0){ $where = ''; if ($city_id!=0){ $where = 'AND du.city_id='.$city_id; } if ($page!=0){ $page_number=abs(($page-1)*LIMIT); }else{ $page_number=0; } try{ $sql = "SELECT du.*,co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city FROM `".DB_PREFIX."dcc` du INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.block='0' AND du.deleted='".$deleted."' ".$where." ORDER BY du.`city_id` LIMIT ".$page_number." , ".LIMIT.""; //session::set('last_sql',$sql); $sth = $this->database->prepare($sql); $sth->execute(); $res = $sth->fetchAll(PDO::FETCH_ASSOC); $c = $today_calls = $max_ver = 0; foreach($res as $k => $v){ // $v['drivers'] = isset($drivers[$v['city_id']])?$drivers[$v['city_id']]:'0'; // $v['exchange'] = isset($exchange[$v['city_id']])?$exchange[$v['city_id']]:'0'; // $v['orders'] = isset($orders[$v['city_id']])?$orders[$v['city_id']]:'0'; // $c += $v['clients']; $d += $v['drivers']; $e += $v['exchange']; $o += $v['orders']; $c++; $today_calls += $v['today_call']; if($v['ver']>$max_ver){ $max_ver = $v['ver']; } $data[] = $v; } $cnt['id'] = '0'; $cnt['country'] = 'Итого'; $cnt['region'] = ''; $cnt['city'] = ''; $cnt['count'] = $c; $cnt['max_ver'] = $max_ver; $cnt['today_calls'] = $today_calls; $data[] = $cnt; }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; return $data; } public function getApiKeyServers($api_key_id=0){ try{ $sth = $this->database->prepare("SELECT * FROM ".DB_PREFIX."api_keys_servers WHERE api_key_id=".$api_key_id); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data; } public function save_apikey_server($api_key_id,$dcc_id,$checked){ $change_perm = false; if($api_key_id==0||$dcc_id==0)return; $data['api_key_id'] = $api_key_id; $data['dcc_id'] = $dcc_id; //$data['checked'] = $checked; $rowcount = $this->database->query("DELETE FROM ".DB_PREFIX."api_keys_servers WHERE api_key_id={$api_key_id} AND dcc_id={$dcc_id}"); if($checked==1){ $id = $this->database->insert(DB_PREFIX."api_keys_servers",$data); } echo $api_key_id.' '.$dcc_id.' '.$checked;exit; header('Location:'.URL.'admin/api_key_servers/api_key_id/'+$api_key_id ); } public function getApiKeys(){ try{ $sth = $this->database->prepare("SELECT ak.*,(SELECT count(id) FROM ".DB_PREFIX."api_keys_access WHERE api_id=ak.id) as access FROM `".DB_PREFIX."api_keys` ak WHERE ak.deleted='0'"); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data; } // Создание API ключа public function apikey_create(){ $key['user_id'] = session::get('id_user'); $key['name'] = 'Новый ключ'; $key['detect'] = '1'; $key['key'] = md5($key['user_id'].time().session::get('login').session::get('lastvisit')); $key_id = $this->database->insert(DB_PREFIX.'api_keys',$key); if($key_id>0){ ajax::success(true); }else{ echo '{"fail":"Ошибка создания ключа."}'; exit; } } // Создание API ключа public function apikey_activate(){ $key_id = isset($_POST['key_id'])?$_POST['key_id']:0; $rowcount = 0; if($key_id>0){ $rowcount = $this->database->update(DB_PREFIX.'api_keys',array( 'active' =>'1' ),"id={$key_id}"); } if($rowcount>0){ ajax::success(true); }else{ echo '{"fail":"Ошибка активации ключа."}'; exit; } } // Создание API ключа public function apikey_deactivate(){ $key_id = isset($_POST['key_id'])?$_POST['key_id']:0; $rowcount = 0; if($key_id>0){ $rowcount = $this->database->update(DB_PREFIX.'api_keys',array( 'active' =>'0' ),"id={$key_id}"); } if($rowcount>0){ ajax::success(true); }else{ echo '{"fail":"Ошибка деактивации ключа."}'; exit; } } // Создание API ключа public function apikey_delete(){ $key_id = isset($_POST['key_id'])?$_POST['key_id']:0; if($key_id>0){ $rowcount = $this->database->update(DB_PREFIX.'api_keys',array( 'deleted' =>'1' ),"id={$key_id}"); } if($rowcount>0){ ajax::success(true); }else{ echo '{"fail":"Ошибка удаления ключа."}'; exit; } } // Создание API ключа public function apikey_save(){ $key_id = isset($_POST['key_id'])?$_POST['key_id']:0; $name = isset($_POST['name'])?$_POST['name']:''; $detect = isset($_POST['detect'])?$_POST['detect']:'0'; if($key_id>0){ $rowcount = $this->database->update(DB_PREFIX.'api_keys',array( 'name' =>$name, 'detect' =>$detect ),"id={$key_id}"); } if($rowcount>0){ ajax::success(true); }else{ echo '{"fail":"Ошибка обновления ключа."}'; exit; } } // ---> НАСТРОЙКИ public function save_dcc($dcc_id=0){ if($dcc_id==0)return; $la = $_POST['la']; $lo = $_POST['lo']; $zoom = $_POST['zoom']; $host = $_POST['host']; $port = $_POST['port']; $site = $_POST['site']; $rowcount = $this->database->update(DB_PREFIX.'dcc',array( // 'json' =>json_encode($json), 'host' =>$host, 'port' =>$port, 'site' =>$site, 'la' =>$la, 'lo' =>$lo, 'zoom' =>$zoom ),"id={$dcc_id}"); if($rowcount>0){ //$json = session::set('json',$json); ajax::success(true); }else{ echo '{"fail":"Ошибка сохранения настроек системы!"}'; exit; } } // <--- НАСТРОЙКИ public function getDCC($dcc_id=0){ if($dcc_id==0)return; try{ $sth = $this->database->prepare("SELECT du.*, co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city, co.currency FROM `".DB_PREFIX."dcc` du INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.id=".$dcc_id.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data[0]; } public function getActiveDCCCities($deleted=0){ try{ $sth = $this->database->prepare("SELECT du.city_id,co.country_name_ru as country,r.region_name_ru as region,c.city_name_ru as city FROM `".DB_PREFIX."dcc` du INNER JOIN city_ c ON c.`id_city` = du.`city_id` INNER JOIN region_ r ON r.`id_region` = c.`id_region` INNER JOIN country_ co ON co.`id_country` = c.`id_country` WHERE du.block='0' AND du.deleted='".$deleted."' GROUP BY du.`city_id`"); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ return $e->getMessage(); } //var_export($data);exit; return $data; } public function getDCCCount($city_id=0,$deleted=0){ $where = ''; if ($city_id!=0){ $where = 'AND du.city_id='.$city_id; } try{ $sth = $this->database->prepare("SELECT count(*) as count FROM `".DB_PREFIX."dcc` du WHERE du.block='0' AND du.deleted='".$deleted."' ".$where.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data[0]['count']; } public function getCrashCount($version=0){ $where = ''; if ($version>0){ $where = "AND du.app_version_name='".$version."'"; } try{ $sth = $this->database->prepare("SELECT count(*) as count FROM `acra_crashes` du WHERE du.id>0 ".$where.""); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data[0]['count']; } public function getCrashVersions(){ try{ $sth = $this->database->prepare("SELECT app_version_name,count(*) as count FROM `acra_crashes` du GROUP BY app_version_name "); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data; } public function getCrashes($version,$page){ if ($version>0){ $where = "AND du.app_version_name='".$version."'"; } if ($page!=0){ $page_number=abs(($page-1)*LIMIT); }else{ $page_number=0; } try{ $sth = $this->database->prepare("SELECT * FROM `acra_crashes` du WHERE id>0 ".$where." ORDER BY du.`id` DESC LIMIT ".$page_number." , ".LIMIT." "); $sth->execute(); $data = $sth->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ //echo $e->getMessage();exit; return $e->getMessage(); } //var_export($data);exit; return $data; } public function deleteCrashsVersion($version=0){ if ($version>0){ $where = "AND app_version_name='".$version."'"; } //echo "DELETE FROM `acra_crashes` WHERE `id`>0 ".$where; //exit(); $count = $this->database->query("DELETE FROM `acra_crashes` WHERE `id`>0 ".$where); if($count>0){ return true; } return false; } // --------------------------------------------------------- public function getLog(){ try{ $sth = $this->database->prepare("SELECT * FROM `logs` ORDER BY id DESC LIMIT 20"); $sth->execute(); $data = $sth->fetchAll(); }catch(PDOException $e){ return $e->getMessage(); } return $data; } public function getWidgetComplexes(){ $sth = $this->database->prepare("SELECT d.*,c.city_name_ru as cName, co.country_name_ru as coName,pt.name as tarif FROM `dcc` d LEFT OUTER JOIN `city_` c ON (d.city_id=c.id_city) LEFT OUTER JOIN `country_` co ON (co.id_country=c.id_country) LEFT OUTER JOIN `pay_type` pt ON (d.pay_type=pt.id) WHERE d.deleted='0' AND d.gid<>0 AND d.gid<5000 ORDER BY d.`last_update` LIMIT 100"); $sth->execute(); if($sth->rowCount()>0){ $arr = $sth->fetchAll(); $count = 0; foreach($arr as $k => $v){ $count++; $arr[$k]['nn']=$count; $last_update = time() - strtotime($v['last_update']); if($last_update>300){$arr[$k]['sys']='important';}else{$arr[$k]['sys']='success';} $last_backup = time() - strtotime($v['last_backup']); if($last_backup>86400){$arr[$k]['backup']='important';}else{$arr[$k]['backup']='success';} } echo json_encode($arr,true); return; } return false; } private static function getCurrentEvent($type,$host,$gid=0){ switch($type){ case 1: return ' Остановить'; case 2: return ' Запустить'; case 3: return ' Перезагрузка'; case 4: return ''; case 7: return ''; case 8: return ' Файлы'; case 9: return ''; case 10: return ''; default: return "NULL ".$type; } } public function getWidgetSystem_calls(){ $sth = $this->database->prepare('SELECT dc.*,pr.user_type, pr.fio, pr.summ_call as scall, d.taxi_name as tName, c.city_name_ru as cName, co.country_name_ru as coName FROM `dcc_calls` dc LEFT OUTER JOIN `dcc` d ON (d.gid=dc.gid) LEFT OUTER JOIN `phone_relations` pr ON (dc.phone=pr.phone) LEFT OUTER JOIN `city_` c ON (d.city_id=c.id_city) LEFT OUTER JOIN `country_` co ON (co.id_country=c.id_country) ORDER BY dc.`id` DESC LIMIT 0 , 30'); $sth->execute(); if($sth->rowCount()>0){ $arr = $sth->fetchAll(); foreach($arr as $k => $value){ if($arr[$k]['filename']==''){ $arr[$k]['drec'] = 'display:none;'; }else{ if(file_exists('/mnt/hdd/doncode_rec/'.$arr[$k]['filename'].'.mp3')){ $arr[$k]['drec'] = ''; }else{ $arr[$k]['drec'] = 'display:none;'; } } $arr[$k]['date_time'] = bootstrap::HumanDatePrecise($arr[$k]['date_time']); switch($arr[$k]['status']){ case 1: $arr[$k]['status_t'] = 'Принят'; $arr[$k]['color_status'] = 'success'; break; case 2: $arr[$k]['status_t'] = 'Пропущен'; $arr[$k]['color_status'] = 'important'; break; case 3: $arr[$k]['status_t'] = 'Разговор'; $arr[$k]['color_status'] = 'info'; break; case 4: $arr[$k]['status_t'] = 'Звонок'; $arr[$k]['color_status'] = 'warning'; break; case 5: $arr[$k]['status_t'] = 'Переадресован'; $arr[$k]['color_status'] = 'inverse'; break; default: $arr[$k]['status_t'] = $arr[$k]['status']; } switch($arr[$k]['user_type']){ case 1: $arr[$k]['user_type_t'] = 'Диспетчер'; break; case 2: $arr[$k]['user_type_t'] = 'Директор'; break; case 3: $arr[$k]['user_type_t'] = 'Водитель'; break; case 4: $arr[$k]['user_type_t'] = 'Клиент'; break; case 5: $arr[$k]['user_type_t'] = 'Doncode'; break; default: $arr[$k]['user_type_t'] = 'Гость'; } } echo json_encode($arr,true); return; } return false; } public function getWidgetSystem_events(){ $sth = $this->database->prepare('SELECT e.*,d.taxi_name,d.host,d.port,w.name as who, de.label, de.icon, c.city_name_ru,de.name as type,e.type as et FROM `dcc_event` e LEFT OUTER JOIN `dcc` d ON d.gid=e.gid LEFT OUTER JOIN `city_` c ON d.city_id=c.id_city LEFT OUTER JOIN `who` w ON w.wid=e.who LEFT OUTER JOIN `dcc_event_type` de ON de.id=e.type ORDER BY e.`create_date` DESC LIMIT 50'); $sth->execute(); if($sth->rowCount()>0){ $arr = $sth->fetchAll(); foreach($arr as $k => $value){ $arr[$k]['create_date'] = bootstrap::HumanDatePrecise($arr[$k]['create_date']); $arr[$k]['event'] = $this->getCurrentEvent($arr[$k]['et'],$arr[$k]['host'].':'.$arr[$k]['port'],$arr[$k]['gid']); } //var_export($arr);exit; echo json_encode($arr,true); return; } return false; } public function getWidgetMobclients(){ $sth = $this->database->prepare('SELECT u.*,n.phone,d.taxi_name,c.city_name_ru FROM `mobile_users` u LEFT OUTER JOIN `mobile_numbers` n ON u.id=n.user_id LEFT OUTER JOIN `dcc` d ON d.gid=u.gid LEFT OUTER JOIN `city_` c ON c.id_city=d.city_id ORDER BY u.`last_date` DESC LIMIT 20'); $sth->execute(); if($sth->rowCount()>0){ $arr = $sth->fetchAll(); foreach($arr as $k => $value){ $arr[$k]['last_date'] = bootstrap::HumanDatePrecise($arr[$k]['last_date']); if($arr[$k]['last_date']==0){ $arr[$k]['last_date_'] = 'success'; }else{ $arr[$k]['last_date_'] = 'info'; } } echo json_encode($arr,true); return; } return false; } public function getWidgetTaxiprog(){ $sth = $this->database->prepare('SELECT * FROM `users` ORDER BY `lastlogin` DESC LIMIT 20'); $sth->execute(); if($sth->rowCount()>0){ $arr = $sth->fetchAll(); foreach($arr as $k => $value){ if($arr[$k]['datereg']=='0000-00-00 00:00:00'){ $arr[$k]['datereg'] = 'не известно'; }else{ $arr[$k]['datereg'] = bootstrap::HumanDatePrecise($arr[$k]['datereg']); } $arr[$k]['lastlogin'] = bootstrap::HumanDatePrecise($arr[$k]['lastlogin']); } echo json_encode($arr,true); return; } return false; } }