Commit d39b375e by Prasong Putichanchai

no message

parent f7e7521f
<?php <?php
namespace App\Controller; namespace App\Controller;
use App\Controller\AppController; use App\Controller\AppController;
use Cake\Auth\DefaultPasswordHasher; use Cake\Auth\DefaultPasswordHasher;
use Cake\Core\Configure; use Cake\Core\Configure;
...@@ -18,22 +20,30 @@ class UsersController extends AppController { ...@@ -18,22 +20,30 @@ class UsersController extends AppController {
*/ */
public function initialize() { public function initialize() {
parent::initialize(); parent::initialize();
$this->Auth->allow(['signin', 'signout', 'signup', 'verify','forgotPassword','createAccount','pinCode','pinCodepassword','changeForgotpassword']); $this->Auth->allow(['signin', 'signout', 'signup', 'verify', 'forgotPassword', 'createAccount', 'pinCode', 'pinCodepassword', 'changeForgotpassword']);
} }
public function index() { public function index() {
return $this->redirect(['controller' => 'Users', 'action' => 'signin']); return $this->redirect(['controller' => 'Users', 'action' => 'signin']);
} }
/**
*
* Function signin / login make for user authentication
* @author sarawutt.b
* @since 20108/05/24 10:49:20
* @license Pakgon
* @return void
*/
public function signin() { public function signin() {
$this->viewBuilder()->layout('blank'); $this->viewBuilder()->layout('blank');
} }
#Signin #Signin
public function verify() { public function verify() {
$this->viewBuilder()->layout('blank'); $this->viewBuilder()->layout('blank');
if ($this->request->is('post')) { if ($this->request->is('post')) {
$data = $this->request->getData(); $data = $this->request->getData();
if (!empty($data)) { if (!empty($data)) {
...@@ -42,7 +52,7 @@ class UsersController extends AppController { ...@@ -42,7 +52,7 @@ class UsersController extends AppController {
$http = new Client(); $http = new Client();
$response = $http->post($api_core_signin, $data['data'])->body(); $response = $http->post($api_core_signin, $data['data'])->body();
$response = json_decode($response, '_full'); $response = json_decode($response, '_full');
if (!empty($response)) { if (!empty($response)) {
if (strtolower(trim($response['status'])) == 'success') { if (strtolower(trim($response['status'])) == 'success') {
$response['result']['user']['id'] = $response['result']['user']['user_id']; $response['result']['user']['id'] = $response['result']['user']['user_id'];
...@@ -50,14 +60,12 @@ class UsersController extends AppController { ...@@ -50,14 +60,12 @@ class UsersController extends AppController {
//$url = Router::url(['controller' => 'Homes', 'action' => 'index'], true); //$url = Router::url(['controller' => 'Homes', 'action' => 'index'], true);
// Before chan logic to OAUTH // Before chan logic to OAUTH
// echo "<script>setTimeout(function(){Login.onLogin('" . $response['result']['token'] . "','" . $url . "','" . $response['result']['topic'] . "')},1000);</script>"; // echo "<script>setTimeout(function(){Login.onLogin('" . $response['result']['token'] . "','" . $url . "','" . $response['result']['topic'] . "')},1000);</script>";
$statusCode = '200'; $statusCode = '200';
// echo "<script type='text/javascript'>setTimeout(function(){Login.onLogin('" . $statusCode . "','" . $this->_redirectApplicationURL . "','" . $response['result']['topic'] . "')},1000);</script>"; // echo "<script type='text/javascript'>setTimeout(function(){Login.onLogin('" . $statusCode . "','" . $this->_redirectApplicationURL . "','" . $response['result']['topic'] . "')},1000);</script>";
$redirectApplicationURL = Configure::read('RedirectApplicationURL'); $RedirectApplicationURL = Configure::read('RedirectApplicationURL');
$topic = $response['result']['topic']; $topic = $response['result']['topic'];
$this->set(compact('statusCode', 'redirectApplicationURL', 'topic')); $token = $response['result']['token'];
$this->set(compact('statusCode', 'RedirectApplicationURL', 'topic', 'token'));
#echo "<script>setTimeout(function(){alert('".$response['result']['token']."')},1000);</script>"; #echo "<script>setTimeout(function(){alert('".$response['result']['token']."')},1000);</script>";
#echo "<script>Login.onLogin('".$response['result']['token']."','".$url."','".$response['result']['topic']."');</script>"; #echo "<script>Login.onLogin('".$response['result']['token']."','".$url."','".$response['result']['topic']."');</script>";
...@@ -82,6 +90,7 @@ class UsersController extends AppController { ...@@ -82,6 +90,7 @@ class UsersController extends AppController {
#------------------------------------------------------------------ #------------------------------------------------------------------
//$this->redirect($this->_redirectApplicationURL); //$this->redirect($this->_redirectApplicationURL);
//header('Location: ' . $this->_redirectApplicationURL); //header('Location: ' . $this->_redirectApplicationURL);
//return $this->redirect($redirectApplicationURL);
} else { } else {
$this->Flash->error(__('Verify Fail')); $this->Flash->error(__('Verify Fail'));
return $this->redirect(['controller' => 'Users', 'action' => 'signin']); return $this->redirect(['controller' => 'Users', 'action' => 'signin']);
...@@ -97,162 +106,162 @@ class UsersController extends AppController { ...@@ -97,162 +106,162 @@ class UsersController extends AppController {
} }
} }
public function signup() public function signup() {
{ $this->loadModel('MasterCountries');
$this->loadModel('MasterCountries'); $this->loadModel('MasterProvinces');
$this->loadModel('MasterProvinces');
$countries = $this->MasterCountries->find('list', [
$countries = $this->MasterCountries->find('list', 'conditions' => ['is_used' => true],
[ 'keyField' => 'id',
'conditions' => ['is_used' => true], 'valueField' => ['country_name_th']
'keyField' => 'id', ]
'valueField' => ['country_name_th'] )
] ->order([
); 'country_name_th' => 'ASC',
if(!empty($countries)) $countries = $countries->toArray(); ]);
if (!empty($countries))
$provinces = $this->MasterProvinces->find('list', $countries = $countries->toArray();
[
'conditions' => ['is_used' => true], $provinces = $this->MasterProvinces->find('list', [
'keyField' => 'id', 'conditions' => ['is_used' => true],
'valueField' => 'province_name_th' 'keyField' => 'id',
] 'valueField' => 'province_name_th'
); ]
if(!empty($provinces)) $provinces = $provinces->toArray(); )
$this->set(compact('provinces','countries')); ->order([
'province_name_th' => 'DESC',
]);
if (!empty($provinces))
$provinces = $provinces->toArray();
$this->set(compact('provinces', 'countries'));
$this->viewBuilder()->layout('blank'); $this->viewBuilder()->layout('blank');
} }
#--------------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------------
#Signup #Signup
public function createAccount()
{ public function createAccount() {
$this->loadModel('UserPersonals'); $this->loadModel('UserPersonals');
$users = $this->Users->newEntity(); $users = $this->Users->newEntity();
$user_personals = $this->UserPersonals->newEntity(); $user_personals = $this->UserPersonals->newEntity();
if ($this->request->is('post')) { if ($this->request->is('post')) {
// $username_check = $this->MasterProvinces->find('all')->toArray(); // $username_check = $this->MasterProvinces->find('all')->toArray();
// pr($username_check);die; // pr($username_check);die;
// pr($this->request->data);die; // pr($this->request->data);die;
$today = Time::now(); $today = Time::now();
$dateNow = $today->i18nFormat('yyyy-MM-dd HH:mm:ss'); $dateNow = $today->i18nFormat('yyyy-MM-dd HH:mm:ss');
$hasher = new DefaultPasswordHasher(); $hasher = new DefaultPasswordHasher();
$firstname = $this->request->data['firstname']; $firstname = $this->request->data['firstname'];
// $phone_no = $this->request->data['phone_no']; // $phone_no = $this->request->data['phone_no'];
$lastname = $this->request->data['lastname']; $lastname = $this->request->data['lastname'];
$master_country_id = $this->request->data['master_country_id']; $master_country_id = $this->request->data['master_country_id'];
$master_province_id = $this->request->data['master_province_id']; $master_province_id = $this->request->data['master_province_id'];
$password = $this->request->data['password']; $password = $this->request->data['password'];
$confirm_password = $this->request->data['confirm_password']; $confirm_password = $this->request->data['confirm_password'];
$btn = $this->request->data['btn']; $btn = $this->request->data['btn'];
if(!empty($this->request->data['birthdate'])){ if (!empty($this->request->data['birthdate'])) {
$birthdate = explode("/", $this->request->data['birthdate']); $birthdate = explode("/", $this->request->data['birthdate']);
$birthdate = $birthdate[2].'-'.$birthdate[1].'-'.$birthdate[0]; $birthdate = $birthdate[2] . '-' . $birthdate[1] . '-' . $birthdate[0];
$this->request->data['birthdate'] = $birthdate; $this->request->data['birthdate'] = $birthdate;
}else{ } else {
$birthdate = '2000-10-10'; $birthdate = '2000-10-10';
} }
$this->request->data['password'] = $hasher->hash($password); $this->request->data['password'] = $hasher->hash($password);
$users['created_by'] = 0; $users['created_by'] = 0;
$users['is_used'] = false; $users['is_used'] = false;
$users['created'] = $dateNow; $users['created'] = $dateNow;
$users['dynamic_key'] = 'dynamic_key'; $users['dynamic_key'] = 'dynamic_key';
// $users['point'] = 0; // $users['point'] = 0;
$users['dynamic_key_expiry'] = date('Y-m-d',strtotime('+3 day')); $users['dynamic_key_expiry'] = date('Y-m-d', strtotime('+3 day'));
$users['token'] = Security::hash($this->request->data['username'].date('Y-m-d h:i:s'), 'md5', true); $users['token'] = Security::hash($this->request->data['username'] . date('Y-m-d h:i:s'), 'md5', true);
$users['token_expiry'] = date('Y-m-d',strtotime('+3 day')); $users['token_expiry'] = date('Y-m-d', strtotime('+3 day'));
// $users['modified_by'] = $modified_by; // $users['modified_by'] = $modified_by;
$digits = 4; $digits = 4;
$users['pin_code'] = str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT); $users['pin_code'] = str_pad(rand(0, pow(10, $digits) - 1), $digits, '0', STR_PAD_LEFT);
if(!empty($this->request->data['accept'])){ if (!empty($this->request->data['accept'])) {
$username_check = $this->Users->find('all',[ $username_check = $this->Users->find('all', [
'conditions' => [ 'conditions' => [
'Users.username' => $this->request->data['username'] 'Users.username' => $this->request->data['username']
] ]
])->toArray(); ])->toArray();
$email_check = $this->UserPersonals->find('all',[ $email_check = $this->UserPersonals->find('all', [
'conditions' => [ 'conditions' => [
'UserPersonals.email' => $this->request->data['email'] 'UserPersonals.email' => $this->request->data['email']
] ]
])->toArray(); ])->toArray();
if((empty($username_check))&&(empty($email_check))){
$users = $this->Users->patchEntity($users, $this->request->getData());
// pr($users);die;
if ((empty($username_check)) && (empty($email_check))) {
$users = $this->Users->patchEntity($users, $this->request->getData());
// pr($users);die;
//------------------------------ ส่งอีเมล์ ----------------------------------------------------- //------------------------------ ส่งอีเมล์ -----------------------------------------------------
$data_notification = []; $data_notification = [];
$data_notification['email'] = $this->request->data['email']; $data_notification['email'] = $this->request->data['email'];
$data_notification['pin_code'] = $users['pin_code']; $data_notification['pin_code'] = $users['pin_code'];
$this->notification($data_notification); $this->notification($data_notification);
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
$this->Users->save($users); $this->Users->save($users);
$user_personals['master_country_id'] = $master_country_id; $user_personals['master_country_id'] = $master_country_id;
$user_personals['master_province_id'] = $master_province_id; $user_personals['master_province_id'] = $master_province_id;
$user_personals['user_id'] = $users['id']; $user_personals['user_id'] = $users['id'];
$user_personals['firstname_th'] = $firstname; $user_personals['firstname_th'] = $firstname;
$user_personals['lastname_th'] = $lastname; $user_personals['lastname_th'] = $lastname;
$user_personals['created_by'] = 1; $user_personals['created_by'] = 1;
$user_personals['created'] = $dateNow; $user_personals['created'] = $dateNow;
$user_personals = $this->UserPersonals->patchEntity($user_personals, $this->request->getData()); $user_personals = $this->UserPersonals->patchEntity($user_personals, $this->request->getData());
$this->UserPersonals->save($user_personals); $this->UserPersonals->save($user_personals);
// $this->Flash->success(__('The register success.')); // $this->Flash->success(__('The register success.'));
return $this->redirect(['controller' => 'Users', 'action' => 'pinCode/'.$users['token']]); return $this->redirect(['controller' => 'Users', 'action' => 'pinCode/' . $users['token']]);
// return $this->redirect(['action' => 'signin']); // return $this->redirect(['action' => 'signin']);
} }
$this->Flash->error(__('Username or Email Address already used by others.')); $this->Flash->error(__('Username or Email Address already used by others.'));
return $this->redirect(['action' => 'signup']); return $this->redirect(['action' => 'signup']);
}else if(empty($this->request->data['accept'])){ } else if (empty($this->request->data['accept'])) {
$this->Flash->error(__('please accept')); $this->Flash->error(__('please accept'));
return $this->redirect(['action' => 'signup']); return $this->redirect(['action' => 'signup']);
} }
$this->Flash->error(__('The article could not be saved. Please, try again.')); $this->Flash->error(__('The article could not be saved. Please, try again.'));
} }
}
public function notification($data = null)
{
if(!empty($data)){
$verify_code = $data['pin_code'];
$from_email = ['support@pakgon.com' => 'Support'];
$to_emails = [$data['email']];
$email = new Email();
$email->transport('gmail');
try {
$email->template('notification_signup', 'connect');
$email->from($from_email);
$email->to($to_emails);
$email->subject('Signup Connect Verify');
$email->emailFormat('html');
$email->viewVars(compact('verify_code'));
#$email->send($message);
$email->send();
} catch (Exception $e) {
echo 'Exception : ', $e->getMessage(), "\n";
}
#$this->httpStatusCode = 200;
#$this->apiResponse['message'] = 'Signup Connect Completed!!';
}
} }
public function notification($data = null) {
if (!empty($data)) {
$verify_code = $data['pin_code'];
$from_email = ['support@pakgon.com' => 'Support'];
$to_emails = [$data['email']];
$email = new Email();
$email->transport('gmail');
try {
$email->template('notification_signup', 'connect');
$email->from($from_email);
$email->to($to_emails);
$email->subject('Signup Connect Verify');
$email->emailFormat('html');
$email->viewVars(compact('verify_code'));
#$email->send($message);
$email->send();
} catch (Exception $e) {
echo 'Exception : ', $e->getMessage(), "\n";
}
#$this->httpStatusCode = 200;
#$this->apiResponse['message'] = 'Signup Connect Completed!!';
}
}
#--------------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------------
function validateAccount($data = null) { function validateAccount($data = null) {
...@@ -271,164 +280,157 @@ class UsersController extends AppController { ...@@ -271,164 +280,157 @@ class UsersController extends AppController {
// { // {
// $this->viewBuilder()->layout('blank'); // $this->viewBuilder()->layout('blank');
// } // }
#Verify Pin Code #Verify Pin Code
public function pinCode($token=null) public function pinCode($token = null) {
{
$this->viewBuilder()->layout('blank'); $this->viewBuilder()->layout('blank');
$data = $this->request->data(); $data = $this->request->data();
if(!empty($data)){ if (!empty($data)) {
$api_core_verify_pin_code = Configure::read('Config.apiCore.verifyPinCode'); $api_core_verify_pin_code = Configure::read('Config.apiCore.verifyPinCode');
$http = new Client(); $http = new Client();
#$response = json_decode($http->post($api_core_verify_pin_code,$data)->body(),'_full'); #$response = json_decode($http->post($api_core_verify_pin_code,$data)->body(),'_full');
$response = $http->post($api_core_verify_pin_code,$data)->body(); $response = $http->post($api_core_verify_pin_code, $data)->body();
$response = json_decode($response,'_full'); $response = json_decode($response, '_full');
if(!empty($response)){ if (!empty($response)) {
if(trim($response['status']) == 'Success'){ if (trim($response['status']) == 'Success') {
$this->Flash->success(__('Verify Completed.')); $this->Flash->success(__('Verify Completed.'));
return $this->redirect(['controller' => 'Users', 'action' => 'signin']); return $this->redirect(['controller' => 'Users', 'action' => 'signin']);
}else{ } else {
$this->Flash->error(__('Pin Code Invalid')); $this->Flash->error(__('Pin Code Invalid'));
return $this->redirect(['controller' => 'Users', 'action' => 'pinCode/'.$token]); return $this->redirect(['controller' => 'Users', 'action' => 'pinCode/' . $token]);
} }
} }
} }
$this->set(array('token' => $token, '_serialize' => array('token'))); $this->set(array('token' => $token, '_serialize' => array('token')));
} }
#--------------------------------------------------------------------------------------------------- /**
*
* Function user forgot password
* @return void
*/
#--------------------------------------------------------------------------------------------------- public function forgotPassword() {
$this->viewBuilder()->layout('blank');
public function forgotPassword() $this->loadModel('UserPersonals');
{ if ($this->request->is('post')) {
$this->viewBuilder()->layout('blank'); $hasher = new DefaultPasswordHasher();
$this->loadModel('UserPersonals'); $email = $this->request->data['email'];
if ($this->request->is('post')) { $user_personals = $this->UserPersonals->find('all', [
$hasher = new DefaultPasswordHasher(); 'conditions' => [
$email = $this->request->data['email']; 'UserPersonals.email' => $email
$user_personals = $this->UserPersonals->find('all',[ ]
'conditions' => [ ])->first();
'UserPersonals.email' => $email if (!empty($user_personals)) {
]
])->first(); $users = $this->Users->find('all', [
if(!empty($user_personals)){ 'conditions' => [
'Users.id' => $user_personals['user_id']
$users = $this->Users->find('all',[ ]
'conditions' => [ ])->first();
'Users.id' => $user_personals['user_id'] $digits = 4;
] $users['pin_pass'] = str_pad(rand(0, pow(10, $digits) - 1), $digits, '0', STR_PAD_LEFT);
])->first(); $token = $users['token'];
$digits = 4;
$users['pin_pass'] = str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT); //--------------------ตัวส่ง Email ---------------------------------------------------------
$token = $users['token']; //pr($user_personals);die;
$data_notification = [];
//--------------------ตัวส่ง Email --------------------------------------------------------- $data_notification['email'] = $this->request->data['email'];
//pr($user_personals);die; $data_notification['pin_code'] = $users['pin_pass'];
$data_notification = []; $this->notification($data_notification);
$data_notification['email'] = $this->request->data['email']; //----------------------------------------------------------------------------------------
$data_notification['pin_code'] = $users['pin_pass'].'<br>'." Username: ".$users['username']; $this->Users->save($users);
$this->notification($data_notification);
//---------------------------------------------------------------------------------------- $this->Flash->success(__('send password to email success'));
$this->Users->save($users); return $this->redirect(['action' => 'pinCodepassword/' . $token]);
} else {
$this->Flash->success(__('send password to email success')); $this->Flash->error(__('Invalid Email.'));
return $this->redirect(['action' => 'pinCodepassword/'.$token]); return $this->redirect(['action' => 'forgot-password']);
}else{ }
$this->Flash->error(__('Invalid Email.'));
return $this->redirect(['action' => 'forgot-password']);
}
} }
} }
public function pinCodepassword($token=null) public function pinCodepassword($token = null) {
{ $this->viewBuilder()->layout('blank');
$this->viewBuilder()->layout('blank'); $users = $this->Users->find('all', [
$users = $this->Users->find('all',[ 'conditions' => [
'conditions'=>[ 'Users.token' => $token
'Users.token'=>$token ]
] ])->first();
])->first();
if($this->request->is('post')){
$data = $this->request->data();
$data['pin_pass'] = $data['pin_code_1'].$data['pin_code_2'].$data['pin_code_3'].$data['pin_code_4'];
if($data['pin_pass']==$users['pin_pass']){
$this->Flash->success(__('Pin Completed.'));
return $this->redirect(['controller' => 'Users', 'action' => 'changeForgotpassword/'.$token]);
}
$this->Flash->error(__('Pin Invalid'));
return $this->redirect(['controller' => 'Users', 'action' => 'pinCodepassword/'.$token]);
}
$this->set(array('token' => $token, '_serialize' => array('token')));
}
public function changePassword()
{
$id = $this->Auth->user('id');
$this->viewBuilder()->layout('blank');
$users = $this->Users->get($id);
if ($this->request->is('post')) {
$hasher = new DefaultPasswordHasher();
$password = $this->request->data['password'];
$confirm_password = $this->request->data['confirm_password'];
$oldpassword = $this->request->data['oldpassword'];
$this->request->data['password'] = $hasher->hash($this->request->data['password']);
//------- เทียบ password ที่เข้ารหัส ---------------password_verify($password,hashed_password)---------------------------
if (password_verify($oldpassword, $users['password'])) {
$users = $this->Users->patchEntity($users, $this->request->getData());
$this->Users->save($users);
$this->Flash->success(__('You are now logged out.'));
return $this->redirect(['action' => 'signout']);
} else {
$this->Flash->error(__('Invalid password.'));
return $this->redirect(['action' => 'change-password']);
}
}
}
public function changeForgotpassword($token=null)
{
$this->viewBuilder()->layout('blank');
$users = $this->Users->find('all',[
'conditions' => [
'Users.token' => $token
]
])->first();
if ($this->request->is('post')) {
$hasher = new DefaultPasswordHasher();
$password = $this->request->data['password'];
//$confirm_password = $this->request->data['confirm_password'];
$this->request->data['password'] = $hasher->hash($this->request->data['password']);
//------- เทียบ password ที่เข้ารหัส ---------------password_verify($password,hashed_password)---------------------------
$users = $this->Users->patchEntity($users, $this->request->getData());
if($this->Users->save($users)){
$this->Flash->success(__('change password success'));
$this->Flash->success(__('You are now logout'));
return $this->redirect(['action' => 'signin']);
}
$this->Flash->error(__('Invalid password.'));
return $this->redirect(['action' => 'change_forgotpassword']);
}
$this->set(array('token' => $token, '_serialize' => array('token')));
}
if ($this->request->is('post')) {
$data = $this->request->data();
$data['pin_pass'] = $data['pin_code_1'] . $data['pin_code_2'] . $data['pin_code_3'] . $data['pin_code_4'];
if ($data['pin_pass'] == $users['pin_pass']) {
$this->Flash->success(__('Pin Completed.'));
return $this->redirect(['controller' => 'Users', 'action' => 'changeForgotpassword/' . $token]);
}
$this->Flash->error(__('Pin Invalid'));
return $this->redirect(['controller' => 'Users', 'action' => 'pinCodepassword/' . $token]);
}
$this->set(array('token' => $token, '_serialize' => array('token')));
}
public function changePassword($token = null) {
$id = $this->Auth->user('id');
$this->viewBuilder()->layout('blank');
$users = $this->Users->get($id);
if ($this->request->is('post')) {
$hasher = new DefaultPasswordHasher();
$password = $this->request->data['password'];
$confirm_password = $this->request->data['confirm_password'];
$oldpassword = $this->request->data['oldpassword'];
$this->request->data['password'] = $hasher->hash($this->request->data['password']);
//------- เทียบ password ที่เข้ารหัส ---------------password_verify($password,hashed_password)---------------------------
if (password_verify($oldpassword, $users['password'])) {
$users = $this->Users->patchEntity($users, $this->request->getData());
$this->Users->save($users);
$this->Flash->success(__('change password success'));
$this->Flash->success(__('You are now logged out.'));
return $this->redirect(['action' => 'signout']);
} else {
$this->Flash->error(__('Invalid password.'));
return $this->redirect(['action' => 'change-password']);
}
}
$this->set(array('token' => $token, '_serialize' => array('token')));
}
public function changeForgotpassword($token = null) {
$this->viewBuilder()->layout('blank');
$users = $this->Users->find('all', [
'conditions' => [
'Users.token' => $token
]
])->first();
if ($this->request->is('post')) {
$hasher = new DefaultPasswordHasher();
$password = $this->request->data['password'];
//$confirm_password = $this->request->data['confirm_password'];
$this->request->data['password'] = $hasher->hash($this->request->data['password']);
//------- เทียบ password ที่เข้ารหัส ---------------password_verify($password,hashed_password)---------------------------
$users = $this->Users->patchEntity($users, $this->request->getData());
if ($this->Users->save($users)) {
$this->Flash->success(__('change password success'));
return $this->redirect(['action' => 'signin']);
}
$this->Flash->error(__('Invalid password.'));
return $this->redirect(['action' => 'change_forgotpassword']);
}
$this->set(array('token' => $token, '_serialize' => array('token')));
}
#--------------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------------
/** /**
* *
* Function user logout / signout * Function user logout / signout
...@@ -444,8 +446,4 @@ class UsersController extends AppController { ...@@ -444,8 +446,4 @@ class UsersController extends AppController {
return $this->redirect($this->Auth->logout()); return $this->redirect($this->Auth->logout());
} }
} }
<?php $this->layout = 'login'; ?>
<div> <div>
<div class="center" style="padding-bottom: 40px;"> <div class="center" style="padding-bottom: 40px;">
<?php echo $this->Html->image('../img/core/img/logo-connect-login@3x.png', ['alt' => 'Logo']); ?> <?php echo $this->Html->image('../img/core/img/logo-connect-login@3x.png', ['alt' => 'Logo']); ?>
...@@ -5,7 +6,7 @@ ...@@ -5,7 +6,7 @@
<div class="col-md-12"> <div class="col-md-12">
<?php <?php
echo $this->Form->create(null, ['url' => ['controller' => 'Users', 'action' => 'verify'], echo $this->Form->create(null, ['url' => ['controller' => 'Users', 'action' => 'verify'],
'id' => '', 'name' => 'Users', 'role' => 'form', 'onsubmit' => 'return validateForm()']); 'id' => false, 'name' => 'Users', 'role' => 'form', 'onsubmit' => 'return validateForm()']);
?> ?>
<?php echo $this->Flash->render() ?> <?php echo $this->Flash->render() ?>
<div class="row"> <div class="row">
...@@ -15,7 +16,7 @@ ...@@ -15,7 +16,7 @@
<div class="input-group-addon"> <div class="input-group-addon">
<span class="glyphicon glyphicon-user"></span> <span class="glyphicon glyphicon-user"></span>
</div> </div>
<input type="text" name="data[username]" value="" placeholder="USERNAME" class="form-control input-lg input-border-radius color-button-border" id="FALSE" style="padding-left: 42px;"> <input type="text" name="data[username]" value="" placeholder="USERNAME" class="form-control input-lg input-border-radius color-button-border" style="padding-left: 42px;">
</div> </div>
</div> </div>
</div> </div>
...@@ -27,7 +28,7 @@ ...@@ -27,7 +28,7 @@
<div class="input-group-addon"> <div class="input-group-addon">
<span class="glyphicon glyphicon-lock"></span> <span class="glyphicon glyphicon-lock"></span>
</div> </div>
<input data-toggle="password" data-placement="before" type="password" name="data[password]" value="" placeholder="********" class="form-control input-lg input-border-radius color-button-border" id="FALSE" style="padding-left: 42px;"> <input data-toggle="password" data-placement="before" type="password" name="data[password]" value="" placeholder="********" class="form-control input-lg input-border-radius color-button-border" style="padding-left: 42px;">
</div> </div>
</div> </div>
</div> </div>
......
<script type='text/javascript'> <script type='text/javascript'>
setTimeout(function () {
setTimeout(function(){ if (typeof Login == 'undefined') {
if (typeof Login == 'undefined') { location = '<?php echo $RedirectApplicationURL; ?>';
location = '<?php echo $paramOptions['url']['url']; ?>'; } else {
} else { Login.onLogin('<?php echo $token; ?>', '<?php echo $RedirectApplicationURL; ?>', '<?php echo $topic; ?>');
Login.onLogin('<?php echo json_encode($paramOptions['url']); ?>','<?php echo json_encode($paramOptions['token']); ?>','<?php $paramOptions['topic']; ?>'); }
} }, 1000);
}, 1000);
</script>; </script>;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment