示例#1
0
 /**
  *
  */
 public static function checkPermissions()
 {
     $request = Core_Request::getInstance();
     // permissions structure
     $data = array('module' => $request->getRoute('module'), 'controller' => $request->getRoute('controller'), 'action' => $request->getRoute('action'));
     $model = Admin_PermissionsModel::getInstance();
     $flag = $model->getFlag($data);
     // $flag = 0 - is a free acces of the page
     if ($flag === 0) {
         return true;
     }
     if (!$flag) {
         // we need to check that method exist
         $model->add($data);
     } else {
         if (!s()->user->id) {
             // @todo
             Core_View::getInstance()->addFlashMessage(__('Please Login'), 'danger');
             Core_Response::getInstance()->setStatus(1)->redirect('admin')->toJson();
         }
         if (!Core_Bit::check(s()->user->access['permissions'], $flag)) {
             // well an owner has ALL access
             $role_rs = Admin_RolesModel::get(array('id' => s()->user->role_id));
             if ($role_rs->is_owner === 1 || s()->user->is_developer === 1) {
                 return true;
             }
             Core_View::getInstance()->addFlashMessage(__('You Don\'t have permission to access this page'), 'danger');
             Core_Response::getInstance()->setStatus(1)->redirect('admin')->toJson();
         }
     }
 }
示例#2
0
 /**
  * @param       $address
  * @param null  $code
  * @param array $options
  */
 public function redirect($address, $code = null, array $options = array())
 {
     if (!isset($code)) {
         $code = 302;
     }
     if (empty($options[self::DIRECT_REDIRECT])) {
         $address = $this->getAddress($address, $options);
     }
     if ($this->request->isAjax()) {
         //json
         return Core_Response::getInstance()->redirect($address)->toJson();
     }
     header('Location: ' . $address, true, $code);
     die;
 }
示例#3
0
 /**
  * @return Core_Response
  */
 public function getResponse()
 {
     return Core_Response::getInstance();
 }