109 lines
3.1 KiB
PHP
Raw Permalink Normal View History

2024-11-08 13:50:33 +07:00
<?php
namespace App\Controllers;
use CodeIgniter\Cookie\Cookie;
use DateTime;
helper('cookie');
class Auth extends BaseController {
public function login() {
$data['userid'] = get_cookie('userid');
$data['password'] = get_cookie('password');
if ($this->request->getMethod() === 'POST') {
$userid = $this->request->getVar('userid');
$password = $this->request->getVar('password');
$remember = $this->request->getVar('remember');
$data['userid'] = $userid;
$data['password'] = $password;
$db = \Config\Database::connect();
$sql = "SELECT u.USERID, u.USERNAME, u1.PASSWORD, u1.CITYID, ur.USERROLENAME
FROM USERS u
left join cmod.dbo.CM_USERS u1 on u.USERID=u1.USERID
left join cmod.dbo.CM_USERROLES ur on u1.USERROLEID=ur.USERROLEID
WHERE u.USERID='$userid'";
2024-11-08 13:50:33 +07:00
$query = $db->query($sql);
$result = $query->getResultArray();
if(isset($result[0])) {
$row = $result[0];
2024-11-08 13:50:33 +07:00
$qpassword = $row['PASSWORD'];
$userid = $row['USERID'];
$username = $row['USERNAME'];
2024-12-04 11:11:02 +07:00
$userrole = $row['USERROLENAME'];
$usercityid = $row['CITYID'];
2024-11-08 13:50:33 +07:00
// if pass empty then first login / reset password
$data['password']=$password;
$data['qpassword']=$qpassword;
if( password_verify($password, $qpassword) || $qpassword == '' ) {
if($qpassword == '') { session()->setFlashdata('alertmsg', 'Please change your <b>password</b> first...'); }
if( isset($data['remember']) ) {
$time = 30*24*60*60;// 30days
set_cookie ("userid", $data['userid'], $time);
set_cookie ("password", $data['password'], $time);
set_cookie ("remember", $data['remember'], $time);
//echo "cookie set";
} else {
delete_cookie ("userid");
delete_cookie ("password");
delete_cookie ("remember");
}
$sessiondata = [
'userid' => $userid,
'userrole' => $userrole,
2024-11-08 13:50:33 +07:00
'username' => $username,
'usercityid' => $usercityid
2024-11-08 13:50:33 +07:00
];
session()->set( $sessiondata );
return redirect()->to('/');
} else {
session()->setFlashdata('error', 'Password not valid');
return view('auth_login',$data);
}
}
}
return view('auth_login',$data);
}
public function logout() {
session()->destroy();
2024-12-04 11:11:02 +07:00
return redirect()->to('/auth/login');
}
public function redirects() {
$role = session()->get('userrole');
return redirect()->to("/$role/");;
2024-11-08 13:50:33 +07:00
}
2024-11-20 16:55:21 +07:00
public function setpass($userid) {
2024-11-08 13:50:33 +07:00
if ($this->request->getMethod() === 'POST') {
2024-11-20 16:55:21 +07:00
$password = $this->request->getPost('password');
$password = password_hash($password,PASSWORD_DEFAULT);
$db = \Config\Database::connect();
$sql = "update cmod.dbo.CM_USERS set PASSWORD='$password' where USERID='$userid'";
$db->query($sql);
return redirect()->to("/auth/login");
} else {
$data['userid'] = strtoupper($userid);
return view('auth_setpass', $data);
2024-11-08 13:50:33 +07:00
}
}
public function loginTD() {
$sessiondata = [
'userid' => 'SYSTEM',
'userinitials' => 'SYS',
'fullname' => 'SYSTEM',
];
session()->set( $sessiondata );
return redirect()->to('/');
}
2024-12-04 11:11:02 +07:00
public function noAccess() {
return view('noAccess');
}
2024-11-08 13:50:33 +07:00
}