TRUE, 'resetpassword'=>TRUE, ); /** * Enable User to Edit their Account Details */ public function action_edit() { // Store our new values $this->ao->values($_POST); // Run validation and save if ($this->ao->changed()) if ($this->ao->check()) { SystemMessage::factory() ->title('Record updated') ->type('success') ->body(_('Your account record has been updated.')); $this->ao->save(); } else { $output = ''; // @todo Need to check that this still works with the new bootstrap theming foreach ($this->ao->validation()->errors('forms/login') as $field => $error) $output .= sprintf('
  • %s %s
  • ',$field,$error); if ($output) $output = sprintf('',$output); SystemMessage::factory() ->title(_('Record NOT updated')) ->type('error') ->body(_('Your updates didnt pass validation.').'
    '.$output); } Block::factory() ->title(sprintf('Account: %s',$this->ao->accnum())) ->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->accnum())) ->title_icon('icon-cog') ->id('reset') ->type('form-horizontal') ->body(View::factory('account/user/resetpassword')->set('o',$this->ao)); } } ?>