switch ($model) { case 'user': if (isset($_SESSION['user'])) { if ($_SESSION['user']->isloggedin()) { $u = $_SESSION['user']; $c = new userController($u); $c->action($action); } } elseif ($action == 'login') { $u = new user(); $c = new userController($u); $c->action('login'); } else { $u = new user(); $v = new userView($u); $v->login(); } break; case 'option': $u = $_SESSION['user']->username; $o = new option($u); $c = new optionController($o); $c->action($action); break; case 'none': break; default: print 'Unknown model: ' . $model . '<br/>'; break; } include 'lib/footer.phtml';
public function action($action = 'main') { switch ($action) { case 'login': $rememberme = false; if (isset($_POST['remember_me'])) { $rememberme = true; } $user = new user($_POST['username']); $user->login($_POST['password'], $rememberme); if (isset($_SESSION['user'])) { header('Location: ./'); } else { $user = new user(); $v = new userView($user); $v->login(true); } break; case 'logout': $this->user->logout(); $this->user = new user(); $v = new userView($this->user); $v->login(); break; case 'main': $v = new userView($this->user); $v->main(); break; case 'updatepassword': if ($_POST['password1'] === $_POST['password2']) { $ret = $this->user->updatepassword($_POST['currentpassword'], $_POST['password1']); } else { $ret = false; } $v = new userView($this->user); if ($ret) { $v->main(); } else { $v->updatepassword(true); } break; case 'updatepassword_view': $v = new userView($this->user); $v->updatepassword(); break; case 'changeuser': if ($this->user->isgroupmember('admins')) { $v = new userView($this->user); $v->changeuser(); } break; case 'adduser': if ($this->user->isgroupmember('admins')) { $ret = new user($_POST['username'], $_POST['password'], $_POST['groupname']); } $v = new userView($this->user); $v->changeuser(); break; case 'adduser_view': if ($this->user->isgroupmember('admins')) { $v = new userView($this->user); $v->adduser(); } break; case 'deleteuser': if ($this->user->isgroupmember('admins')) { $ret = $this->user->deleteuser($_POST['username']); } $v = new userView($this->user); $v->changeuser(); break; case 'enableuser': if ($this->user->isgroupmember('admins')) { $user = new User($_POST['username']); if ($_POST['enabled'] === 'enabled') { $user->enable(true); } if ($_POST['enabled'] === 'disabled') { $user->enable(false); } } $v = new userView($this->user); $v->changeuser(); break; case 'changeusergroup': if ($this->user->isgroupmember('admins')) { $user = new User($_POST['username']); $user->updategroup($_POST['groupname']); } $v = new userView($this->user); $v->changeuser(); break; case 'changeuserpassword': if ($this->user->isgroupmember('admins')) { $this->user->resetuserpassword($_POST['username'], $_POST['password']); } $v = new userView($this->user); $v->changeuser(); break; case 'changeuserpassword_view': if ($this->user->isgroupmember('admins')) { $v = new userView($this->user); $v->changeuserpassword($_POST['username']); } break; default: die('Unkown action: ' . $action); break; } }