Prv8 Shell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/matalashes/.trash/app.bak.4/Models/PsAdmUser.php
<?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');
    }

}

haha - 2025