forked from mahdahar/crm-summit
99 lines
2.8 KiB
PHP
99 lines
2.8 KiB
PHP
<?php
|
|
namespace App\Controllers;
|
|
use CodeIgniter\Cookie\Cookie;
|
|
use DateTime;
|
|
|
|
helper('cookie');
|
|
class Auth extends BaseController {
|
|
|
|
public function login() {
|
|
if ($this->request->getMethod() === 'post') {
|
|
$data['email'] = $this->request->getVar('email');
|
|
$data['password'] = $this->request->getVar('password');
|
|
$data['rememberme'] = $this->request->getVar('rememberme');
|
|
|
|
$db = \Config\Database::connect();
|
|
$sql = "SELECT firstname, lastname, userid, initial, userposid, level FROM users WHERE email_1='".$data['email']."'";
|
|
$query = $db->query($sql);
|
|
$row = $query->getRow();
|
|
if(isset($row)) {
|
|
$userid = $row->userid;
|
|
$initial = $row->initial;
|
|
$level = $row->level;
|
|
$firstname = $row->firstname;
|
|
$userposid = $row->userposid;
|
|
$sessiondata = [
|
|
'email' => $data['email'],
|
|
'userid' => $userid,
|
|
'userposid' => $userposid,
|
|
'initial' => $initial,
|
|
'level' => $level,
|
|
'firstname' => $firstname,
|
|
];
|
|
}
|
|
|
|
$rules = [
|
|
'email' => 'required|valid_email',
|
|
'password' => 'required|validateLogin[email, password]'
|
|
];
|
|
$errors = [
|
|
'password' => [
|
|
'validateLogin' => 'Wrong password'
|
|
]
|
|
];
|
|
|
|
if($this->validate($rules,$errors)){
|
|
session()->set( $sessiondata );
|
|
if( isset($data['rememberme']) ) {
|
|
$time = 30*24*60*60;// 30days
|
|
set_cookie ("email", $data['email'], $time);
|
|
set_cookie ("password", $data['password'], $time);
|
|
set_cookie ("rememberme", $data['rememberme'], $time);
|
|
//echo "cookie set";
|
|
} else {
|
|
delete_cookie ("email");
|
|
delete_cookie ("password");
|
|
delete_cookie ("rememberme");
|
|
}
|
|
return redirect()->to('/');
|
|
} else {
|
|
$data['validation'] = $this->validator;
|
|
return view('auth_login',$data);
|
|
}
|
|
}
|
|
$data['email'] = get_cookie('email');
|
|
$data['password'] = get_cookie('password');
|
|
$data['rememberme'] = get_cookie('rememberme');
|
|
return view('auth_login',$data);
|
|
}
|
|
|
|
public function logout() {
|
|
session()->destroy();
|
|
return redirect()->to('/auth/login');;
|
|
}
|
|
|
|
public function setPass() {
|
|
if ($this->request->getMethod() === 'post') {
|
|
$data['email'] = $this->request->getVar('email');
|
|
$data['password'] = $this->request->getVar('password');
|
|
$data['passwordconf'] = $this->request->getVar('passwordconf');
|
|
$rules = [
|
|
'email' => 'required|valid_email',
|
|
'password' => 'required',
|
|
'passwordconf' => 'required|matches[password]'
|
|
];
|
|
if($this->validate($rules)){
|
|
$email = $data['email'];
|
|
$password = password_hash($data['password'],PASSWORD_DEFAULT);
|
|
$db = \Config\Database::connect();
|
|
$sql = "update users set password='$password' where email_1='$email'";
|
|
if($db->query($sql)) { return view('form_success'); }
|
|
else { return view('form_fail'); }
|
|
} else {
|
|
return view('auth_setPass',$data);
|
|
}
|
|
}
|
|
return view('auth_setPass');
|
|
}
|
|
}
|