Tusers = $ST['dbpf'].'_users'; $this->Tusers_statuses = $ST['dbpf'].'_users_statuses'; $this->Tteachers = $ST['dbpf'].'_teachers'; $this->chpu = new class_CHPU(); $CHPU = new class_CHPU($WorkDIR); $this->URLS = $CHPU->uri(); $this->DB = $DB; } /** * Проверка на авторизацию пользователя * @throws SmartyException */ public function check(){ GLOBAL $smarty,$WorkDIR; if($this->URLS[0]=='logout'){ unset($_SESSION['user']); } if(!isset($_SESSION['user'])){ if(isset($_POST['enter'])){ $email = $_POST['email']; $passw = $_POST['password']; $user = $this->check_user_auth($email,$passw); if(count($user)){ header('Location: '.$WorkDIR); exit(); } } $smarty->display('tpl_auth.html'); exit(); }else{ $_SESSION['user']['statuses'] = $this->statuses($_SESSION['user']['id']); $_SESSION['user']['teachers'] = $this->teachers($_SESSION['user']['id']); } } public function check_user_auth($email,$passw){ $out=array(); $passw1=$passw; include_once '../inc/ps01salt.php'; /** * @var array $ps01salt */ $passw = md5($ps01salt[1].$passw.$ps01salt[2]); $sql = 'SELECT * FROM '.$this->Tusers.' WHERE email="'.$this->DB->rescape($email).'" AND pass="'.$this->DB->rescape($passw).'"'; $rez = $this->DB->QUR_SEL($sql); if(!$rez['err']&&$rez['kol']){ $_SESSION['user'] = $rez['rez'][0]; $_SESSION['user']['statuses'] = $this->statuses($_SESSION['user']['id']); $_SESSION['user']['teachers'] = $this->teachers($_SESSION['user']['id']); $_SESSION['user']['chdpwd']=1; unset($_SESSION['user']['pass']); $out = $_SESSION['user']; } return $out; } function enter_by_user($id){ $out=array(); $sql = 'SELECT * FROM '.$this->Tusers.' WHERE id='.$id.' LIMIT 1'; $rez = $this->DB->QUR_SEL($sql); if(!$rez['err']&&$rez['kol']){ $_SESSION['user'] = $rez['rez'][0]; $_SESSION['user']['statuses'] = $this->statuses($_SESSION['user']['id']); $_SESSION['user']['teachers'] = $this->teachers($_SESSION['user']['id']); $_SESSION['user']['chdpwd']=1; unset($_SESSION['user']['pass']); $out = $_SESSION['user']; } return $out; } function statuses($id_user=0){ $out=array(); //TODO сделать выбор из главного файла конфига! $statuses = array('-1'=>'заблокирован', '0'=>'обычный', '9'=>'выпускник', '10'=>'трудоустройство', '20'=>'УМУ', '21'=>'Зам.декана', '22'=>'Аттестационная комиссия', '23'=>'Кафедра', '24'=>'Декан', '25'=>'Секретарь деканата', '26'=>'Управление студ-кадров', '27'=>'Ответственный за практику', '28'=>'Ведущий курсов ДПО', '29'=>'Библиотека', '30'=>'Зав.кафедрой', '31'=>'[Доп] Зам.декана ОФО', '32'=>'[Доп] Зам.декана ЗФО', '33'=>'[Доп] Зам.декана ОЗФО', '35'=>'Общежитие', '36'=>'БФУ', '37'=>'Здравпункт', '39'=>'Проверяющий кафедры', '41'=>'мат.помощь ЧленКомиссии', '42'=>'мат.помощь СекретарьКомиссии', '59'=>'эфф.контракт Админ', '60'=>'Управление научной деятельностью', '71'=>'Председатель аккредитационной комиссии', '72'=>'Центр аккредитации', '77'=>'Сотрудник ИТ-отдела', '78'=>'ДОП ДОСТУП', '79'=>'Проректор по УР', '80'=>'администратор учительской', '97'=>'редактор инструкций', '98'=>'администрирование пользователей', '99'=>'супер админ'); if($id_user==0) $id_user = $_SESSION['user']['id']; $sql = 'SELECT statuses FROM '.$this->Tusers_statuses.' WHERE id_user='.$id_user; $rez = $this->DB->QUR_SEL($sql); if(!$rez['err']&&$rez['kol']){ $stats = explode(',',$rez['rez'][0]['statuses']); foreach ($stats as $k => $v){ //if($v!=79) { if (isset($statuses[$v])) $out[$v] = $statuses[$v]; else $out[$v] = '-'; //} } } return $out; } function teachers($id_user=0){ $out=array(); if($id_user==0) $id_user = $_SESSION['user']['id']; $sql = 'SELECT * FROM '.$this->Tteachers.' WHERE id_user='.$id_user; $rez = $this->DB->QUR_SEL($sql); if(!$rez['err']&&$rez['kol']){ $out = $rez['rez'][0]; } return $out; } }