diff options
author | Peter Palfrader <peter@palfrader.org> | 2004-11-15 09:20:11 +0000 |
---|---|---|
committer | Peter Palfrader <peter@palfrader.org> | 2004-11-15 09:20:11 +0000 |
commit | 5e95090defff64bc8cd7a318a73aa930948fb66d (patch) | |
tree | d977ded4207e51914d539b0ecd20b8583d37c8ea /web/login.php | |
parent | 6c3e0ba0a82307abf825bf1cde85638464ab1713 (diff) |
Initial import
Diffstat (limited to 'web/login.php')
-rw-r--r-- | web/login.php | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/web/login.php b/web/login.php new file mode 100644 index 0000000..691e26e --- /dev/null +++ b/web/login.php @@ -0,0 +1,56 @@ +<? +require_once("../include/Namespace.inc"); +require_once("../include/Tools.inc"); +require_once("../include/Template.inc"); + +$namespace = new Namespace( + array( have_database => 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: +?> |