summaryrefslogtreecommitdiff
path: root/program/include/rcube_template.php
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2008-06-15 09:19:47 +0000
committeralecpl <alec@alec.pl>2008-06-15 09:19:47 +0000
commite58df3adc9b4182c232c94178d024bb4a89c2290 (patch)
treeb0bb042ac42eab574bcb7dcec1c8d4b5b90ee54a /program/include/rcube_template.php
parent46290afee202066d2510db1c02e86838da88545c (diff)
- Added option to select skin in user preferences (#1485031)
- template_exists() moved to rcube_template class
Diffstat (limited to 'program/include/rcube_template.php')
-rwxr-xr-xprogram/include/rcube_template.php27
1 files changed, 27 insertions, 0 deletions
diff --git a/program/include/rcube_template.php b/program/include/rcube_template.php
index 5834e42ab..9bc918e9a 100755
--- a/program/include/rcube_template.php
+++ b/program/include/rcube_template.php
@@ -57,6 +57,12 @@ class rcube_template extends rcube_html_page
//$this->framed = $framed;
$this->set_env('task', $task);
+ // load the correct skin (in case user-defined)
+ if (empty($this->config['skin']) || !is_readable('skins/'.$this->config['skin']))
+ $this->config['skin'] = $this->config['default_skin'];
+
+ $this->config['skin_path'] = 'skins/'.$this->config['skin'];
+
// add common javascripts
$javascript = 'var '.JS_OBJECT_NAME.' = new rcube_webmail();';
@@ -102,6 +108,27 @@ class rcube_template extends rcube_html_page
$this->pagetitle = $title;
}
+ /**
+ * Set skin
+ */
+ public function set_skin($skin)
+ {
+ if (!empty($skin) && is_dir('skins/'.$skin) && is_readable('skins/'.$skin))
+ $this->config['skin_path'] = 'skins/'.$skin;
+ }
+
+ /**
+ * Check if a specific template exists
+ *
+ * @param string Template name
+ * @return boolean True if template exists
+ */
+ public function template_exists($name)
+ {
+ $filename = $this->config['skin_path'] . '/templates/' . $name . '.html';
+
+ return (is_file($filename) && is_readable($filename));
+ }
/**
* Register a template object handler