forked from galichvitaliy/framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Tpl.php
41 lines (30 loc) · 1.14 KB
/
Tpl.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php namespace Mirage;
class Tpl {
public $smarty;
function __construct($layout = "default") {
$this->init($layout);
}
private function init($layout) {
$smarty = new \Smarty();
$smarty->setTemplateDir(App::get('root_dir')."/template/$layout/tpl/");
//$smarty->template_dir = App::get('root_dir')."/template/$layout/tpl/";
$smarty->compile_dir = App::get('runtime_dir')."/smarty";
$smarty->cache_dir = App::get('runtime_dir')."/smarty_cache";
$smarty->config_dir = App::get('runtime_dir')."/smarty_configs";
$smarty->error_reporting = E_ALL & ~E_NOTICE;
$smarty->inheritance_merge_compiled_includes = false;
if( Config::get('web.dev') ) {
$smarty->force_compile = true;
$smarty->assign("dev", true);
} else {
$smarty->compile_check = false;
}
//var_dump(__DIR__);
$smarty->addPluginsDir(__DIR__.'/Smarty/plugins');
$my_security_policy = new \Smarty_Security($smarty);
$my_security_policy->php_modifiers = array();
$my_security_policy->php_functions = array('count','in_array','is_array','time','ucfirst','mb_strtolower');
$smarty->enableSecurity($my_security_policy);
$this->smarty = $smarty;
}
}