Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
smart_core_connect
/
core-connect
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c06a328c
authored
May 31, 2018
by
Prasong Putichanchai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'integration' into prasong
parents
45b027dd
05f26068
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
227 additions
and
296 deletions
+227
-296
www/src/Controller/UsersController.php
+211
-296
www/src/Template/Profiles/index.ctp
+4
-0
www/src/Template/Users/change_forgotpassword.ctp
+3
-0
www/src/Template/Users/change_password.ctp
+3
-0
www/src/Template/Users/forgot_password.ctp
+3
-0
www/src/Template/Users/signup.ctp
+3
-0
No files found.
www/src/Controller/UsersController.php
View file @
c06a328c
<?php
namespace
App\Controller
;
use
App\Controller\AppController
;
use
Cake\Auth\DefaultPasswordHasher
;
use
Cake\Core\Configure
;
...
...
@@ -20,34 +18,22 @@ class UsersController extends AppController {
*/
public
function
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'
,
'registersendpin'
,
'forgotsendpin'
,
'changeForgotpassword'
]);
}
public
function
index
()
{
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
()
{
$this
->
viewBuilder
()
->
layout
(
'blank'
);
}
#Signin
public
function
verify
()
{
public
function
verify
()
{
$this
->
viewBuilder
()
->
layout
(
'blank'
);
if
(
$this
->
request
->
is
(
'post'
))
{
$data
=
$this
->
request
->
getData
();
if
(
!
empty
(
$data
))
{
...
...
@@ -56,7 +42,7 @@ class UsersController extends AppController {
$http
=
new
Client
();
$response
=
$http
->
post
(
$api_core_signin
,
$data
[
'data'
])
->
body
();
$response
=
json_decode
(
$response
,
'_full'
);
if
(
!
empty
(
$response
))
{
if
(
strtolower
(
trim
(
$response
[
'status'
]))
==
'success'
)
{
$response
[
'result'
][
'user'
][
'id'
]
=
$response
[
'result'
][
'user'
][
'user_id'
];
...
...
@@ -64,12 +50,14 @@ class UsersController extends AppController {
//$url = Router::url(['controller' => 'Homes', 'action' => 'index'], true);
// Before chan logic to OAUTH
// echo "<script>setTimeout(function(){Login.onLogin('" . $response['result']['token'] . "','" . $url . "','" . $response['result']['topic'] . "')},1000);</script>";
$statusCode
=
'200'
;
// 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'
];
$token
=
$response
[
'result'
][
'token'
];
$this
->
set
(
compact
(
'statusCode'
,
'RedirectApplicationURL'
,
'topic'
,
'token'
));
$this
->
set
(
compact
(
'statusCode'
,
'redirectApplicationURL'
,
'topic'
));
#echo "<script>setTimeout(function(){alert('".$response['result']['token']."')},1000);</script>";
#echo "<script>Login.onLogin('".$response['result']['token']."','".$url."','".$response['result']['topic']."');</script>";
...
...
@@ -94,7 +82,6 @@ class UsersController extends AppController {
#------------------------------------------------------------------
//$this->redirect($this->_redirectApplicationURL);
//header('Location: ' . $this->_redirectApplicationURL);
//return $this->redirect($redirectApplicationURL);
}
else
{
$this
->
Flash
->
error
(
__
(
'Verify Fail'
));
return
$this
->
redirect
([
'controller'
=>
'Users'
,
'action'
=>
'signin'
]);
...
...
@@ -110,162 +97,162 @@ class UsersController extends AppController {
}
}
public
function
signup
()
{
$this
->
loadModel
(
'MasterCountries'
);
$this
->
loadModel
(
'MasterProvinces'
);
$countries
=
$this
->
MasterCountries
->
find
(
'list'
,
[
'conditions'
=>
[
'is_used'
=>
true
],
'keyField'
=>
'id'
,
'valueField'
=>
[
'country_name_th'
]
]
)
->
order
([
'country_name_th'
=>
'ASC'
,
]);
if
(
!
empty
(
$countries
))
$countries
=
$countries
->
toArray
();
$provinces
=
$this
->
MasterProvinces
->
find
(
'list'
,
[
'conditions'
=>
[
'is_used'
=>
true
],
'keyField'
=>
'id'
,
'valueField'
=>
'province_name_th'
]
)
->
order
([
'province_name_th'
=>
'DESC'
,
]);
if
(
!
empty
(
$provinces
))
$provinces
=
$provinces
->
toArray
();
$this
->
set
(
compact
(
'provinces'
,
'countries'
));
public
function
signup
()
{
$this
->
loadModel
(
'MasterCountries'
);
$this
->
loadModel
(
'MasterProvinces'
);
$countries
=
$this
->
MasterCountries
->
find
(
'list'
,
[
'conditions'
=>
[
'is_used'
=>
true
],
'keyField'
=>
'id'
,
'valueField'
=>
[
'country_name_th'
]
]
);
if
(
!
empty
(
$countries
))
$countries
=
$countries
->
toArray
();
$provinces
=
$this
->
MasterProvinces
->
find
(
'list'
,
[
'conditions'
=>
[
'is_used'
=>
true
],
'keyField'
=>
'id'
,
'valueField'
=>
'province_name_th'
]
);
if
(
!
empty
(
$provinces
))
$provinces
=
$provinces
->
toArray
();
$this
->
set
(
compact
(
'provinces'
,
'countries'
));
$this
->
viewBuilder
()
->
layout
(
'blank'
);
}
#---------------------------------------------------------------------------------------------------
#Signup
public
function
createAccount
()
{
$this
->
loadModel
(
'UserPersonals'
);
#Signup
public
function
createAccount
()
{
$this
->
loadModel
(
'UserPersonals'
);
$users
=
$this
->
Users
->
newEntity
();
$user_personals
=
$this
->
UserPersonals
->
newEntity
();
$user_personals
=
$this
->
UserPersonals
->
newEntity
();
if
(
$this
->
request
->
is
(
'post'
))
{
// $username_check = $this->MasterProvinces->find('all')->toArray();
// pr($username_check);die;
// pr($this->request->data);die;
$today
=
Time
::
now
();
$dateNow
=
$today
->
i18nFormat
(
'yyyy-MM-dd HH:mm:ss'
);
$hasher
=
new
DefaultPasswordHasher
();
// $username_check = $this->MasterProvinces->find('all')->toArray();
// pr($username_check);die;
// pr($this->request->data);die;
$today
=
Time
::
now
();
$dateNow
=
$today
->
i18nFormat
(
'yyyy-MM-dd HH:mm:ss'
);
$hasher
=
new
DefaultPasswordHasher
();
$firstname
=
$this
->
request
->
data
[
'firstname'
];
// $phone_no = $this->request->data['phone_no'];
$lastname
=
$this
->
request
->
data
[
'lastname'
];
$master_country_id
=
$this
->
request
->
data
[
'master_country_id'
];
$master_province_id
=
$this
->
request
->
data
[
'master_province_id'
];
$password
=
$this
->
request
->
data
[
'password'
];
$confirm_password
=
$this
->
request
->
data
[
'confirm_password'
];
$btn
=
$this
->
request
->
data
[
'btn'
];
if
(
!
empty
(
$this
->
request
->
data
[
'birthdate'
]))
{
$birthdate
=
explode
(
"/"
,
$this
->
request
->
data
[
'birthdate'
]);
$birthdate
=
$birthdate
[
2
]
.
'-'
.
$birthdate
[
1
]
.
'-'
.
$birthdate
[
0
];
$this
->
request
->
data
[
'birthdate'
]
=
$birthdate
;
}
else
{
$birthdate
=
'2000-10-10'
;
}
$this
->
request
->
data
[
'password'
]
=
$hasher
->
hash
(
$password
);
$confirm_password
=
$this
->
request
->
data
[
'confirm_password'
];
$btn
=
$this
->
request
->
data
[
'btn'
];
if
(
!
empty
(
$this
->
request
->
data
[
'birthdate'
]))
{
$birthdate
=
explode
(
"/"
,
$this
->
request
->
data
[
'birthdate'
]);
$birthdate
=
$birthdate
[
2
]
.
'-'
.
$birthdate
[
1
]
.
'-'
.
$birthdate
[
0
];
$this
->
request
->
data
[
'birthdate'
]
=
$birthdate
;
}
else
{
$birthdate
=
'2000-10-10'
;
}
$this
->
request
->
data
[
'password'
]
=
$hasher
->
hash
(
$password
);
$users
[
'created_by'
]
=
0
;
$users
[
'is_used'
]
=
false
;
$users
[
'created'
]
=
$dateNow
;
$users
[
'dynamic_key'
]
=
'dynamic_key'
;
$users
[
'created'
]
=
$dateNow
;
$users
[
'dynamic_key'
]
=
'dynamic_key'
;
// $users['point'] = 0;
$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_expiry'
]
=
date
(
'Y-m-d'
,
strtotime
(
'+3 day'
));
// $users['modified_by'] = $modified_by;
$digits
=
4
;
$users
[
'pin_code'
]
=
str_pad
(
rand
(
0
,
pow
(
10
,
$digits
)
-
1
),
$digits
,
'0'
,
STR_PAD_LEFT
);
if
(
!
empty
(
$this
->
request
->
data
[
'accept'
]))
{
$username_check
=
$this
->
Users
->
find
(
'all'
,
[
'conditions'
=>
[
'Users.username'
=>
$this
->
request
->
data
[
'username'
]
]
])
->
toArray
();
$email_check
=
$this
->
UserPersonals
->
find
(
'all'
,
[
'conditions'
=>
[
'UserPersonals.email'
=>
$this
->
request
->
data
[
'email'
]
]
])
->
toArray
();
$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_expiry'
]
=
date
(
'Y-m-d'
,
strtotime
(
'+3 day'
));
// $users['modified_by'] = $modified_by;
$digits
=
4
;
$users
[
'pin_code'
]
=
str_pad
(
rand
(
0
,
pow
(
10
,
$digits
)
-
1
),
$digits
,
'0'
,
STR_PAD_LEFT
);
if
(
!
empty
(
$this
->
request
->
data
[
'accept'
])){
$username_check
=
$this
->
Users
->
find
(
'all'
,[
'conditions'
=>
[
'Users.username'
=>
$this
->
request
->
data
[
'username'
]
]
])
->
toArray
();
$email_check
=
$this
->
UserPersonals
->
find
(
'all'
,[
'conditions'
=>
[
'UserPersonals.email'
=>
$this
->
request
->
data
[
'email'
]
]
])
->
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
[
'email'
]
=
$this
->
request
->
data
[
'email'
];
$data_notification
[
'pin_code'
]
=
$users
[
'pin_code'
];
$this
->
notification
(
$data_notification
);
$data_notification
=
[];
$data_notification
[
'email'
]
=
$this
->
request
->
data
[
'email'
];
$data_notification
[
'pin_code'
]
=
$users
[
'pin_code'
];
$this
->
notification
(
$data_notification
);
//----------------------------------------------------------------------------------------------
$this
->
Users
->
save
(
$users
);
$user_personals
[
'master_country_id'
]
=
$master_country_id
;
$user_personals
[
'master_province_id'
]
=
$master_province_id
;
$user_personals
[
'user_id'
]
=
$users
[
'id'
];
$user_personals
[
'firstname_th'
]
=
$firstname
;
$user_personals
[
'lastname_th'
]
=
$lastname
;
$user_personals
[
'created_by'
]
=
1
;
$user_personals
[
'created'
]
=
$dateNow
;
$user_personals
=
$this
->
UserPersonals
->
patchEntity
(
$user_personals
,
$this
->
request
->
getData
());
$this
->
UserPersonals
->
save
(
$user_personals
);
// $this->Flash->success(__('The register success.'));
return
$this
->
redirect
([
'controller'
=>
'Users'
,
'action'
=>
'pinCode/'
.
$users
[
'token'
]]);
// return $this->redirect(['action' => 'signin']);
}
$this
->
Flash
->
error
(
__
(
'Username or Email Address already used by others.'
));
return
$this
->
redirect
([
'action'
=>
'signup'
]);
}
else
if
(
empty
(
$this
->
request
->
data
[
'accept'
]))
{
$this
->
Flash
->
error
(
__
(
'please accept'
));
return
$this
->
redirect
([
'action'
=>
'signup'
]);
}
$this
->
Users
->
save
(
$users
);
$user_personals
[
'master_country_id'
]
=
$master_country_id
;
$user_personals
[
'master_province_id'
]
=
$master_province_id
;
$user_personals
[
'user_id'
]
=
$users
[
'id'
];
$user_personals
[
'firstname_th'
]
=
$firstname
;
$user_personals
[
'lastname_th'
]
=
$lastname
;
$user_personals
[
'created_by'
]
=
1
;
$user_personals
[
'created'
]
=
$dateNow
;
$user_personals
=
$this
->
UserPersonals
->
patchEntity
(
$user_personals
,
$this
->
request
->
getData
());
$this
->
UserPersonals
->
save
(
$user_personals
);
// $this->Flash->success(__('The register success.'));
return
$this
->
redirect
([
'controller'
=>
'Users'
,
'action'
=>
'pinCode/'
.
$users
[
'token'
]]);
// return $this->redirect(['action' => 'signin']);
}
$this
->
Flash
->
error
(
__
(
'Username or Email Address already used by others.'
));
return
$this
->
redirect
([
'action'
=>
'signup'
]);
}
else
if
(
empty
(
$this
->
request
->
data
[
'accept'
]))
{
$this
->
Flash
->
error
(
__
(
'please accept'
));
return
$this
->
redirect
([
'action'
=>
'signup'
]);
}
$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
)
{
...
...
@@ -284,89 +271,85 @@ class UsersController extends AppController {
// {
// $this->viewBuilder()->layout('blank');
// }
#Verify Pin Code
public
function
pinCode
(
$token
=
null
)
{
public
function
pinCode
(
$token
=
null
)
{
$this
->
viewBuilder
()
->
layout
(
'blank'
);
$data
=
$this
->
request
->
data
();
if
(
!
empty
(
$data
))
{
if
(
!
empty
(
$data
)){
$api_core_verify_pin_code
=
Configure
::
read
(
'Config.apiCore.verifyPinCode'
);
$http
=
new
Client
();
#$response = json_decode($http->post($api_core_verify_pin_code,$data)->body(),'_full');
$response
=
$http
->
post
(
$api_core_verify_pin_code
,
$data
)
->
body
();
$response
=
json_decode
(
$response
,
'_full'
);
if
(
!
empty
(
$response
)){
if
(
trim
(
$response
[
'status'
])
==
'Success'
){
$this
->
Flash
->
success
(
__
(
'Verify Completed.'
));
return
$this
->
redirect
([
'controller'
=>
'Users'
,
'action'
=>
'signin'
]);
}
else
{
$this
->
Flash
->
error
(
__
(
'Pin Code Invalid'
));
return
$this
->
redirect
([
'controller'
=>
'Users'
,
'action'
=>
'pinCode/'
.
$token
]);
}
}
}
$this
->
set
(
array
(
'token'
=>
$token
,
'_serialize'
=>
array
(
'token'
)));
}
#---------------------------------------------------------------------------------------------------
$api_core_verify_pin_code
=
Configure
::
read
(
'Config.apiCore.verifyPinCode'
);
$http
=
new
Client
();
#$response = json_decode($http->post($api_core_verify_pin_code,$data)->body(),'_full');
$response
=
$http
->
post
(
$api_core_verify_pin_code
,
$data
)
->
body
();
$response
=
json_decode
(
$response
,
'_full'
);
if
(
!
empty
(
$response
))
{
if
(
trim
(
$response
[
'status'
])
==
'Success'
)
{
$this
->
Flash
->
success
(
__
(
'Verify Completed.'
));
return
$this
->
redirect
([
'controller'
=>
'Users'
,
'action'
=>
'signin'
]);
}
else
{
$this
->
Flash
->
error
(
__
(
'Pin Code Invalid'
));
return
$this
->
redirect
([
'controller'
=>
'Users'
,
'action'
=>
'pinCode/'
.
$token
]);
}
}
}
$this
->
set
(
array
(
'token'
=>
$token
,
'_serialize'
=>
array
(
'token'
)));
}
/**
*
* Function user forgot password
* @return void
*/
public
function
forgotPassword
()
{
$this
->
viewBuilder
()
->
layout
(
'blank'
);
$this
->
loadModel
(
'UserPersonals'
);
if
(
$this
->
request
->
is
(
'post'
))
{
$hasher
=
new
DefaultPasswordHasher
();
$email
=
$this
->
request
->
data
[
'email'
];
$user_personals
=
$this
->
UserPersonals
->
find
(
'all'
,
[
'conditions'
=>
[
'UserPersonals.email'
=>
$email
]
])
->
first
();
if
(
!
empty
(
$user_personals
))
{
$users
=
$this
->
Users
->
find
(
'all'
,
[
'conditions'
=>
[
'Users.id'
=>
$user_personals
[
'user_id'
]
]
])
->
first
();
$digits
=
4
;
$users
[
'pin_pass'
]
=
str_pad
(
rand
(
0
,
pow
(
10
,
$digits
)
-
1
),
$digits
,
'0'
,
STR_PAD_LEFT
);
$token
=
$users
[
'token'
];
//--------------------ตัวส่ง Email ---------------------------------------------------------
//pr($user_personals);die;
$data_notification
=
[];
$data_notification
[
'email'
]
=
$this
->
request
->
data
[
'email'
];
$data_notification
[
'pin_code'
]
=
$users
[
'pin_pass'
];
$this
->
notification
(
$data_notification
);
//----------------------------------------------------------------------------------------
$this
->
Users
->
save
(
$users
);
$this
->
Flash
->
success
(
__
(
'send password to email success'
));
return
$this
->
redirect
([
'action'
=>
'pinCodepassword/'
.
$token
]);
}
else
{
$this
->
Flash
->
error
(
__
(
'Invalid Email.'
));
return
$this
->
redirect
([
'action'
=>
'forgot-password'
]);
}
#---------------------------------------------------------------------------------------------------
public
function
forgotPassword
()
{
$this
->
viewBuilder
()
->
layout
(
'blank'
);
$this
->
loadModel
(
'UserPersonals'
);
if
(
$this
->
request
->
is
(
'post'
))
{
$hasher
=
new
DefaultPasswordHasher
();
$email
=
$this
->
request
->
data
[
'email'
];
$user_personals
=
$this
->
UserPersonals
->
find
(
'all'
,[
'conditions'
=>
[
'UserPersonals.email'
=>
$email
]
])
->
first
();
if
(
!
empty
(
$user_personals
)){
$users
=
$this
->
Users
->
find
(
'all'
,[
'conditions'
=>
[
'Users.id'
=>
$user_personals
[
'user_id'
]
]
])
->
first
();
$digits
=
4
;
$users
[
'pin_pass'
]
=
str_pad
(
rand
(
0
,
pow
(
10
,
$digits
)
-
1
),
$digits
,
'0'
,
STR_PAD_LEFT
);
$token
=
$users
[
'token'
];
//--------------------ตัวส่ง Email ---------------------------------------------------------
//pr($user_personals);die;
$data_notification
=
[];
$data_notification
[
'email'
]
=
$this
->
request
->
data
[
'email'
];
$data_notification
[
'pin_code'
]
=
$users
[
'pin_pass'
]
.
'<br>'
.
" Username: "
.
$users
[
'username'
];
$this
->
notification
(
$data_notification
);
//----------------------------------------------------------------------------------------
$this
->
Users
->
save
(
$users
);
$this
->
Flash
->
success
(
__
(
'send password to email success'
));
return
$this
->
redirect
([
'action'
=>
'pinCodepassword/'
.
$token
]);
}
else
{
$this
->
Flash
->
error
(
__
(
'Invalid Email.'
));
return
$this
->
redirect
([
'action'
=>
'forgot-password'
]);
}
}
}
// public function pinCodepassword($token = null) {
// $this->viewBuilder()->layout('blank');
// $users = $this->Users->find('all', [
// 'conditions' => [
// 'Users.token' => $token
// ]
// ])->first();
public
function
pinCodepassword
(
$token
=
null
)
{
$this
->
viewBuilder
()
->
layout
(
'blank'
);
...
...
@@ -440,75 +423,8 @@ class UsersController extends AppController {
}
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
...
...
@@ -524,7 +440,6 @@ class UsersController extends AppController {
return
$this
->
redirect
(
$this
->
Auth
->
logout
());
}
public
function
forgotsendpin
(
$token
=
null
)
{
$this
->
loadModel
(
'UserPersonals'
);
$users
=
$this
->
Users
->
find
(
'all'
,[
...
...
@@ -583,7 +498,7 @@ class UsersController extends AppController {
}
$this
->
Flash
->
success
(
__
(
'send pin false.'
));
return
$this
->
redirect
([
'action'
=>
'pin_code/'
.
$token
]);
}
}
}
www/src/Template/Profiles/index.ctp
View file @
c06a328c
...
...
@@ -414,6 +414,10 @@
code span {
color:green;
}
.form-control-reg{
height : 50px;
}
</style>
<script>
...
...
www/src/Template/Users/change_forgotpassword.ctp
View file @
c06a328c
...
...
@@ -195,6 +195,9 @@
code span {
color:green;
}
.from-control-reg {
height:50px;
}
</style>
<script>
var ALERT_TITLE = "";
...
...
www/src/Template/Users/change_password.ctp
View file @
c06a328c
...
...
@@ -222,6 +222,9 @@
code span {
color:green;
}
.from-control-reg {
height:50px;
}
</style>
<script>
var ALERT_TITLE = "";
...
...
www/src/Template/Users/forgot_password.ctp
View file @
c06a328c
...
...
@@ -147,6 +147,9 @@
code span {
color:green;
}
.from-control-reg {
height:50px;
}
</style>
<!--------------------------------- date ------------------------------------->
...
...
www/src/Template/Users/signup.ctp
View file @
c06a328c
...
...
@@ -468,6 +468,9 @@ function check_notnum() {
code span {
color:green;
}
.from-control-reg {
height:50px;
}
</style>
<script>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment