Thomas Bruederli
2012-08-05 79209a67b0f56f8479d4319a2b8fdec8eda8ed6f
Update installto/update script to remove old default skins and copy all necessary files; repeat notice about missing config options after auto-update
3 files modified
26 ■■■■ changed files
bin/installto.sh 16 ●●●● patch | view | raw | blame | history
bin/update.sh 6 ●●●●● patch | view | raw | blame | history
installer/rcube_install.php 4 ●●●● patch | view | raw | blame | history
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.                |
@@ -53,14 +53,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");
bin/update.sh
@@ -114,6 +114,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";
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.                |
@@ -266,7 +266,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)");
      }