|
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.6/Models/ |
Upload File : |
<?php
namespace App\Models;
use CodeIgniter\Model;
use Config\Services;
class PsStoreUser extends Model
{
protected $DBGroup = 'default';
protected $table = 'ps_store_user';
protected $primaryKey = 'ps_su_id';
protected $useAutoIncrement = true;
protected $insertID = 0;
protected $returnType = 'object';
protected $useSoftDeletes = true;
protected $protectFields = true;
protected $allowedFields = ['ps_store_id', 'ps_sr_id', 'username', 'password', 'is_owner', '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_login($user_email, $password)
{
$data = ['username' => $user_email];
$dataUser = new PsStoreUser();
$userdata = $dataUser->join('ps_store_main', 'ps_store_main.ps_store_id=ps_store_user.ps_store_id')
->join('ps_store_role', 'ps_store_role.ps_sr_id=ps_store_user.ps_sr_id')
->getWhere($data)->getFirstRow();
if ($userdata && $dataUser::validate_password($userdata, $password)) {
$str = ['ps_store_id' => $userdata->ps_store_id];
$ps_store_id = new PsStoreMain();
$account = $ps_store_id->getByStoreId($str);
if (is_null($account->suspended_at) && $account->sa_status == 1) {
$dataUser::ses_login('ps_su_id', $userdata->ps_su_id);
$dataUser::ses_role('ps_sr_id', $userdata->ps_sr_id);
$dataUser::ses_store('ps_store_id', $userdata->ps_store_id);
$dataUser::ses_store('ps_sa_id', $account->ps_sa_id);
$data = ['last_login' => date("Y-m-d H:i:s")];
$dataUser->update($userdata->ps_su_id, $data);
return $userdata;
} else {
return false;
}
} else {
return 'false';
}
}
public static function check_user($username,$slug)
{
$data = ['username' => $username];
$dataUser = new PsStoreUser();
$userdata = $dataUser->getWhere($data)->getFirstRow();
if ($userdata) {
return false;
} else {
$slg = ['sm_slug' => $slug];
$dataStore = new PsStoreMain();
$storedata = $dataStore->getWhere($slg)->getFirstRow();
if ($storedata) {
return false;
} else {
return true;
}
}
}
public static function ses_store($sess_name, $user_id)
{
$session = Services::session();
$session->set($sess_name, $user_id);
}
public static function validate_password($userdata, $password)
{
$dataUser = new PsStoreUser();
$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_store_user');
}
}