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();
 }
Example #2
0
 public static function getInstance()
 {
     if (is_null(self::$_instance)) {
         self::$_instance = new self();
         self::$_instance->_table = 'user';
     }
     return self::$_instance;
 }
Example #3
0
 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;
     }
 }