'$.desc' = 'User login' order by crt desc limit 1) ul on ul.userId = u.id WHERE u.dlt is null $where_where $other_other ;", $params ); } public static function listUsersByRole($role) { return DB::select( "SELECT " . Users::defaultSelected . " FROM t_users AS u LEFT JOIN t_clients AS c ON u.client_group_id = c.id -- LEFT JOIN t_users_roles AS r ON u.role = r.id LEFT JOIN model_has_roles AS mhr ON mhr.model_id = u.id LEFT JOIN roles as rl ON rl.id = mhr.role_id WHERE u.dlt is null AND u.role = ? ;", [$role] ); } public static function getUsers() { return DB::select("SELECT * FROM t_users WHERE dlt is null;"); } public static function getUsersActiveByRole($role) { return DB::select( "SELECT * FROM t_users WHERE dlt is null AND status = " . Users::STATUS_ACTIVE . " AND role = ?;", [$role] ); } public static function getUserById($uid) { return DB::select("SELECT * FROM t_users WHERE dlt is null AND id = ? LIMIT 1;", [$uid]); } public static function showUserById($uid) { return DB::select( "SELECT " . Users::defaultSelected . " FROM t_users AS u LEFT JOIN t_clients AS c ON u.client_group_id = c.id -- LEFT JOIN t_users_roles AS r ON u.role = r.id LEFT JOIN model_has_roles AS mhr ON mhr.model_id = u.id LEFT JOIN roles as rl ON rl.id = mhr.role_id WHERE u.dlt is null AND u.id = ? LIMIT 1;", [$uid] ); } public static function getUserByEmail($email) { return DB::select("SELECT * FROM t_users WHERE dlt is null AND email = ? LIMIT 2;", [$email]); } public static function getUserByPhone($phone) { return DB::select("SELECT * FROM t_users WHERE dlt is null AND phone = ? LIMIT 2;", [$phone]); } public static function getUserByClientId($cid) { return DB::select("SELECT * FROM t_users WHERE dlt is null AND client_id = ? LIMIT 1;", [$cid]); } public static function getUserByGroupClientId($cid) { return DB::select("SELECT * FROM t_users WHERE dlt is null AND client_group_id = ? LIMIT 1;", [$cid]); } public static function likeName($name, $role = 0) { $params = ["%" . $name . "%", "%" . $name . "%"]; $where = ""; if ($role !== 0) { $where .= " AND role = ?"; $params[] = $role; } return DB::select( "SELECT * FROM t_users WHERE dlt is null AND (first_name LIKE ? OR last_name LIKE ?) $where;", $params ); } public static function addUser($data) { $uid = DB::table("t_users")->insertGetId($data); return $uid; } public static function updateUser($uid, $data) { return DB::table("t_users") ->where("id", $uid) ->update($data); } public static function updateUsersByGroupClientId($cid, $data) { return DB::table("t_users") ->where("client_group_id", $cid) ->update($data); } public static function deleteUser($uid, $data) { return DB::table("t_users") ->where("id", $uid) ->delete(); } public static function arrStatus() { return [Users::STATUS_ACTIVE, Users::STATUS_NOT_ACTIVE]; } public static function arrRoles() { return [ Users::ROLE_SU, Users::ROLE_SUPERADMIN, Users::ROLE_ADMIN, Users::ROLE_FINANCE, Users::ROLE_VENDOR, Users::ROLE_CHECKER, Users::ROLE_USER, Users::ROLE_CLIENT_ADMIN, Users::ROLE_CLIENT_STAFF, Users::ROLE_CLIENT_USER, Users::ROLE_SPECIAL_TRACKING, ]; } public static function listRoles($currentRole) { if ($currentRole == Users::ROLE_SUPERADMIN) { return DB::select( "SELECT * FROM t_users_roles WHERE dlt is null AND status = 1 AND id IN (?,?,?,?,?,?);", [ // Users::ROLE_SUPERADMIN, Users::ROLE_ADMIN, Users::ROLE_FINANCE, Users::ROLE_VENDOR, Users::ROLE_CHECKER, Users::ROLE_CLIENT_ADMIN, Users::ROLE_SPECIAL_TRACKING, ] ); } elseif ($currentRole == Users::ROLE_ADMIN) { return DB::select( "SELECT * FROM t_users_roles WHERE dlt is null AND status = 1 AND id IN (?,?,?,?,?,?);", [ Users::ROLE_ADMIN, Users::ROLE_FINANCE, Users::ROLE_VENDOR, Users::ROLE_CHECKER, Users::ROLE_CLIENT_ADMIN, Users::ROLE_SPECIAL_TRACKING, ] ); } elseif ($currentRole == Users::ROLE_CLIENT_ADMIN) { // return DB::select("SELECT * FROM t_users_roles WHERE dlt is null AND id IN (?,?);", [ // Users::ROLE_CLIENT_STAFF, // Users::ROLE_CLIENT_USER, // ]); } return []; } }