|
Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /home/matalashes/.trash/app.bak.4/Models/ |
Upload File : |
<?php
namespace App\Models;
use CodeIgniter\Model;
use Config\Services;
class PsAdmUser extends Model
{
protected $DBGroup = 'default';
protected $table = 'ps_adm_user';
protected $primaryKey = 'ps_au_id';
protected $useAutoIncrement = true;
protected $insertID = 0;
protected $returnType = 'object';
protected $useSoftDeletes = true;
protected $protectFields = true;
protected $allowedFields = ['ps_ar_id', 'username', 'password', 'last_login', 'deleted_at', 'last_login'];
// Dates
protected $useTimestamps = true;
protected $dateFormat = 'datetime';
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
protected $deletedField = 'deleted_at';
// Validation
protected $validationRules = [];
protected $validationMessages = [];
protected $skipValidation = false;
protected $cleanValidationRules = true;
// Callbacks
protected $allowCallbacks = true;
protected $beforeInsert = [];
protected $afterInsert = [];
protected $beforeUpdate = [];
protected $afterUpdate = [];
protected $beforeFind = [];
protected $afterFind = [];
protected $beforeDelete = [];
protected $afterDelete = [];
public static function check_email($user_email)
{
$data = ['au_email' => $user_email];
$dataUser = new PsAdmUser();
$userdata = $dataUser->getWhere($data)->getFirstRow();
if ($userdata) {
return $userdata;
} else {
return false;
}
}
public static function check_login($user_email, $password)
{
$data = ['username' => $user_email];
$dataUser = new PsAdmUser();
$userdata = $dataUser->getWhere($data)->getFirstRow();
if ($userdata && $dataUser::validate_password($userdata, $password)) {
$dataUser::ses_login('ps_au_id', $userdata->ps_au_id);
$dataUser::ses_role('ps_ar_id', $userdata->ps_ar_id);
$data = ['last_login' => date("Y-m-d H:i:s")];
$dataUser->update($userdata->ps_au_id, $data);
return $userdata;
} else {
return false;
}
}
public static function validate_password($userdata, $password)
{
$dataUser = new PsAdmUser();
$result = $dataUser::hash_verify($password, $userdata->password);
if ($result)
return true;
else
return false;
}
public static function hash_verify($password, $hashed)
{
if (password_verify($password, $hashed))
return true;
else
return false;
}
public static function hash_password($password)
{
$options = [
'cost' => 12
];
return password_hash($password, PASSWORD_DEFAULT, $options);
}
public static function ses_login($sess_name, $user_id)
{
$session = Services::session();
$session->set($sess_name, $user_id);
setcookie("kcfinder_disabled", "false", time() + 1 * 24 * 60 * 60);
}
public static function ses_role($sess_name, $role_id)
{
$session = Services::session();
$session->set($sess_name, $role_id);
}
public static function logout($data)
{
$data->session->stop();
$data->session->destroy();
setcookie("kcfinder_disabled", "", time() - 60);
}
public function fieldExist($field_name)
{
$db = \Config\Database::connect();
return $db->fieldExists($field_name, 'ps_adm_user');
}
}