/**
  * Executes the template operator
  *
  * @param eZTemplate $tpl
  * @param string $operatorName
  * @param mixed $operatorParameters
  * @param string $rootNamespace
  * @param string $currentNamespace
  * @param mixed $operatorValue
  * @param array $namedParameters
  * @param mixed $placement
  */
 function modify($tpl, $operatorName, $operatorParameters, $rootNamespace, $currentNamespace, &$operatorValue, $namedParameters, $placement)
 {
     if (!is_string($namedParameters['name']) && empty($namedParameters['name'])) {
         $tpl->error($operatorName, "{$operatorName} parameter 'name' must be a non empty string.", $placement);
         return;
     }
     $templateName = $namedParameters['name'];
     if ($namedParameters['parameters'] !== null && !is_array($namedParameters['parameters'])) {
         $tpl->error($operatorName, "{$operatorName} parameter 'parameters' must be a hash array.", $placement);
         return;
     }
     $templateParameters = $namedParameters['parameters'] !== null ? $namedParameters['parameters'] : array();
     $apiContentConverter = NgSymfonyToolsApiContentConverter::instance();
     foreach ($templateParameters as $parameterName => $parameterValue) {
         $templateParameters[$parameterName] = $apiContentConverter->convert($parameterValue);
     }
     $serviceContainer = ezpKernel::instance()->getServiceContainer();
     $templatingEngine = $serviceContainer->get('templating');
     $operatorValue = $templatingEngine->render($templateName, $templateParameters);
 }
 /**
  * Executes the template operator
  *
  * @param eZTemplate $tpl
  * @param string $operatorName
  * @param mixed $operatorParameters
  * @param string $rootNamespace
  * @param string $currentNamespace
  * @param mixed $operatorValue
  * @param array $namedParameters
  * @param mixed $placement
  */
 function modify($tpl, $operatorName, $operatorParameters, $rootNamespace, $currentNamespace, &$operatorValue, $namedParameters, $placement)
 {
     if (!$namedParameters['uri'] instanceof ControllerReference && !(is_string($namedParameters['uri']) && !empty($namedParameters['uri']))) {
         $tpl->error($operatorName, "{$operatorName} parameter 'uri' must be a non empty string or a controller reference.", $placement);
         return;
     }
     $uri = $namedParameters['uri'];
     if ($namedParameters['options'] !== null && !is_array($namedParameters['options'])) {
         $tpl->error($operatorName, "{$operatorName} parameter 'options' must be a hash array.", $placement);
         return;
     }
     $options = $namedParameters['options'] !== null ? $namedParameters['options'] : array();
     if ($operatorName === 'symfony_render_esi') {
         $options['strategy'] = 'esi';
     } else {
         if ($operatorName === 'symfony_render_hinclude') {
             $options['strategy'] = 'hinclude';
         }
     }
     $operatorValue = self::renderUri($uri, $options);
 }
 /**
  * Executes the template operator
  *
  * @param eZTemplate $tpl
  * @param string $operatorName
  * @param mixed $operatorParameters
  * @param string $rootNamespace
  * @param string $currentNamespace
  * @param mixed $operatorValue
  * @param array $namedParameters
  * @param mixed $placement
  */
 function modify($tpl, $operatorName, $operatorParameters, $rootNamespace, $currentNamespace, &$operatorValue, $namedParameters, $placement)
 {
     if (!is_string($namedParameters['name']) && empty($namedParameters['name'])) {
         $tpl->error($operatorName, "{$operatorName} parameter 'name' must be a non empty string.", $placement);
         return;
     }
     $name = $namedParameters['name'];
     if ($namedParameters['parameters'] !== null && !is_array($namedParameters['parameters'])) {
         $tpl->error($operatorName, "{$operatorName} parameter 'parameters' must be a hash array.", $placement);
         return;
     }
     $parameters = $namedParameters['parameters'] !== null ? $namedParameters['parameters'] : array();
     if ($operatorName === 'symfony_path') {
         $relative = isset($namedParameters['relative']) && $namedParameters['relative'] === true;
         $operatorValue = self::getPath($name, $parameters, $relative);
     } else {
         if ($operatorName === 'symfony_url') {
             $schemeRelative = isset($namedParameters['scheme_relative']) && $namedParameters['scheme_relative'] === true;
             $operatorValue = self::getUrl($name, $parameters, $schemeRelative);
         }
     }
 }
 /**
  * Executes the template operator
  *
  * @param eZTemplate $tpl
  * @param string $operatorName
  * @param mixed $operatorParameters
  * @param string $rootNamespace
  * @param string $currentNamespace
  * @param mixed $operatorValue
  * @param array $namedParameters
  * @param mixed $placement
  */
 function modify($tpl, $operatorName, $operatorParameters, $rootNamespace, $currentNamespace, &$operatorValue, $namedParameters, $placement)
 {
     if (!is_string($namedParameters['controller']) || empty($namedParameters['controller'])) {
         $tpl->error($operatorName, "{$operatorName} parameter 'controller' must be a non empty string.", $placement);
         return;
     }
     $controller = $namedParameters['controller'];
     if ($namedParameters['attributes'] !== null && !is_array($namedParameters['attributes'])) {
         $tpl->error($operatorName, "{$operatorName} parameter 'attributes' must be a hash array.", $placement);
         return;
     }
     $attributes = $namedParameters['attributes'] !== null ? $namedParameters['attributes'] : array();
     if ($namedParameters['query'] !== null && !is_array($namedParameters['query'])) {
         $tpl->error($operatorName, "{$operatorName} parameter 'query' must be a hash array.", $placement);
         return;
     }
     $query = $namedParameters['query'] !== null ? $namedParameters['query'] : array();
     $apiContentConverter = NgSymfonyToolsApiContentConverter::instance();
     foreach ($attributes as $attributeName => $attributeValue) {
         $attributes[$attributeName] = $apiContentConverter->convert($attributeValue);
     }
     $operatorValue = self::getController($controller, $attributes, $query);
 }