From e58df3adc9b4182c232c94178d024bb4a89c2290 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sun, 15 Jun 2008 05:19:47 -0400
Subject: [PATCH] - Added option to select skin in user preferences (#1485031) - template_exists() moved to rcube_template class

---
 program/include/rcube_template.php |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/program/include/rcube_template.php b/program/include/rcube_template.php
index 5834e42..9bc918e 100755
--- a/program/include/rcube_template.php
+++ b/program/include/rcube_template.php
@@ -57,6 +57,12 @@
         //$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 @@
         $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

--
Gitblit v1.9.1