Ejemplo n.º 1
0
 public function findTemplate($name)
 {
     $this->validateName($name);
     if (!isset($this->resolverCache[$name])) {
         $found = false;
         if (is_readable($name)) {
             $this->resolverCache[$name] = $name;
             $found = true;
         } else {
             $paths = twig_get_discovered_templates();
             if (array_key_exists($name, $paths)) {
                 $completeName = $paths[$name];
                 $found = $this->isTemplateReadable($name, $completeName);
             } else {
                 global $theme;
                 if (stripos($name, $theme, 0) == 0) {
                     $name = str_replace($theme . '::', '', $name);
                     $completeName = $paths[$name];
                     $found = $this->isTemplateReadable($name, $completeName);
                 }
             }
         }
         if (!$found) {
             throw new Twig_Error_Loader(sprintf('Could not find a cache key for template "%s"', $name));
         }
     }
     return $this->resolverCache[$name];
 }
Ejemplo n.º 2
0
 public function loadTemplate($name, $index = NULL)
 {
     if (substr_count($name, '::') == 1) {
         $paths = twig_get_discovered_templates();
         // Very expensive call
         $name = $paths[$name];
     }
     return parent::loadTemplate($name, $index);
 }
Ejemplo n.º 3
0
 public function findTemplate($name)
 {
     $this->validateName($name);
     if (!isset($this->resolverCache[$name])) {
         $found = FALSE;
         if (is_readable($name)) {
             $this->resolverCache[$name] = $name;
             $found = TRUE;
         } else {
             $paths = twig_get_discovered_templates();
             if (array_key_exists($name, $paths)) {
                 $completeName = $paths[$name];
                 if (is_readable($completeName)) {
                     $this->resolverCache[$name] = $completeName;
                     $found = TRUE;
                 }
             }
         }
         if (!$found) {
             throw new Twig_Error_Loader(sprintf('Could not find a cache key for template "%s"', $name));
         }
     }
     return $this->resolverCache[$name];
 }