コード例 #1
0
ファイル: Handlers.php プロジェクト: techart/tao
 public function run(WS_Environment $env)
 {
     CMS::$env = $env;
     CMS::$page = $env;
     $env->cms = new stdClass();
     Core::load('Templates.HTML');
     $env->meta = Templates_HTML::meta();
     $env->mappers = CMS::mappers();
     $env->auth = new stdClass();
     $env->auth->user = false;
     CMS::$cfg = $env->config;
     if ($env->db->default) {
         CMS::$db = $env->db->default;
     }
     Templates_HTML::use_helper('fields', 'CMS.Fields.Helper');
     Templates_HTML::use_helper('cms', 'CMS.Helper');
     Templates::option('templates_root', array_merge(Templates::option('templates_root'), array(CMS::$views_path)));
     return $this->application->run($env);
 }
コード例 #2
0
ファイル: HTML.php プロジェクト: techart/tao
 /**
  * Возвращает путь до partial шаблона
  *
  * @param string $name
  *
  * @return string
  */
 protected function get_partial_path($name, $paths = array())
 {
     if (Core_Strings::starts_with($name, '!')) {
         $trace = debug_backtrace();
         foreach ($trace as $k => $t) {
             if (Core_Strings::ends_with($t['file'], $this->extension)) {
                 break;
             }
         }
         return Templates::add_extension(dirname($trace[$k]['file']) . '/' . substr($name, 1), $this->extension);
     }
     $file = Templates::add_extension($name, $this->extension);
     if (Templates::is_absolute_path($name)) {
         return $file;
     }
     $paths = array_merge($paths, $this->partial_paths(), Templates::option('templates_root'));
     foreach ($paths as $path) {
         $result = rtrim($path, '/') . '/' . $file;
         if (is_file($result)) {
             return $result;
         }
     }
     return $result;
 }