TRUE, 'resetpassword'=>TRUE, ); /** * Enable User to Edit their Account Details */ public function action_edit() { if ($this->request->post() AND $this->ao->values($this->request->post())->changed() AND (! $this->save($this->ao))) $this->ao->reload(); Block::factory() ->title(sprintf('Account: %s',$this->ao->refnum())) ->title_icon('icon-wrench') ->type('form-horizontal') ->body(View::factory('account/user/edit')->set('o',$this->ao)); } public function action_resetpassword() { if ($this->request->post()) { $validation = Validation::factory($this->request->post()) ->rule('password','not_empty') ->rule('password','min_length',array(':value',6)) ->rule('password_confirm','matches',array(':validation',':field','password')); // Store our new values $this->ao->values($this->request->post()); if (! $validation->check()) SystemMessage::factory() ->title(_('Record NOT updated')) ->type('error') ->body(_('Your password didnt pass validation.')); // Run validation and save elseif ($this->ao->changed()) if ($this->ao->save()) { SystemMessage::factory() ->title('Record updated') ->type('success') ->body(_('Your account record has been updated.')); // Log the password reset $this->ao->log('Password reset'); HTTP::redirect('login'); } } if (Kohana::$environment >= Kohana::TESTING OR Request::current()->secure()) Script::factory() ->type('src') ->data('media/js/jquery/jquery.validate-1.11.1.min.js'); else Script::factory() ->type('src') ->data('http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js'); Script::factory() ->type('stdin') ->data(' $("#reset").validate({ wrapper: "div", errorElement: "span", rules: { password_confirm: { equalTo: "input[name=password]", }, }, highlight: function(element) { $(element).parents(".control-group").removeClass("success").addClass("error"); }, success: function(element) { $(element).parents(".control-group").removeClass("error").addClass("success"); }, errorPlacement: function(error, element) { error.appendTo(element.parents(".controls")); } }); '); Block::factory() ->title(sprintf('Password Reset: %s',$this->ao->refnum())) ->title_icon('icon-cog') ->id('reset') ->type('form-horizontal') ->body(View::factory('account/user/resetpassword')->set('o',$this->ao)); } } ?>