/var/www/myprog.com.ua/admin/models
Edit: /var/www/myprog.com.ua/admin/models/class.admin_model.php (10478B)
>>
public function getContractors ($ajax=false){
$sth=$this->database->prepare("SELECT * FROM contractor WHERE deleted='0'");
$sth->execute();
if ($ajax){
echo json_encode($sth->fetchAll());
}else{
return $sth->fetchAll();
}
}
// SETTINGS <<<
public function getAllSystems(){
try{
$sth = $this->database->prepare("SELECT s.*,u.login,pt.name as pay_name
FROM `systems` s
LEFT JOIN users_systems us ON s.id=us.system_id
LEFT JOIN users u ON u.id=us.user_id
LEFT JOIN pay_types pt ON s.pay_type_id=pt.id
WHERE s.`deleted`='0'");
$sth->execute();
$res = $sth->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
return $e->getMessage();
}
//var_export($data);exit;
return $res;
}
public function getSystem($id){
try{
$sth = $this->database->prepare("SELECT s.*
FROM `systems` s
WHERE s.`deleted`='0' AND s.`id`=".$id);
$sth->execute();
$res = $sth->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
return $e->getMessage();
}
//var_export($data);exit;
return $res[0];
}
public function getPayTypes(){
try{
$sth = $this->database->prepare("SELECT pt.*
FROM `pay_types` pt
WHERE pt.`deleted`='0'");
$sth->execute();
$res = $sth->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
return $e->getMessage();
}
//var_export($data);exit;
return $res;
}
// USER >>>
public function getUsers(){
try{
$sth = $this->database->prepare("SELECT u.*, r.*
FROM `users` u
LEFT JOIN user_role ur ON u.id=ur.user_id
LEFT JOIN roles r ON ur.role_id=r.role_id
WHERE u.`block`='0' AND u.`deleted`='0' ORDER BY u.`lastvisit`");
$sth->execute();
$res = $sth->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
return $e->getMessage();
}
//var_export($data);exit;
return $res;
}
public function getUser($id=0){
if($id==0)return;
try{
$sth = $this->database->prepare("SELECT u.*, r.*
FROM `users` u
LEFT JOIN user_role ur ON u.id=ur.user_id
LEFT JOIN roles r ON ur.role_id=r.role_id
WHERE u.id='".$id."' AND u.`block`='0' AND u.`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[0];
}
public function add_user(){
$user['login'] = $_POST['login'];
$user['datereg'] = date("Y-m-d H:i:s");
$user_id = $this->database->insert('users',$user);
$role['user_id'] = $user_id;
$role['role_id'] = 4; // DEFAULT ROLE ID ON CREATE USER!!!!!!!!!!!!!
$id = $this->database->insert('user_role',$role);
if($id>0){
ajax::success(true);
}else{
echo '{"fail":"Ошибка создания пользователя!"}';
exit;
}
}
public function del_user($id=0){
$change_role = false;
if($id==0)return;
$data['deleted'] = '1';
$rowcount = $this->database->update('users',$data,"id={$id}");
if($rowcount>0){
header('Location:'.URL.'admin/users' );
}else{
echo '{"fail":"Ошибка удаления пользователя!"}';
exit;
}
}
public function save_user($id=0){
$change_role = false;
if($id==0)return;
$role_id = $_POST['role_id'];
$FIO = $_POST['FIO'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$login = $_POST['login'];
$role_id = intval($_POST['role_id']);
$contractor_id = intval($_POST['contractor_id']);
$password = $_POST['password'];
if($password!=''&&strlen($password)>3){
$data['password'] = hash::create('sha256',$password,HASH_STATIC);
$msg='Изменен пароль пользователя '.$login;
$this->database->log($msg,get_class($this).'->'.__FUNCTION__);
}
$role['role_id'] = $role_id;
$rowcount = $this->database->update('user_role',$role,"user_id={$id}");
if($rowcount>0){
$change_role = true;
}
$data['FIO'] = $FIO;
$data['login'] = $login;
$data['phone'] = $phone;
$data['email'] = $email;
$data['contractor_id'] = $contractor_id;
$rowcount = $this->database->update('users',$data,"id={$id}");
if($rowcount>0){
if($id==session::get('id_user')){
session::set('login', $data['login']);
session::set('fio', $data['FIO']);
session::set('email', $data['email']);
if($change_role)$this->getPerm();
}
//$json = session::set('json',$json);
$msg='Изменена анкета пользователя '.$login;
$this->database->log($msg,get_class($this).'->'.__FUNCTION__);
ajax::success(true);
}else{
if($change_role){
$msg='Изменены права доступа пользователя '.$login;
$this->database->log($msg,get_class($this).'->'.__FUNCTION__);
ajax::success(true);
}else{
echo '{"fail":"Ошибка сохранения анкеты!"}';
exit;
}
}
}
public function getUserBills($user_id=0){
if($user_id==0)return;
try{
$sth = $this->database->prepare("SELECT b.*
FROM `user_bills` ub
INNER JOIN bills b ON b.id=ub.bill_id
WHERE ub.user_id='".$user_id."' AND b.deleted='0'");
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
//echo $e->getMessage();exit;
return null;
}
//var_export($data);exit;
return $data;
}
public function getAllBills(){
try{
$sth = $this->database->prepare("SELECT b.*,cu.name as currency,co.name as company,u.login as login
FROM `bills` b
LEFT JOIN currency cu ON cu.id=b.currency_id
LEFT JOIN company co ON co.id=b.company_id
LEFT JOIN users u ON u.id=b.owner_user_id
WHERE b.deleted='0' ORDER BY company");
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
//echo $e->getMessage();exit;
return null;
}
//var_export($data);exit;
return $data;
}
// USER <<<
// ROLES >>>
public function getRole($id=0){
if($id==0)return;
try{
$sth = $this->database->prepare("SELECT r.*
FROM `roles` r
WHERE r.role_id='".$id."' AND r.`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[0];
}
public function getRolePerm($id=0){
if($id==0)return;
try{
$sth = $this->database->prepare("SELECT r.*
FROM `role_perm` r
WHERE r.role_id='".$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 add_role(){
$data['role_name'] = $_POST['name'];
$id = $this->database->insert('roles',$data);
if($id>0){
ajax::success(true);
}else{
echo '{"fail":"Ошибка сохранения анкеты!"}';
exit;
}
//header('Location:'.URL.'admin/roles' );
}
public function del_role($id=0){
$change_role = false;
if($id==0)return;
$data['deleted'] = '1';
$rowcount = $this->database->update('roles',$data,"role_id={$id}");
if($rowcount>0){
header('Location:'.URL.'admin/roles' );
}else{
echo '{"fail":"Ошибка удаления роли!"}';
exit;
}
}
public function save_role($id=0){
if($id==0)return;
$name = $_POST['name'];
$data['role_name'] = $name;
$rowcount = $this->database->update('roles',$data,"role_id={$id}");
if($rowcount>0){
ajax::success(true);
}else{
echo '{"fail":"Ошибка сохранения роли!"}';
exit;
}
}
// ROLE <<<
// PERMISSIONS >>>
public function save_perm($role_id,$perm_id,$checked){
$change_perm = false;
if($role_id==0||$perm_id==0)return;
$data['role_id'] = $role_id;
$data['perm_id'] = $perm_id;
//$data['checked'] = $checked;
$rowcount = $this->database->query("DELETE FROM role_perm WHERE role_id={$role_id} AND perm_id={$perm_id}");
if($checked==1){
$id = $this->database->insert('role_perm',$data);
}
echo $role_id.' '.$perm_id.' '.$checked;exit;
header('Location:'.URL.'admin/role/id/'+$role_id );
}
public function save_bill_access($user_id,$bill_id,$checked){
$change_perm = false;
if($user_id==0||$bill_id==0)return;
$data['user_id'] = $user_id;
$data['bill_id'] = $bill_id;
//$data['checked'] = $checked;
$rowcount = $this->database->query("DELETE FROM user_bills WHERE user_id={$user_id} AND bill_id={$bill_id}");
if($checked==1){
$id = $this->database->insert('user_bills',$data);
}
echo $user_id.' '.$bill_id.' '.$checked;exit;
header('Location:'.URL.'admin/user/id/'+$user_id );
}
// PERMISSIONS <<<
public function getCity($city_id=0){
if($city_id==0)return;
try{
$sth = $this->database->prepare("SELECT c.la, c.lo, c.zoom,
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 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;
}
}