Changeset 2015
- Timestamp:
- 02/10/2008 12:23:00 AM (11 months ago)
- Files:
-
- 1 modified
-
trunk/modules/auth/controllers/auth.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/auth/controllers/auth.php
r2010 r2015 2 2 3 3 class Auth_Controller extends Controller { 4 5 protected $inputs = array6 (7 'email' => array8 (9 'label' => 'Email Address',10 'rules' => 'required[6,127]|valid_email'11 ),12 'username' => array13 (14 'label' => 'Username',15 'rules' => 'required[4,32]'16 ),17 'password' => array18 (19 'label' => 'Password',20 'type' => 'password',21 'rules' => 'required[5,40]'22 ),23 'submit' => array24 (25 'type' => 'submit',26 'value' => 'Create New User'27 )28 );29 4 30 5 public function __construct() … … 33 8 34 9 // Load some libraries 35 foreach(array(' profiler', 'auth', 'session') as $lib)10 foreach(array('auth', 'session') as $lib) 36 11 { 37 12 $class = ucfirst($lib); … … 48 23 function create() 49 24 { 50 $form = new Form_Model; 51 $form->title('Create User') 52 ->action('auth/create') 53 ->inputs($this->inputs); 25 $form = new Forge(NULL, 'Create User'); 26 27 $form->input('email')->label(TRUE)->rules('required|length[4,32]'); 28 $form->input('username')->label(TRUE)->rules('required|length[4,32]'); 29 $form->password('password')->label(TRUE)->rules('required|length[5,40]'); 30 $form->submit('Create New User'); 54 31 55 32 if ($form->validate()) … … 60 37 if ( ! $user->username_exists($this->input->post('username'))) 61 38 { 62 foreach($form-> data() as $key => $val)39 foreach($form->as_array() as $key => $val) 63 40 { 64 41 // Set user data … … 75 52 76 53 // Display the form 77 echo $form-> build();54 echo $form->render(); 78 55 } 79 56 80 57 function login() 81 58 { 82 // Get inputs 83 $inputs = $this->inputs; 59 if ($this->session->get('user_id')) 60 { 61 $form = new Forge('auth/logout', 'Log Out'); 84 62 85 // Change the submit button 86 $inputs['submit']['value'] = 'Attempt Login'; 63 $form->submit('Logout Now'); 64 } 65 else 66 { 67 $form = new Forge(NULL, 'User Login'); 87 68 88 // Remove email, we don't need it 89 unset($inputs['email']); 90 91 if ( ! $this->session->get('user_id')) 92 { 93 // Create the login form 94 $form = new Form_Model; 95 $form->title('Test Login') 96 ->action('auth/login') 97 ->inputs($inputs); 69 $form->input('username')->label(TRUE)->rules('required|length[4,32]'); 70 $form->password('password')->label(TRUE)->rules('required|length[5,40]'); 71 $form->submit('Attempt Login'); 98 72 99 73 if ($form->validate()) 100 74 { 101 75 // Load the user 102 $user = new User_Model($form->data('username'));76 $user = ORM::factory('user', $form->username->value); 103 77 104 78 // Attempt a login 105 if ($this->auth->login($user, $form-> data('password')))79 if ($this->auth->login($user, $form->password->value)) 106 80 { 107 81 echo "<h4>Login Success!</h4>"; 108 82 echo "<p>Your roles are:</p>"; 109 83 echo Kohana::debug($this->session->get('roles')); 84 return; 110 85 } 111 86 else 112 87 { 113 echo "<h4>Login Failed!</h4>";88 $form->password->add_error('login_failed', 'Invalid username or password.'); 114 89 } 115 90 } 116 91 } 117 92 118 if ($this->session->get('user_id'))119 {120 $form = new Form_Model;121 $form->title('Logout')122 ->action('auth/logout')123 ->inputs(array124 (125 'logout' => array126 (127 'type' => 'submit',128 'value' => 'Logout'129 )130 ));131 }132 133 93 // Display the form 134 echo $form-> build();94 echo $form->render(); 135 95 } 136 96
