Exemple #1
0
 /**
  * Формирует url для маршрута относительно HTTP-запроса к компоненту
  * @param string $routeName имя маршрута
  * @param array $params
  * @param bool $useQuery использовать ли GET-параметры текущего HTTP-запроса
  * @return string
  */
 public function __invoke($routeName, $params = [], $useQuery = false)
 {
     $context = $this->dispatcher->getCurrentContext();
     $baseUrl = $context->getBaseUrl();
     $url = $baseUrl . $context->getComponent()->getRouter()->assemble($routeName, $params) ?: '/';
     if ($useQuery) {
         $getParams = $this->dispatcher->getCurrentRequest()->query->all();
         if ($getParams) {
             $url .= '?' . http_build_query($getParams);
         }
     }
     return $url;
 }
 /**
  * Проверяет права на ресурс.
  * @param IAclResource|string $resource ресурс или имя ресурса
  * @param string $operationName имя операции над ресурсом
  * @return bool
  */
 public function __invoke($resource, $operationName = IAclManager::OPERATION_ALL)
 {
     $context = $this->dispatcher->getCurrentContext();
     return $this->dispatcher->checkPermissions($context->getComponent(), $resource, $operationName);
 }
 /**
  * Возвращает помощник вида для вызова виджетов
  * @return callable
  */
 protected function getWidgetHelper()
 {
     return function ($widgetPath, array $args = []) {
         return $this->dispatcher->executeWidget($widgetPath, $args);
     };
 }