/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.login_model.php (25014B)
_redirect = (isset($_SERVER['HTTP_REFERER']) && strlen($_SERVER['HTTP_REFERER'])>0)?$_SERVER['HTTP_REFERER']:URL; } public function out (){ $this->database->log('Пользователь '.session::get('login').' вышел с системы.',get_class($this).'->'.__FUNCTION__); session::destroy(); header("Location:".$this->_redirect); exit; } public function signupuser(){ if(!ajax::check_ajax_request()) { header('Location:'.$this->_redirect ); exit; } $login = '+'.preg_replace("/[^0-9]/","",$_POST['login']); $country = intval($_POST['country']); $region = intval($_POST['region']); $city = intval($_POST['city']); $pass1 = $_POST['pass1']; $pass2 = $_POST['pass2']; $fio = $_POST['fio']; $email = $_POST['email']; $policy = isset($_POST['policy'])?1:0; if (strlen($fio)<3){ echo '{"fail":"Введите своё имя","failid":"fio","focus":"fio"}'; exit; } // +380501234567 - 13 // +77001234567 - 12 if (strlen($login)<12||strlen($login)>13){ echo '{"fail":"Логин не может состоять меньше 12 и больше 13 символов.","failid":"phone","focus":"phone"}'; exit; } $sth = $this->database->prepare("SELECT * FROM `".DB_PREFIX."users` WHERE `login`=:login AND `block`='0';"); $sth->execute(array(':login' => $login)); $count = $sth->rowCount(); //$data=$sth->fetch(); if ($count > 0) { echo '{"fail":"Пользователь с таким номером уже зарегистрирован.","failid":"phone","focus":"phone"}'; exit; } if (!$country>0){ echo '{"fail":"Укажите страну.","failid":"country","focus":"country"}'; exit; } if (!$region>0){ echo '{"fail":"Укажите регион.","failid":"region","focus":"region"}'; exit; } if (!$city>0){ echo '{"fail":"Укажите город.","failid":"city","focus":"city"}'; exit; } if (strlen($pass1)<4){ echo '{"fail":"Пароль не может состоять меньше 4 символов.","failid":"pass1","focus":"pass1"}'; exit; } if ($pass1!=$pass2){ echo '{"fail":"Пароли не совпадают.","failid":"pass2","focus":"pass2"}'; exit; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)){ echo '{"fail":"E-mail указан не верно.","failid":"email","focus":"email"}'; exit; } if ($policy==0){ echo '{"fail":"Примите условия использования сервиса","failid":"policy","focus":"policy"}'; exit; } // reCapcha $myCurl = curl_init(); $request['secret'] = SECRET_RECAPCHA; $request['response'] = $_POST['g-recaptcha-response']; curl_setopt_array($myCurl, array( CURLOPT_URL => 'https://www.google.com/recaptcha/api/siteverify', CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query($request) )); $response = curl_exec($myCurl); curl_close($myCurl); $capcha = json_decode($response,true); if(!is_array($capcha)||$capcha['success']==false){ echo '{"fail":"Подтвердите что Вы не робот"}'; exit; } $json['events']['callon'] = 1; $json['events']['smson'] = 1; $json['events']['showphone'] = 1; $json['events']['emailon'] = 1; $json['events']['emailnews'] = 1; $insertid = $this->database->insert(DB_PREFIX.'users',array( 'login' =>$login, 'password' =>hash::create('sha256',$pass1,HASH_STATIC), 'FIO' =>$fio, 'email' =>$email, 'ip' =>$_SERVER["REMOTE_ADDR"], 'datereg' =>date("Y-m-d H:i:s"), 'country_id' =>$country, 'region_id' =>$region, 'city_id' =>$city, 'lang' =>'ru', 'json' => json_encode($json) )); if($insertid>0){ $insertroleid = $this->database->insert('user_role',array( 'user_id' =>$insertid, 'role_id' =>2 )); $activate_key = hash::create('sha256',$login.$pass1.$insertid,HASH_STATIC); $insertkeyid = $this->database->insert(DB_PREFIX.'activate_email',array( 'key' =>$activate_key, 'user_id' =>$insertid )); $message = '

Приветствуем Вас в международной системе '.APP_NAME.'!


Вы получили это письмо, так как зарегистрировались на сайте api.doncode.com.ua

Если Вы этого не делали, то просто удалите это сообщение или присоединяйтесь к нашему проекту бесплатно!

Внимание! Для активации профиля нажмите здесь '; $this->mail->send($email, "Подтверждение регистрации", $message); // отправка админу $message = '

Новый пользователь: '.$insertid.'


ФИО: '.$fio.'
Логин: '.$login.'
e-mail: '.$email.'
Дата: '.date("Y-m-d H:i:s").'
IP: '.$_SERVER["REMOTE_ADDR"].'
'; $this->mail->send_uid(1, "Новый пользователь ".$insertid, $message); ajax::success(true); }else{ echo '{"fail":"Ошибка создания аккаунта."}'; exit; } } public function signup_driver(){ if(!ajax::check_ajax_request()) { header('Location:'.$this->_redirect ); exit; } $phone_call = preg_replace("/[^0-9]/","",$_POST['phone_call']); $phone_work = preg_replace("/[^0-9]/","",$_POST['phone_work']); $car_mark = intval($_POST['car_mark']); $car_model = intval($_POST['car_model']); $car_color = intval($_POST['car_color']); $car_date = intval($_POST['car_date']); $car_nr = $_POST['car_nr']; $dl_nr = $_POST['dl_nr']; $dl_date = $_POST['dl_date']; $dl_cat = $_POST['dl_cat']; $bdate = $_POST['bdate']; $pas_fio = $_POST['pas_fio']; $pas_nr = $_POST['pas_nr']; $pas_who = $_POST['pas_who']; $pas_date = $_POST['pas_date']; $pas_home = $_POST['pas_home']; $pas_inn = $_POST['pas_inn']; $policy =isset($_POST['policy'])?1:0; if ($car_mark==0){ echo '{"fail":"Выберите марку автомобиля","failid":"car","focus":"car_mark"}'; exit; } if ($car_model==0){ echo '{"fail":"Выберите модель автомобиля","failid":"car","focus":"car_model"}'; exit; } if ($car_color==0){ echo '{"fail":"Выберите цвет автомобиля","failid":"car","focus":"car_color"}'; exit; } if (strlen($car_nr)<3){ echo '{"fail":"Введите номер автомобиля","failid":"car","focus":"car_nr"}'; exit; } if (strlen($car_date)<4){ echo '{"fail":"Введите год выпуска автомобиля","failid":"car","focus":"car_date"}'; exit; } if (strlen($dl_nr)<3){ echo '{"fail":"Введите номер водительского удостоверения","failid":"dl","focus":"dl_nr"}'; exit; } if (strlen($dl_date)<3){ echo '{"fail":"Введите дату выдачи водительского удостоверения","failid":"dl","focus":"dl_date"}'; exit; } if (strlen($dl_cat)<1){ echo '{"fail":"Введите категории водительского удостоверения","failid":"dl","focus":"dl_cat"}'; exit; } if (strlen($bdate)<3){ echo '{"fail":"Введите Вашу дату рождения","failid":"dl","focus":"bdate"}'; exit; } if (strlen($pas_fio)<3){ echo '{"fail":"Введите ФИО","failid":"pas1","focus":"pas_fio"}'; exit; } if (strlen($pas_nr)<3){ echo '{"fail":"Введите серию и номер паспорта","failid":"pas1","focus":"pas_nr"}'; exit; } if (strlen($pas_who)<3){ echo '{"fail":"Введите кем выдан паспорт","failid":"pas2","focus":"pas_who"}'; exit; } if (strlen($pas_date)<3){ echo '{"fail":"Выберите когда выдан паспорт","failid":"pas2","focus":"pas_date"}'; exit; } if (strlen($pas_home)<3){ echo '{"fail":"Введите Вашу прописку","failid":"pas3","focus":"pas_home"}'; exit; } if (strlen($pas_inn)<3){ echo '{"fail":"Введите идентификационный номер налогоплатильщика ИНН","failid":"pas3","focus":"pas_inn"}'; exit; } if (strlen($phone_call)<10){ echo '{"fail":"Телефон не может состоять меньше 10 символов","failid":"phones","focus":"phone_call"}'; exit; } if (strlen($phone_work)<10){ echo '{"fail":"Телефон не может состоять меньше 10 символов","failid":"phones","focus":"phone_work"}'; exit; } if ($policy==0){ echo '{"fail":"Примите условия использования сервиса","failid":"policy","focus":"policy"}'; exit; } // reCapcha $myCurl = curl_init(); $request['secret'] = SECRET_RECAPCHA; $request['response'] = $_POST['g-recaptcha-response']; curl_setopt_array($myCurl, array( CURLOPT_URL => 'https://www.google.com/recaptcha/api/siteverify', CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query($request) )); $response = curl_exec($myCurl); curl_close($myCurl); $capcha = json_decode($response,true); if(!is_array($capcha)||$capcha['success']==false){ echo '{"fail":"Подтвердите что Вы не робот"}'; exit; } $insertid = $this->database->insert(DB_PREFIX.'drivers',array( 'mark_id' =>$car_mark, 'model_id' =>$car_model, 'color_id' =>$car_color, 'car_nr' =>$car_nr, 'car_date' =>$car_date, 'dl_nr' =>$dl_nr, 'dl_date' =>$dl_date, 'dl_cat' =>$dl_cat, 'bdate' =>$bdate, 'pas_fio' =>$pas_fio, 'pas_nr' =>$pas_nr, 'pas_who' =>$pas_who, 'pas_date' =>$pas_date, 'pas_home' =>$pas_home, 'pas_inn' =>$pas_inn, 'phone_call' =>$phone_call, 'phone_work' =>$phone_work )); if($insertid>0){ $this->database->update(DB_PREFIX.'users',array( 'driver_id' => $insertid ),"id=".session::get('id_user')); $this->database->update('user_role',array( 'role_id' => 3 ),"user_id=".session::get('id_user'),'role_id=2'); session::set('driver_id',$insertid); session::set('driver_active',0); $message = '

Здравствуйте, '.session::get('fio').'


Вы отправили заявку на регистрацию водителя на '.APP_NAME.' api.doncode.com.ua

Внимание! Для подтверждения введенных Вами данных и доступа к работе, загрузите фотографии документов в Вашем профиле!

Будем рады сотрудничать с Вами! '; $this->mail->send_uid(session::get('id_user'), "Заявка на регистрацию водителя", $message); // отправка админу $message = '

Новый водитель: '.session::get('fio').'


Позывной: '.$insertid.' '; $this->mail->send_uid(1, "Новый водитель ".$insertid, $message); ajax::success(true); }else{ echo '{"fail":"Ошибка создания аккаунта водителя."}'; exit; } } public function activatemail($key,$reactivate=0){ $sth = $this->database->prepare("SELECT * FROM `".DB_PREFIX."activate_email` WHERE `key`=:key;"); $sth->execute(array(':key' => $key)); $count = $sth->rowCount(); $data=$sth->fetch(PDO::FETCH_ASSOC); if ($count > 0) { $this->database->update(DB_PREFIX.'users',array( 'email_confirmed' =>'1' ),"id={$data['user_id']}"); $this->database->query("DELETE FROM ".DB_PREFIX."activate_email WHERE id={$data['id']}"); $sth = $this->database->prepare("SELECT * FROM `".DB_PREFIX."users` WHERE `id`=:id AND `block`='0' ;"); $sth->execute(array(':id' => $data['user_id'])); $count = $sth->rowCount(); $user=$sth->fetch(PDO::FETCH_ASSOC); $subject = "Успешная регистрация!"; $message = '

Здравствуйте, '.$user['FIO'].'!


Поздравляем Вас с успешной регистрацией в международной системе '.APP_NAME.'!

Ваш логин: '.$user['login'].'

Для входа в систему нажмите здесь '; if($reactivate==1){ $subject = "Успешная активация нового адреса!"; $message = '

Здравствуйте, '.$user['FIO'].'!


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

Ваш логин: '.$user['login'].'

Для входа в систему нажмите здесь '; } $this->mail->send($user['email'], $subject, $message); if(session::get('logedIn')){ session::set('email_confirmed',1); } return true; } return false; } public function login(){ if(!ajax::check_ajax_request()) { header('Location:'.$this->_redirect ); exit; } $login = '+'.preg_replace("/[^0-9]/","",$_POST['login']); if (strlen($login)<12||strlen($login)>13){ echo '{"fail":"Логин не может состоять меньше 12 и больше 13 символов.","failid":"phone","focus":"phone"}'; exit; } $sth = $this->database->prepare("SELECT p.phone,du.*,co.country_name_ru,co.currency,re.region_name_ru,ci.city_name_ru,ci.la,ci.lo,ci.zoom, dr.active as driver_active, e.active as exchange_active, e.taxi_name, e.dcc_id, d.host, d.port, d.key FROM `".DB_PREFIX."users` du INNER JOIN `".DB_PREFIX."phones` p ON p.user_id=du.id LEFT OUTER JOIN `country_` co ON co.id_country=du.country_id LEFT OUTER JOIN `region_` re ON re.id_region=du.region_id LEFT OUTER JOIN `city_` ci ON ci.id_city=du.city_id LEFT OUTER JOIN `".DB_PREFIX."drivers` dr ON dr.id = du.driver_id LEFT OUTER JOIN `".DB_PREFIX."exchange` e ON e.id = du.exchange_id LEFT OUTER JOIN `".DB_PREFIX."dcc` d ON d.id = e.dcc_id WHERE p.phone='".$login."' AND du.`password`=:password AND du.`block`='0' LIMIT 1;"); $sth->execute(array(':password' =>hash::create('sha256',$_POST['password'],HASH_STATIC))); $count = $sth->rowCount(); if ($count > 0) { $data=$sth->fetch(PDO::FETCH_ASSOC); $this->database->update(DB_PREFIX.'users',array( 'ip' =>$_SERVER["REMOTE_ADDR"], 'sid' =>session_id(), 'lastvisit' =>date("Y-m-d H:i:s"), 'online_times' =>time() ),"id={$data['id']}"); //session::set('sid', session_id()); session::set('id_user', $data['id']); session::set('login', $data['phone']); session::set('driver_id', $data['driver_id']); session::set('fio', $data['FIO']); session::set('email', $data['email']); session::set('email_confirmed', $data['email_confirmed']); session::set('lastvisit', $data['lastvisit']); session::set('online', $data['online']); session::set('balance', $data['balance']); session::set('country_id', $data['country_id']); session::set('country', $data['country_name_ru']); session::set('region_id', $data['region_id']); session::set('region', $data['region_name_ru']); session::set('city_id', $data['city_id']); session::set('city', $data['city_name_ru']); session::set('city_la', $data['la']); session::set('city_lo', $data['lo']); session::set('city_zoom', $data['zoom']); session::set('currency', $data['currency']); session::set('rate', $data['rate']); session::set('lang', $data['lang']); if($data['driver_id']>0){ session::set('driver_active', $data['driver_active']); }else{ session::set('driver_active', 0); } session::set('exchange_id', $data['exchange_id']); if($data['exchange_id']>0){ session::set('exchange_active', $data['exchange_active']); session::set('dcc_id', $data['dcc_id']); session::set('taxi_name', $data['taxi_name']); session::set('taxi_host', $data['host']); session::set('taxi_port', $data['port']); session::set('taxi_key', $data['key']); }else{ session::set('exchange_active', 0); session::set('dcc_id', 0); } $json_default['events']['callon'] = 1; $json_default['events']['smson'] = 1; $json_default['events']['showphone'] = 1; $json_default['events']['emailon'] = 1; $json_default['events']['emailnews'] = 1; $json = array_merge($json_default, json_decode($data['json'],true)); session::set('json', $json); // Загрузка данных о текущем заказе $ord = new order(); $order = $ord->select_one("do.status ='new' AND do.user_id='{$data['id']}' AND do.control_id='0' LIMIT 1"); if(!isset($order['json']['la'])){ $order['json']['la'] = 0; } if(!isset($order['json']['lo'])){ $order['json']['lo'] = 0; } if(!isset($order['json']['distance'])){ $order['json']['distance'] = 0; } if(!isset($order['json']['cost'])){ $order['json']['cost'] = 0; } session::set("order_id",$order['id']); session::set("last_order_id",$order['id']); session::set("order_createdate",$order['createdate']); session::set("order_ontime",$order['ontime']); session::set("order_ontimedate",$order['ontimedate']); session::set("order_ontimetime",$order['ontimetime']); session::set("order_phone",$order['json']['phone']); session::set("order_adres",$order['json']['adres']); session::set("order_house",$order['json']['house']); session::set("order_porch",$order['json']['porch']); session::set("order_object",$order['json']['object']); session::set("order_comment",$order['json']['comment']); session::set("order_thecity",$order['json']['thecity']); session::set("order_adresX",$order['json']['adresX']); session::set("order_fio",$order['json']['fio']); session::set("order_addcost",$order['json']['addcost']); session::set("order_la",$order['json']['la']); session::set("order_lo",$order['json']['lo']); session::set("order_distance",$order['json']['distance']); session::set("order_cost",$order['json']['cost']); session::set("order_options",$order['json']['options']); if ($ord->getCount() > 0) { $page = 'user/status_order'; }else{ $page = 'index'; session::set("order_phone",$data['phone']); session::set("order_fio",$data['FIO']); } session::set('logedIn', true); $msg='Вы вошли как '.$data['login']; //session::set('msg',$msg); $this->database->log($msg,get_class($this).'->'.__FUNCTION__); if(ajax::check_ajax_request()) { echo '{"success":true,"page":"'.$page.'"}'; exit; }else{ header('Location:'.$this->_redirect); exit; } } else { if(ajax::check_ajax_request()) { $msg='Ошибка авторизации. Не правильный логин '.$login.' или пароль'; $this->database->log($msg,get_class($this).'->'.__FUNCTION__); echo '{"fail":"'.$msg.'"}'; return false; }else{ $msg='Ошибка авторизации. Не правильный логин '.$login.' или пароль'; //session::set('msg',$msg); $this->database->log($msg,get_class($this).'->'.__FUNCTION__); header('Location:'.$this->_redirect ); exit; } } } public function getCountry ($ajax=false){ $sth=$this->database->prepare("SELECT `id_country` as id,`country_name_ru` as name FROM `country_`"); $sth->execute(); if ($ajax){ echo json_encode($sth->fetch()); }else{ return $sth->fetchAll(); } } public function getRegion ($id_country=0,$ajax=false){ $sth=$this->database->prepare("SELECT `id_region` as id,`region_name_ru` as name FROM `region_` WHERE id_country = ".$id_country); $sth->execute(); if ($ajax){ echo json_encode($sth->fetchAll()); }else{ return $sth->fetchAll(); } } public function getCity ($id_region=0,$ajax=false){ $sth=$this->database->prepare("SELECT `id_city` as id,`city_name_ru` as name FROM `city_` WHERE `id_region` = ".$id_region); $sth->execute(); if ($ajax){ echo json_encode($sth->fetchAll()); }else{ return $sth->fetchAll(); } } }