public function validateInput()
 {
     $validate = Validator::load(DB::load());
     $validation = $validate->checkPost($_POST, array('username' => array('required' => true, 'min' => 3, 'max' => 32, 'notTaken' => 'Users'), 'full_name' => array('required' => true, 'min' => 3, 'max' => 50), 'org' => array('required' => false, 'max' => 32), 'password' => array('required' => true, 'min' => 3, 'max' => 64, 'ValidPass' => Input::get('password')), 'email' => array('required' => true, 'min' => 3, 'max' => 32, 'validEmail' => Input::get('email'))));
     if (!$v->passed()) {
         foreach ($v->errors() as $error) {
             Session::addKey('WARNINGS', $error, $error);
         }
         Redirect::to(Input::get('current'));
         exit;
     }
 }
 private function startSession()
 {
     Session::addKey($this->sessionName, 'ID', $this->data()->ID);
     Session::addKey($this->sessionName, 'Username', $this->data()->Username);
     Session::addKey($this->sessionName, 'Last_login', $this->data()->Last_login);
     Session::addKey($this->sessionName, 'Timeout', time());
     $role = $this->db->select(array('ID,Role'), $this->roles, null, array(array('ID', '=', $this->data()->Role_ID)));
     Session::addKey($this->sessionName, 'Role', Hash::encrypt($role->first()->Role, $this->token));
     // update last login
     $this->updateLastLogin();
     $this->updateTimeout();
 }