diff options
| author | Paul S. Owen <psotfx@users.sourceforge.net> | 2003-07-13 15:13:59 +0000 |
|---|---|---|
| committer | Paul S. Owen <psotfx@users.sourceforge.net> | 2003-07-13 15:13:59 +0000 |
| commit | 91a695268344d4bb250c440498aeb9df69c6b515 (patch) | |
| tree | 57a91f05276448d8d6ea3e8809e413be3dd83093 /phpBB/includes/template.php | |
| parent | 4051c18ac3e158d7ded51143deeae73484c808b8 (diff) | |
| download | forums-91a695268344d4bb250c440498aeb9df69c6b515.tar forums-91a695268344d4bb250c440498aeb9df69c6b515.tar.gz forums-91a695268344d4bb250c440498aeb9df69c6b515.tar.bz2 forums-91a695268344d4bb250c440498aeb9df69c6b515.tar.xz forums-91a695268344d4bb250c440498aeb9df69c6b515.zip | |
Cope with secondary (per forum) styles, probably other minor things too ... there is a known permissions problem, will work on that soon
git-svn-id: file:///svn/phpbb/trunk@4235 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/template.php')
| -rw-r--r-- | phpBB/includes/template.php | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/phpBB/includes/template.php b/phpBB/includes/template.php index e9f5edb71e..20a806d603 100644 --- a/phpBB/includes/template.php +++ b/phpBB/includes/template.php @@ -37,7 +37,7 @@ to this source */ -class Template +class template { // variable that holds all the data we'll be substituting into @@ -48,6 +48,7 @@ class Template var $_tpldata = array(); // Root dir and hash of filenames for each template handle. + var $tpl = ''; var $root = ''; var $cache_root = 'cache/templates/'; var $files = array(); @@ -63,13 +64,22 @@ class Template var $static_lang; var $force_recompile; - - function set_template($template = '', $static_lang = false, $force_recompile = true) + function set_template($static_lang = false, $force_recompile = false) { - global $phpbb_root_path; + global $phpbb_root_path, $config, $user; - $this->root = $phpbb_root_path . 'templates/' . $template; - $this->cachedir = $phpbb_root_path . $this->cache_root . $template . '/'; + if (file_exists($phpbb_root_path . 'styles/templates/' . $user->theme['primary']['template_path'])) + { +// $this->tpl = 'primary'; + $this->root = $phpbb_root_path . 'styles/templates/' . $user->theme['primary']['template_path']; + $this->cachedir = $phpbb_root_path . $this->cache_root . $user->theme['primary']['template_path'] . '/'; + } + else + { +// $this->tpl = 'secondary'; + $this->root = $phpbb_root_path . 'styles/templates/' . $user->theme['secondary']['template_path']; + $this->cachedir = $phpbb_root_path . $this->cache_root . $user->theme['secondary']['template_path'] . '/'; + } $this->static_lang = $static_lang; $this->force_recompile = $force_recompile; @@ -101,20 +111,12 @@ class Template } $this->filename[$handle] = $filename; - $this->files[$handle] = $this->make_filename($filename); + $this->files[$handle] = $this->root . '/' . $filename; } return true; } - // Generates a full path+filename for the given filename, which can either - // be an absolute name, or a name relative to the rootdir for this Template - // object. - function make_filename($filename) - { - // Check if it's an absolute or relative path. - return (substr($filename, 0, 1) != '/') ? $this->root . '/' . $filename : $filename; - } // Destroy template data set function destroy() @@ -140,6 +142,7 @@ class Template return true; } + // Load a compiled template if possible, if not, recompile it function _tpl_load(&$handle) { @@ -153,6 +156,7 @@ class Template return $filename; } + // If the file for this handle is already loaded and compiled, do nothing. if (!empty($this->uncompiled_code[$handle])) { @@ -165,6 +169,12 @@ class Template trigger_error("template->_tpl_load(): No file specified for handle $handle", E_USER_ERROR); } + if (!file_exists($this->files[$handle])) + { +// $this->tpl = 'secondary'; + $this->files[$handle] = $phpbb_root_path . 'styles/templates/' . $user->theme['secondary']['template_path'] . '/' . $this->filename[$handle]; + } + $str = ''; // Try and open template for read if (!($fp = @fopen($this->files[$handle], 'r'))) @@ -242,7 +252,7 @@ class Template $handle = $filename; $this->filename[$handle] = $filename; - $this->files[$handle] = $this->make_filename($filename); + $this->files[$handle] = $this->root . '/' . $filename; $filename = $this->_tpl_load($handle); |
