]> git.llucax.com Git - software/bife/bife-all.git/blob - src/HTML/Template/HIT.php
- Added a new simple template system: Hooks + IT = HIT.
[software/bife/bife-all.git] / src / HTML / Template / HIT.php
1 <?
2
3 // TODO
4 //      * Add to UML diagram and make xmi2code generate the code.
5 //      * Add option to use include_path on file search.
6
7 class HTML_Template_HIT {
8     var $root;
9     var $group;
10     var $cache;
11     function HTML_Template_HIT($root = '.', $group = '') {
12         $this->root  = $root;
13         $this->group = $group;
14         $this->cache = array();
15     }
16     function parse($name, $vars = null, $val = null) {
17         if ($this->group) {
18             $file = "{$this->root}/{$this->group}/$name.tpl.html";
19         } else {
20             $file = "{$this->root}/$name.tpl.html";
21         }
22         if (!isset($this->cache[$file])) {
23             $this->cache[$file] = join('', file($file));
24         }
25         //if (!is_readable($file)) {
26         //    trigger_error("Can't read '$file'.");
27         //}
28         if ($vars) {
29             if (is_string($vars)) {
30                 $vars = array($vars => $val);
31             }
32             foreach ($vars as $key => $val) {
33                 $keys[] = '{' . $key . '}';
34                 $vals[] = $val;
35             }
36             return str_replace($keys, $vals, $this->cache[$file]);
37         } else {
38             return $this->cache[$file];
39         }
40     }
41 }
42
43 ?>