Esempio n. 1
0
 /**
  * Удаление материала
  * 
  * @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('Недостаточно прав для удаления материала');
     }
 }
Esempio n. 2
0
 /**
  * Проверяет, имеет ли пользователь доступ к текущей странице на основе параметров запроса
  * 
  * @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;
 }