public function isAllowed($privilege) { $id = $this->_session->getSessionId(); if (!is_null($id)) { $user = $this->_userRepo->get($id); if (!is_null($user)) { if ($this->_acl->isAllowed($user->getRole(), $this->_resource, $privilege)) { return true; } else { $this->redirect('home/notprivileged?resource=' . $this->_resource . '&privilege=' . $privilege . '&role=' . $user->getRole()); } } } $this->login(); }
public static function getInstance() { if (is_null(self::$_instance)) { self::$_instance = new self(); self::$_instance->_table = 'user'; } return self::$_instance; }
public function routeShutdown(Zend_Controller_Request_Abstract $request) { $publicControllers = ['cron', 'index', 'share']; if (false !== array_search($request->getControllerName(), $publicControllers)) { return; } $user = Application_Model_UserRepository::getInstance()->get(Application_Service_Session::getInstance()->getSessionId()); if ($user && 'admin' === $user->getRole()) { return; } $request->setModuleName('default'); $request->setControllerName('maintenance'); $request->setActionName('index'); }
public function validateCode($code) { $row = $this->_db->query('SELECT * FROM ' . $this->_table . ' WHERE code=?', [$code])->fetch(); if ($row['code'] !== $code) { return false; } else { Application_Model_SignUpRepository::getInstance()->setValidated($row['email']); $user = Application_Model_UserRepository::getInstance()->getByEmail($row['email']); if (!is_null($user)) { $user->setRole('user'); Application_Model_UserRepository::getInstance()->update($user); } $this->delete($code); return true; } }