/** * */ 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(); } } }
/** * @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; }
/** * @return Core_Response */ public function getResponse() { return Core_Response::getInstance(); }