1, have_session => 1, have_user => 1 ) ) or die("Nobody loves me. I don't even have space for a name."); $rules = Array(); $rules['auth']['password'] = array(type => 'string'); $rules['auth']['username'] = array(type => 'string'); $rules['auth']['goto'] = array(type => 'string', optional => 1); $rules['login']['goto'] = array(type => 'string', optional => 1); $rules['login']['username'] = array(type => 'string', optional => 1); $rules['login']['message'] = array(type => 'string', optional => 1); $arguments = param_check($GLOBALS, $rules, array(params_required=>false)); $message = $arguments['message']; $logged_in = 0; if ( $arguments['form_id']=='auth' ) { $namespace->session->set_id(); $result = $namespace->user->do_login( $arguments['username'], $arguments['password']); if ($result) $logged_in = 1; else $message = 'Invalid username/password pair.'; } if (! $logged_in ) { $data = array(); $data['goto'] = $arguments['goto']; $data['message'] = $message; $data['username'] = $namespace->session->data['user']['username']; $data['username_field'] = $arguments['username']; $template = new Template('login.html', $namespace->config->template_path); $template->parse($data); print $template->output(); } else { if ($arguments['goto']) redirect($namespace, $arguments['goto']); else redirect($namespace, './'); } $namespace->stop(); # vim:set ts=4: # vim:set shiftwidth=4: ?>