Хранилища Subversion ant

Редакция

Редакция 372 | Редакция 374 | К новейшей редакции | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 372 Редакция 373
1
<?php
1
<?php
2
/**
2
/**
3
 *
3
 *
4
 *  Codename: ant-ng - generator of sources.list for Debian and
4
 *  Codename: ant-ng - generator of sources.list for Debian and
5
 *  distributives, based on Debian
5
 *  distributives, based on Debian
6
 *  http://alex-w.org.ru/p/antng/
6
 *  http://alex-w.org.ru/p/antng/
7
 *
7
 *
8
 *  Copyright (c) 2009 Alexander Wolf
8
 *  Copyright (c) 2009 Alexander Wolf
9
 *  Dual licensed under the MIT and GNU LGPL licenses.
9
 *  Dual licensed under the MIT and GNU LGPL licenses.
10
 *  http://alex-w.org.ru/p/antng/license
10
 *  http://alex-w.org.ru/p/antng/license
11
 *
11
 *
12
 */
12
 */
13
13
14
/**
14
/**
15
 * Description of Template
15
 * Description of Template
16
 *
16
 *
17
 * @author alexw
17
 * @author alexw
18
 */
18
 */
19
 //TODO Вместо Smarty лучше написать свой очень простой шаблонизатор - монстра использовать не целесообразно
19
 //TODO Вместо Smarty лучше написать свой очень простой шаблонизатор - монстра использовать не целесообразно
20
class Template {
20
class Template {
21
    private $path   = NULL;
21
    private $path   = NULL;
22
22
23
    public function __construct($folder) {
23
    public function __construct($folder) {
24
        $this->path = $folder;
24
        $this->path = $folder;
25
    }
25
    }
26
   
26
   
27
    public function display($name, $attrs = null) {
27
    public function display($name) {
28
        $fh = fopen($this->path.$name, "r");
28
        $fh = fopen($this->path.$name, "r");
29
        $content = fread($fh, filesize($this->path.$name));
29
        $content = fread($fh, filesize($this->path.$name));
30
        fclose($fh);
30
        fclose($fh);
-
 
31
        preg_match_all("/({[\d\w]+})/", $content, $matches);
-
 
32
        $tmpl = $matches[0];
31
        foreach ($attrs as $attr) {
33
        for($i=0;$i<=count($tmpl);$i++) {      
32
            $content = str_replace("{".$attr."}", $this->__get($attr), $content);
34
            $content = str_replace("{".$tmpl[$i]."}", $this->__get($tmpl[$i]), $content);
33
        }
35
        }
34
36
35
        return $content;
37
        echo $content;
36
    }
38
    }
37
39
38
    public function assign($attr, $value) {
40
    public function assign($attr, $value) {
39
        return $this->self[$attr] = $value;
41
        return $this->self[$attr] = $value;
40
    }    
42
    }    
41
43
42
    public function __get($attr = null) {
44
    public function __get($attr = null) {
43
        return $this->self[$attr];
45
        return $this->self[$attr];
44
    }
46
    }
45
}
47
}
46
?>
48
?>
47
 
49