/**
  * @see \Ableron\Core\Template\Plugins\Interfaces\FunctionPluginInterface::execute()
  */
 public function execute(TemplateRenderer $templateRenderer, $tagArguments)
 {
     // read arguments
     $templateFile = isset($tagArguments['templateFile']) ? $tagArguments['templateFile'] : $tagArguments[0];
     $variables = isset($tagArguments['variables']) ? $tagArguments['variables'] : array();
     $sandboxMode = isset($tagArguments['sandboxMode']) ? $tagArguments['sandboxMode'] : false;
     // check for argument "templateFile"
     if (StringUtil::isNullOrEmpty($templateFile)) {
         throw new SystemException('Missing argument "templateFile" in tag {include}', 0, E_USER_ERROR, __FILE__, __LINE__);
     }
     // return output of the rendered template
     return $templateRenderer->getTemplateHandler()->render(TemplateHelper::getAbsoluteTemplateFilePath($templateFile, $templateRenderer->getCurrentTemplatePath()), $sandboxMode ? $variables : array_merge($templateRenderer->getCurrentVariables(), $variables), true, $templateRenderer);
 }
Esempio n. 2
0
 /**
  * Sets the fragment of this URI.
  *
  * Because percent encoding is permitted for the fragment, it is possible
  * to represent every character. Thus there is no validation of the given
  * fragment.
  *
  * @param string|null $fragment The fragment to set
  * @param bool $preserveDelimiter Whether to preserve the fragment delimiter (#) when building the string representation of this URI even though the fragment part is empty
  * @return void
  */
 public function setFragment($fragment, $preserveDelimiter = false)
 {
     $this->fragment = StringUtil::isNullOrEmpty($fragment) ? $preserveDelimiter ? '' : null : $fragment;
 }