From 62c791f60923e12ef157f6de7018d0f7ada47911 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Sat, 18 Sep 2010 12:32:00 -0400
Subject: [PATCH] Prevent from saving a non-existing skin path in user prefs

---
 program/include/rcube_template.php |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/program/include/rcube_template.php b/program/include/rcube_template.php
index f301b36..4c59c41 100755
--- a/program/include/rcube_template.php
+++ b/program/include/rcube_template.php
@@ -138,13 +138,21 @@
      */
     public function set_skin($skin)
     {
-        if (!empty($skin) && is_dir('skins/'.$skin) && is_readable('skins/'.$skin))
+        $valid = false;
+        
+        if (!empty($skin) && is_dir('skins/'.$skin) && is_readable('skins/'.$skin)) {
             $skin_path = 'skins/'.$skin;
-        else
+            $valid = true;
+        }
+        else {
             $skin_path = $this->config['skin_path'] ? $this->config['skin_path'] : 'skins/default';
+            $valid = !$skin;
+        }
 
         $this->app->config->set('skin_path', $skin_path);
         $this->config['skin_path'] = $skin_path;
+        
+        return $valid;
     }
 
     /**

--
Gitblit v1.9.1