From 471d5593744db7fcbee602667e9e098da8cc1791 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Sun, 05 Aug 2012 08:01:22 -0400
Subject: [PATCH] Update installto/update script to remove old default skins and copy all necessary files; repeat notice about missing config options after auto-update

---
 installer/rcube_install.php |    4 ++--
 bin/installto.sh            |   16 +++++++++++++---
 bin/update.sh               |    6 ++++++
 3 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/bin/installto.sh b/bin/installto.sh
index 3a64476..7fdd1b9 100755
--- a/bin/installto.sh
+++ b/bin/installto.sh
@@ -5,7 +5,7 @@
  | bin/installto.sh                                                      |
  |                                                                       |
  | This file is part of the Roundcube Webmail client                     |
- | Copyright (C) 2011, The Roundcube Dev Team                            |
+ | Copyright (C) 2012, The Roundcube Dev Team                            |
  |                                                                       |
  | Licensed under the GNU General Public License version 3 or            |
  | any later version with exceptions for skins & plugins.                |
@@ -50,14 +50,24 @@
       break;
     }
   }
-  foreach (array('index.php','.htaccess','config/main.inc.php.dist','config/db.inc.php.dist','CHANGELOG','README','UPGRADING') as $file) {
+  foreach (array('index.php','.htaccess','config/main.inc.php.dist','config/db.inc.php.dist','CHANGELOG','README.md','UPGRADING','LICENSE') as $file) {
     if (!system("rsync -av " . INSTALL_PATH . "$file $target_dir/$file")) {
       $err = true;
       break;
     }
   }
   echo "done.\n\n";
-  
+
+  if (is_dir("$target_dir/skins/default")) {
+      echo "Removing old default skin...";
+      system("rm -rf $target_dir/skins/default");
+      foreach (glob(INSTALL_PATH . "plugins/*/skins") as $plugin_skin_dir) {
+          $plugin_skin_dir = preg_replace('!^.*' . INSTALL_PATH . '!', '', $plugin_skin_dir);
+          system("rm -rf $target_dir/$plugin_skin_dir/default");
+      }
+      echo "done.\n\n";
+  }
+
   if (!$err) {
     echo "Running update script at target...\n";
     system("cd $target_dir && bin/update.sh --version=$oldversion");
diff --git a/bin/update.sh b/bin/update.sh
index 60dc95b..797c69a 100755
--- a/bin/update.sh
+++ b/bin/update.sh
@@ -111,6 +111,12 @@
         if ($write1 && $write2) {
           echo "Done.\n";
           echo "Your configuration files are now up-to-date!\n";
+
+          if ($messages['missing']) {
+            echo "But you still need to add the following missing options:\n";
+            foreach ($messages['missing'] as $msg)
+              echo "- '" . $msg['prop'] . ($msg['name'] ? "': " . $msg['name'] : "'") . "\n";
+          }
         }
         else {
           echo "Failed to write config files!\n";
diff --git a/installer/rcube_install.php b/installer/rcube_install.php
index 0123859..2fe85c5 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -5,7 +5,7 @@
  | rcube_install.php                                                     |
  |                                                                       |
  | This file is part of the Roundcube Webmail package                    |
- | Copyright (C) 2008-2011, The Roundcube Dev Team                       |
+ | Copyright (C) 2008-2012, The Roundcube Dev Team                       |
  |                                                                       |
  | Licensed under the GNU General Public License version 3 or            |
  | any later version with exceptions for skins & plugins.                |
@@ -263,7 +263,7 @@
       }
       else if (!empty($this->config['spellcheck_languages'])) {
         foreach ($this->config['spellcheck_languages'] as $lang => $descr)
-          if (!pspell_new($lang))
+          if (!@pspell_new($lang))
             $out['dependencies'][] = array('prop' => 'spellcheck_languages',
               'explain' => "You are missing pspell support for language $lang ($descr)");
       }

--
Gitblit v1.9.1