/** * Удаление материала * * @return void */ public function deleteAction() { // Проверяем права доступа на удаление материала if ($this->Resource->isAllowedAction('delete', $this->ResourceInfo['categories'], $this->ResourceInfo['creator'])) { if ($this->Resource->deleteResource($this->ResourceInfo)) { return $this->composeSuccessMessage('Выбранный материал удален'); } else { return $this->composeDeleteErrorMessage($this->Resource->_errors); } } else { return $this->composeErrorMessage('Недостаточно прав для удаления материала'); } }
/** * Проверяет, имеет ли пользователь доступ к текущей странице на основе параметров запроса * * @return boolean */ protected function isAllow() { // Проверяем доступ к MVC-компоненте if (!isset($this->_usersession->UserData['acl']['mvc'][$this->_params['module']][$this->_params['controller']][$this->_params['action']])) { return false; } // При форвардах игнорируем проверку доступа к разделу и материалу if (isset($this->_params['isfwd']) && $this->_params['isfwd'] == true) { return true; } // Проверяем доступ к разделу if (isset($this->_params['categoryinfo'])) { if ($this->_usersession->UserData['acl']['categories'][$this->_params['categoryinfo']['categoryid']] <= 200) { return false; } } // Проверяем доступ к материалу if (isset($this->_params['resourceinfo'])) { $Resource = new Phorm_Resource(); return $Resource->isAllowedAction('view', $this->_params['categoryinfo']['categoryid'], $this->_params['resourceinfo']['creator']); } return true; }