class Controller_Profile extends Controller_Common { public function action_index() { if (Input::method() === 'POST') { // Setup validation $val = Validation::factory(); // Set validation rules $val->add_field('first_name', 'First Name', 'trim|min_length[2]|max_length[32]'); $val->add_field('last_name', 'Last Name', 'trim|min_length[2]|max_length[32]'); $val->add_field('email', 'Email', 'trim|required|valid_email|min_length[2]|max_length[255]'); // Determin if user wants to change password if (!empty($_POST['old_password']) and !empty($_POST['password'])) { $val->add_field('old_password', 'Old Password', 'trim|required|min_length[2]|max_length[255]'); $val->add_field('password', 'Password', 'trim|required|min_length[2]|max_length[255]'); } if ($val->run()) { // Update user if (Auth::instance()->update_user($val->validated())) { Session::set_flash('success', 'Profile updated successfully!'); Response::redirect('profile'); } else { Session::set_flash('notice', 'Profile was not updated.'); Response::redirect('profile'); //throw new Exception('An unexpected error occurred. Please try again.'); } } else { $val->set_message('valid_email', 'The field :label is not a valid email address.'); } View::set_global('val', $val, false); } // Load User Data $user = Model_User::find($this->user_id); $this->template->set_global('user', $user, false); $this->template->set_global('profile_fields', Auth::instance()->get_profile_fields(), false); $this->template->title = 'Profile'; $this->template->content = View::factory('profile/index'); } }
<div class="row"><br> <div class="column grid_12"><br> <h1>Profile Information</h1><br> <?php if (isset($val)) echo $val->show_errors(); ?><br> <br> <?php echo Form::open(); ?><br> <br> <p>Username: <?=Auth::instance()->get_screen_name();?></p><br> <p><label for="form_first_name">First Name</label> <?php echo Form::input('first_name', Input::post('first_name', isset($profile_fields) ? $profile_fields['first_name'] : '')); ?> </p><br> <p><label for="form_last_name">Last Name</label> <?php echo Form::input('last_name', Input::post('last_name', isset($profile_fields) ? $profile_fields['last_name'] : '')); ?> </p><br> <p><label for="form_email">Email</label> <?php echo Form::input('email', Input::post('email', isset($user) ? $user->email : '')); ?> </p><br> <br> <hr><br> <p><label for="form_password">Old Password</label> <?php echo Form::password('old_password', Input::post('old_password', '')); ?> </p><br> <p><label for="form_password">New Password</label> <?php echo Form::password('password', Input::post('password', '')); ?> </p><br> <br> <div class="actions"> <?php echo Form::submit(); ?> </div><br> <?php echo Form::close(); ?><br> </div><br> </div>
It looks like you're new here. If you want to get involved, click one of these buttons!