Move settings to auth controller

This commit is contained in:
Eike Foken
2011-08-11 19:05:31 +02:00
parent 353c870872
commit 78c71b7ae9
6 changed files with 38 additions and 115 deletions

View File

@@ -106,14 +106,9 @@ class Auth extends CI_Controller {
* Allows users to edit their settings.
*/
public function settings() {
if (!$this->access->loggedIn()) {
redirect('auth/login', 'refresh');
}
$user = $this->access->getCurrentUser();
// validate the form
$this->form_validation->set_rules('new_password', _('New password'), 'min_length[' . $this->config->item('min_password_length', 'auth') . ']|max_length[' . $this->config->item('max_password_length', 'access') . ']|matches[new_password_confirm]');
if ($this->form_validation->run() == true) {
if ($this->form_validation->run() === true) {
// change password if needed
if ($this->input->post('new_password') != '') {
$username = $this->session->userdata('username');
@@ -124,27 +119,22 @@ class Auth extends CI_Controller {
}
}
// update user
$updateData = array(
'firstname' => $this->input->post('firstname'),
'lastname' => $this->input->post('lastname'),
'institution' => $this->input->post('institution'),
'phone' => $this->input->post('phone'),
'email' => $this->input->post('email'),
// update users table
$data = array(
'email' => $this->input->post('email'),
'firstname' => $this->input->post('firstname'),
'lastname' => $this->input->post('lastname'),
'institution' => $this->input->post('institution'),
'phone' => $this->input->post('phone')
);
$this->access->updateUser($this->session->userdata('user_id'), $updateData);
// output JSON data
$this->output->set_content_type('application/json')
->set_output(json_encode(array('success' => true)));
} else {
$data['success'] = true;
$data['data'] = $this->access->getCurrentUser();
// output JSON data
$this->output->set_content_type('application/json')
->set_output(json_encode($data));
if ($this->user->update($user['id'], $data)) {
$this->messages->add(_("Settings saved successfully"), 'success');
redirect('auth/settings', 303);
}
}
$this->load->view('auth/settings', $user);
}
/**

View File

@@ -1,62 +0,0 @@
<?php
/*
* Copyright (c) 2011 Karsten Heiken <karsten@disposed.de>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @author Karsten Heiken <karsten@disposed.de>
*/
class Settings extends CI_Controller {
/**
* Constructor.
*/
public function __construct() {
parent::__construct();
$this->load->model('program');
$this->load->library('form_validation');
}
/**
* Show a list of all available programs.
*/
public function index() {
$user = $this->access->getCurrentUser();
if ($this->form_validation->run() === true) {
$data = array(
'email' => $this->input->post('email'),
'firstname' => $this->input->post('firstname'),
'lastname' => $this->input->post('lastname'),
'institution' => $this->input->post('institution'),
'phone' => $this->input->post('phone')
);
if ($this->user->update($user['id'], $data)) {
$this->messages->add(_("Settings saved successfully"), 'success');
redirect('settings', 303);
}
}
$this->load->view('user/settings', $user);
}
}