only PHP basics :)
public function beforeSave()
{
if (isset($this->data['User']['password'])) {
$this->data['User']['password'] =
AuthComponent::password($this->data['User']['password']);
}
return true;
}
--
Lep pozdrav, Tilen Majerle
http://majerle.eu
2012/4/29 Charles Blackwell <[email protected]>
> This works but, is there a way to NOT has the password when the confirm
> method is called? Also, in your opinion is beforeSave a good way to hash
> the password?
>
> Thanks!
>
>
> 1. <?php
> 2. class User extends AppModel {
> 3. public $name = 'User';
> 4.
> 5. public function beforeSave() {
> 6. $this->data['User']['password'] = AuthComponent::password(
> $this->data['User']['password']);
> 7. return true;
> 8. }
> 9.
> 10. <?php
> 11. App::uses('CakeEmail', 'Network/Email');
> 12. class UsersController extends AppController {
> 13. public $name = 'Users';
> 14. public $components = array <http://www.php.net/array>(
> 'Auth', 'Email');
> 15.
> 16. function beforeFilter(){
> 17. $this->Auth->allow('signup', 'confirm');
> 18. }
> 19.
> 20. function signup(){
> 21. if(!empty <http://www.php.net/empty>($this->request->data)){
> 22. $this->request->data['User']['confirm_code'] = String::
> uuid();
> 23. $this->User->create();
> 24. if($this->User->save($this->request->data)){
> 25. $email = new CakeEmail();
> 26. $email->template('welcome', 'default')
> 27. ->emailFormat('html')
> 28.
> ->viewVars(array<http://www.php.net/array>
> (
> 29. 'id' => $this->User->
> getLastInsertID(),
> 30. 'username' => $this->
> request->data['User']['username'],
> 31. 'email' => $this->request->
> data['User']['email'],
> 32. 'server' => $_SERVER[
> 'SERVER_NAME'],
> 33. 'code' => $this->request->
> data['User']['confirm_code']
> 34. ))
> 35. ->from(array<http://www.php.net/array>
> ('[email protected]' => 'QuickWall.com Administrator'))
> 36. ->to($this->request->data['User'][
> 'email'])
> 37. ->subject('Welcome!');
> 38. if($email->send()){
> 39. $this->Session->setFlash('Congratulations!
> You have signed up!');
> 40. $this->redirect(array<http://www.php.net/array>
> ('controller' => 'questions', 'action' => 'home'));
> 41. }
> 42. } else {
> 43. $this->Session->setFlash('There was an error
> signing up. Please, try again.');
> 44. $this->request->data = null;
> 45. }
> 46. }
> 47. }
> 48.
> 49. function confirm($user_id=null, $code=null){
> 50. if(empty <http://www.php.net/empty>($user_id) ||
> empty<http://www.php.net/empty>
> ($code)){
> 51. $this->set('confirmed', 0);
> 52. $this-render();
> 53. }
> 54.
> 55. $user = $this->User->read(null, $user_id);
> 56.
> 57. if(empty <http://www.php.net/empty>($user)){
> 58. $this->set('confirmed', 0);
> 59. $this->render();
> 60. }
> 61.
> 62. if($user['User']['confirm_code'] == $code){
> 63. $this->User->id = $user_id;
> 64. $this->User->saveField('confirmed', '1');
> 65. $this->set('confirmed', 1);
> 66. } else {
> 67. $this->set('confirmed', 0);
> 68. }
> 69. }
>
>
> --
> Our newest site for the community: CakePHP Video Tutorials
> http://tv.cakephp.org
> Check out the new CakePHP Questions site http://ask.cakephp.org and help
> others with their CakePHP related questions.
>
>
> To unsubscribe from this group, send email to
> [email protected] For more options, visit this group
> at http://groups.google.com/group/cake-php
>
--
Our newest site for the community: CakePHP Video Tutorials
http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others
with their CakePHP related questions.
To unsubscribe from this group, send email to
[email protected] For more options, visit this group at
http://groups.google.com/group/cake-php