getTemplateDir example

$_name_match[1] = trim($_name_match[1], '"\' ');

                return $_name_match[1];
            }

            if (str_contains($_namespace_match[1], 'ignore')) {
                return null;
            }
            throw new Enlight_Exception('Missing name attribute in namespace block');
        }
        $path = Enlight_Loader::realpath($source->filepath);
        $templateDirs = $source->smarty->getTemplateDir();
        if (\is_array($templateDirs)) {
            foreach ($templateDirs as $template_dir) {
                $template_dir = Enlight_Loader::realpath($template_dir);
                if (\is_string($path) && \is_string($template_dir) && str_starts_with($path$template_dir)) {
                    $namespace = substr($path, \strlen($template_dir));
                    $namespace = strtr($namespace, DIRECTORY_SEPARATOR, '/');
                    $namespace = \dirname($namespace) . '/' . pathinfo($namespace, PATHINFO_FILENAME);

                    return trim($namespace, '/');
                }
            }
        }

    public function addTemplateDir($template_dir$key = null, $position = null)
    {
        if (\is_array($template_dir)) {
            foreach ($template_dir as $k => $v) {
                $this->addTemplateDir($v, \is_int($k) ? null : $k);
            }

            return $this;
        }
        $_template_dir = $this->getTemplateDir();
        if ($position === self::POSITION_PREPEND) {
            if ($key === null) {
                array_unshift($_template_dir$template_dir);
            } else {
                $_template_dir = array_merge([$key => $template_dir]$_template_dir);
                $_template_dir[$key] = $template_dir;
            }
        } elseif ($key !== null) {
            $_template_dir[$key] = $template_dir;
        } else {
            $_template_dir[] = $template_dir;
        }

    public static function compileAllTemplates($extention$force_compile$time_limit$max_errors, Smarty $smarty)
    {
        // switch off time limit         if (function_exists('set_time_limit')) {
            @set_time_limit($time_limit);
        }
        $smarty->force_compile = $force_compile;
        $_count = 0;
        $_error_count = 0;
        // loop over array of template directories         foreach($smarty->getTemplateDir() as $_dir) {
            $_compileDirs = new RecursiveDirectoryIterator($_dir);
            $_compile = new RecursiveIteratorIterator($_compileDirs);
            foreach ($_compile as $_fileinfo) {
                if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_fileinfo, '.svn') !== false) continue;
                $_file = $_fileinfo->getFilename();
                if (!substr_compare($_file$extention, - strlen($extention)) == 0) continue;
                if ($_fileinfo->getPath() == substr($_dir, 0, -1)) {
                   $_template_file = $_file;
                } else {
                   $_template_file = substr($_fileinfo->getPath()strlen($_dir)) . DS . $_file;
                }
                

    protected function buildFilepath(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
    {
        $file = $source->name;
        if ($source instanceof Smarty_Config_Source) {
            $_directories = $source->smarty->getConfigDir();
            $_default_handler = $source->smarty->default_config_handler_func;
        } else {
            $_directories = $source->smarty->getTemplateDir();
            $_default_handler = $source->smarty->default_template_handler_func;
        }

        // go relative to a given template?         $_file_is_dotted = $file[0] == '.' && ($file[1] == '.' || $file[1] == '/' || $file[1] == '\\');
        if ($_template && $_template->parent instanceof Smarty_Internal_Template && $_file_is_dotted) {
            if ($_template->parent->source->type != 'file' && $_template->parent->source->type != 'extends' && !$_template->parent->allow_relative_path) {
                throw new SmartyException("Template '{$file}' cannot be relative to template of resource type '{$_template->parent->source->type}'");
            }
            $file = dirname($_template->parent->source->filepath) . DS . $file;
            $_file_exact_match = true;
            


        return $im;
    }

    /** * Helper function that checks if the file exists in any of the template directories * If the file exists, the full file path will be returned */
    protected function getCaptchaFile(string $fileName): ?string
    {
        $templateDirs = $this->templateManager->getTemplateDir();
        if (!\is_array($templateDirs)) {
            return null;
        }

        foreach ($templateDirs as $templateDir) {
            if (file_exists($templateDir . $fileName)) {
                return $templateDir . $fileName;
            }
        }

        return null;
    }

    $file = $params['file'];

    $request = Shopware()->Front()->Request();
    $docPath = Shopware()->Container()->getParameter('shopware.app.rootDir');

    // Check if we got an URI or a local link     if (!empty($file) && strpos($file, '/') !== 0 && strpos($file, '://') === false) {
        $useIncludePath = $template->smarty->getUseIncludePath();

        /** @var string[] $templateDirs */
        $templateDirs = $template->smarty->getTemplateDir();

        // Try to find the file on the filesystem         foreach ($templateDirs as $dir) {
            if (file_exists($dir . $file)) {
                $file = Enlight_Loader::realpath($dir) . DIRECTORY_SEPARATOR . str_replace('/', DIRECTORY_SEPARATOR, $file);
                break;
            }
            if ($useIncludePath) {
                if ($dir === '.' . DIRECTORY_SEPARATOR) {
                    $dir = '';
                }
                

    protected function buildFilepath(Smarty_Template_Source $source, ?Smarty_Internal_Template $_template = null)
    {
        ++$this->index;
        $file = $source->name;
        $hit = false;

        foreach ($source->smarty->getTemplateDir() as $_directory) {
            $_filePath = Enlight_Loader::realpath($_directory . $file);
            if (\is_string($_filePath) && $this->fileExists($source$_filePath)) {
                if ($hit) {
                    return $_filePath;
                }
                if ($_template->parent->source->filepath == $_filePath) {
                    $hit = true;
                }
            }
        }

        

    public function isTrustedResourceDir($filepath)
    {
        $_template = false;
        $_config = false;
        $_secure = false;

        $_template_dir = $this->smarty->getTemplateDir();
        $_config_dir = $this->smarty->getConfigDir();

        // check if index is outdated         if ((!$this->_template_dir || $this->_template_dir !== $_template_dir)
                || (!$this->_config_dir || $this->_config_dir !== $_config_dir)
                || (!empty($this->secure_dir) && (!$this->_secure_dir || $this->_secure_dir !== $this->secure_dir))
        ) {
            $this->_resource_dir = array();
            $_template = true;
            $_config = true;
            $_secure = !empty($this->secure_dir);
        }
Home | Imprint | This part of the site doesn't use cookies.