/var/www/doncode.com.ua/www/models
Edit: /var/www/doncode.com.ua/www/models/class.doncode_users_model.php (6712B)
database->prepare("SELECT COUNT(id) AS count FROM `doncode_users` WHERE `block`='0';");
$sth->setFetchMode(PDO::FETCH_ASSOC);
$sth->execute();
return $sth->fetch();
}
public function doncode_usersGetList ($page=0){
if ($page!=0){
$page_number=abs(($page-1)*LIMIT);
}else{
$page_number=0;
}
$sth=$this->database->prepare("SELECT u.id,u.login,u.FIO,u.email, DATE_FORMAT(u.lastvisit,'%d %M %Y %H:%i:%s') as last, u.ip, r.role_name
FROM `doncode_users` u
LEFT OUTER JOIN `user_role` ur ON u.id=ur.user_id
LEFT OUTER JOIN `roles` r ON r.role_id=ur.role_id
WHERE u.block='0' LIMIT $page_number , ".LIMIT."");
$sth->execute();
$sth->setFetchMode(PDO::FETCH_ASSOC);
if($sth->rowCount()>0){
$arr= $sth->fetchAll();
echo json_encode($arr);
}else{
if($page_number==0){
echo json_encode(array('msg'=>'error'));
return false;
}
$page_number-=1;
$this->doncode_usersGetList($page_number);
}
}
public function fetchSingleRecordsFromId ($id,$ajax=true){
$sth=$this->database->prepare("SELECT * FROM `doncode_users` WHERE `block`='0' AND `id`=:id");
$sth->execute(array(':id'=>$id));
$sth->setFetchMode(PDO::FETCH_ASSOC);
if ($ajax){
echo json_encode($sth->fetch());
}else{
return $sth->fetch();
}
}
public function getRoles ($ajax=false){
$sth=$this->database->prepare("SELECT * FROM `roles`");
$sth->execute();
$sth->setFetchMode(PDO::FETCH_ASSOC);
$data=$sth->fetchAll();
foreach($data as $v){
$datakey[$v['role_id']]=$v['role_name'];
}
if ($ajax){
echo json_encode($datakey);
}else{
return $datakey;
}
}
public function getPermissions ($ajax=false,$role=0){
$sth=$this->database->prepare("SELECT * FROM `permissions` p INNER JOIN `role_perm` r ON r.perm_id=p.perm_id WHERE r.role_id='$role'");
$sth->execute();
$sth->setFetchMode(PDO::FETCH_ASSOC);
$data=$sth->fetchAll();
if ($ajax){
echo json_encode($data);
}else{
return $data;
}
}
public function deleteRecords($id){
$sth=$this->database->prepare("UPDATE `doncode_users` SET `block`='1' WHERE `id`=$id ;");
$sth->execute();
if ($sth->rowCount()>0){
echo json_encode(array('msg'=>'success'));
$this->database->log('Удален пользователь');
}else{
echo json_encode(array('msg'=> 'fail'));
$this->database->log('Не удалось удалить пользователя');
}
}
public function saveEdit ($id){
$_POST['login'] = trim($_POST['login'] ?? '');
$_POST['password'] = trim($_POST['password'] ?? '');
if (!empty($_POST['login']) and !empty($_POST['password'])){
$array=array (
'FIO' => $_POST['FIO'],
'login' => $_POST['login'],
'password' => hash::create('sha256',$_POST['password'],HASH_STATIC)
);
try{
$this->database->update('doncode_users',$array ," `id` =$id");
}catch(PDOException $e){
echo json_encode(array('msg'=> 'fail'));
$this->database->log('Не удалось обновить данные пользователя');
return false;
}
echo json_encode(array('msg'=> 'success'));
$this->database->log('Данные пользователя обновлены');
}else{
echo json_encode(array('msg'=> 'fail'));
$this->database->log('Не удалось обновить данные пользователя');
}
}
public function createDoncode_usersSubmit(){
$_POST['FIO'] = trim($_POST['FIO'] ?? '');
if (!empty($_POST['FIO'])){
$array=array (
'FIO' => $_POST['FIO'],
'login' => $_POST['login'],
'password' => hash::create('sha256',$_POST['password'],HASH_STATIC)
);
try{
$this->database->insert('doncode_users',$array );
}catch(PDOException $e){
echo json_encode(array('msg'=> 'fail'));
$this->database->log('Не удалось создать пользователя');
return false;
}
$array['id']=$this->database->lastInsertId();
$array['msg']='success';
echo json_encode($array);
$this->database->log('Пользователь '.$_POST['FIO'].' создан');
$array2=array (
'user_id' => $array['id'],
'role_id' => $_POST['role']
);
try{
$this->database->insert('user_role',$array2 );
}catch(PDOException $e){
echo json_encode(array('msg'=> 'fail'));
$this->database->log('Не удалось создать права пользователя');
return false;
}
$this->database->log('Уровень доступа '.$_POST['role'].' назначен для пользователя #'.$array['id']);
// Создадим файл конфига для юзера
//$conf_user['config.limit'] = "10"; // Вывод страниц
//$conf_user['config.minwidth'] = "150";
//$conf_user['config.maxwidth'] = "350";
//$conf_user['config.defaultObject'] = 1;
//$conf_user['config.defaultPage'] = "index";
//bootstrap::put_ini_file('config/ini/config_user_'.$array['id'].'.ini',$conf_user);
}else{
echo json_encode(array('msg'=> 'fail'));
$this->database->log('Не удалось создать пользователя');
}
}
}