From 05c4edf34bcff89fcae80389e890fa07271f5275 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Wed, 03 Oct 2012 08:17:05 -0400
Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail

---
 installer/rcube_install.php         |   68 +++++++++++++++++-----------------
 plugins/managesieve/Changelog       |    3 +
 plugins/managesieve/managesieve.php |    8 +++
 plugins/managesieve/package.xml     |   15 ++++++-
 4 files changed, 56 insertions(+), 38 deletions(-)

diff --git a/installer/rcube_install.php b/installer/rcube_install.php
index 5af8713..01525c9 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -70,20 +70,20 @@
     $this->step = intval($_REQUEST['_step']);
     $this->is_post = $_SERVER['REQUEST_METHOD'] == 'POST';
   }
-  
+
   /**
    * Singleton getter
    */
   function get_instance()
   {
     static $inst;
-    
+
     if (!$inst)
       $inst = new rcube_install();
-    
+
     return $inst;
   }
-  
+
   /**
    * Read the default config files and store properties
    */
@@ -120,8 +120,8 @@
         $this->config += $rcmail_config;
     }
   }
-  
-  
+
+
   /**
    * Getter for a certain config property
    *
@@ -132,10 +132,10 @@
   function getprop($name, $default = '')
   {
     $value = $this->config[$name];
-    
+
     if ($name == 'des_key' && !$this->configured && !isset($_REQUEST["_$name"]))
       $value = rcube_install::random_key(24);
-    
+
     return $value !== null && $value !== '' ? $value : $default;
   }
 
@@ -193,16 +193,16 @@
         $value = '%p';
       }
       else if ($prop == 'default_folders') {
-	    $value = array();
-	    foreach ($this->config['default_folders'] as $_folder) {
-	      switch ($_folder) {
-	      case 'Drafts': $_folder = $this->config['drafts_mbox']; break;
-	      case 'Sent':   $_folder = $this->config['sent_mbox']; break;
-	      case 'Junk':   $_folder = $this->config['junk_mbox']; break;
-	      case 'Trash':  $_folder = $this->config['trash_mbox']; break;
+        $value = array();
+        foreach ($this->config['default_folders'] as $_folder) {
+          switch ($_folder) {
+          case 'Drafts': $_folder = $this->config['drafts_mbox']; break;
+          case 'Sent':   $_folder = $this->config['sent_mbox']; break;
+          case 'Junk':   $_folder = $this->config['junk_mbox']; break;
+          case 'Trash':  $_folder = $this->config['trash_mbox']; break;
           }
-	    if (!in_array($_folder, $value))
-	      $value[] = $_folder;
+        if (!in_array($_folder, $value))
+          $value[] = $_folder;
         }
       }
       else if (is_bool($default)) {
@@ -241,14 +241,14 @@
     $this->config = array();
     $this->load_defaults();
     $defaults = $this->config;
-    
+
     $this->load_config();
     if (!$this->configured)
       return null;
-    
+
     $out = $seen = array();
     $required = array_flip($this->required_config);
-    
+
     // iterate over the current configuration
     foreach ($this->config as $prop => $value) {
       if ($replacement = $this->replaced_config[$prop]) {
@@ -260,7 +260,7 @@
         $seen[$prop] = true;
       }
     }
-    
+
     // iterate over default config
     foreach ($defaults as $prop => $value) {
       if (!isset($seen[$prop]) && isset($required[$prop]) && !(is_bool($this->config[$prop]) || strlen($this->config[$prop])))
@@ -280,7 +280,7 @@
               'explain' => "You are missing pspell support for language $lang ($descr)");
       }
     }
-    
+
     if ($this->config['log_driver'] == 'syslog') {
       if (!function_exists('openlog')) {
         $out['dependencies'][] = array('prop' => 'log_driver',
@@ -291,7 +291,7 @@
           'explain' => 'Using <tt>syslog</tt> for logging requires a syslog ID to be configured');
       }
     }
-    
+
     // check ldap_public sources having global_search enabled
     if (is_array($this->config['ldap_public']) && !is_array($this->config['autocomplete_addressbooks'])) {
       foreach ($this->config['ldap_public'] as $ldap_public) {
@@ -301,11 +301,11 @@
         }
       }
     }
-    
+
     return $out;
   }
-  
-  
+
+
   /**
    * Merge the current configuration with the defaults
    * and copy replaced values to the new options.
@@ -327,11 +327,11 @@
       }
       unset($current[$prop]);
     }
-    
+
     foreach ($this->obsolete_config as $prop) {
       unset($current[$prop]);
     }
-    
+
     // add all ldap_public sources having global_search enabled to autocomplete_addressbooks
     if (is_array($current['ldap_public'])) {
       foreach ($current['ldap_public'] as $key => $ldap_public) {
@@ -341,7 +341,7 @@
         }
       }
     }
-    
+
     if ($current['keep_alive'] && $current['session_lifetime'] < $current['keep_alive'])
       $current['session_lifetime'] = max(10, ceil($current['keep_alive'] / 60) * 2);
 
@@ -351,7 +351,7 @@
       $this->config['ldap_public'][$key] = $current['ldap_public'][$key];
     }
   }
-  
+
   /**
    * Compare the local database schema with the reference schema
    * required for this version of Roundcube
@@ -363,11 +363,11 @@
   {
     if (!$this->configured)
       return false;
-    
+
     // read reference schema from mysql.initial.sql
     $db_schema = $this->db_read_schema(INSTALL_PATH . 'SQL/mysql.initial.sql');
     $errors = array();
-    
+
     // check list of tables
     $existing_tables = $DB->list_tables();
 
@@ -453,8 +453,8 @@
         '0.4-beta', '0.4.2',
         '0.5-beta', '0.5', '0.5.1',
         '0.6-beta', '0.6',
-        '0.7-beta', '0.7', '0.7.1', '0.7.2',
-        '0.8-beta', '0.8-rc', '0.8.0',
+        '0.7-beta', '0.7', '0.7.1', '0.7.2', '0.7.3',
+        '0.8-beta', '0.8-rc', '0.8.0', '0.8.1',
     ));
     return $select;
   }
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog
index c0428c4..ce93861 100644
--- a/plugins/managesieve/Changelog
+++ b/plugins/managesieve/Changelog
@@ -1,7 +1,10 @@
+* version 6.0 [2012-10-03]
+-----------------------------------------------------------
 - Fixed issue with DBMail bug [http://pear.php.net/bugs/bug.php?id=19077] (#1488594)
 - Added support for enotify/notify (RFC5435, RFC5436, draft-ietf-sieve-notify-00)
 - Change default port to 4190 (IANA-allocated), add port auto-detection (#1488713)
 - Added request size limits detection and script corruption prevention (#1488648)
+- Fix so scripts listed in managesieve_filename_exceptions aren't displayed on the list (#1488724)
 
 * version 5.2 [2012-07-24]
 -----------------------------------------------------------
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php
index 7282ff2..7f4624e 100644
--- a/plugins/managesieve/managesieve.php
+++ b/plugins/managesieve/managesieve.php
@@ -62,7 +62,7 @@
         "x-beenthere",
     );
 
-    const VERSION  = '5.2';
+    const VERSION  = '6.0';
     const PROGNAME = 'Roundcube (Managesieve)';
     const PORT     = 4190;
 
@@ -1839,6 +1839,12 @@
             if ($active = $this->sieve->get_active()) {
                 $this->active = array($active);
             }
+
+            // Hide scripts from config
+            $exceptions = $this->rc->config->get('managesieve_filename_exceptions');
+            if (!empty($exceptions)) {
+                $this->list = array_diff($this->list, (array)$exceptions);
+            }
         }
 
         return $this->list;
diff --git a/plugins/managesieve/package.xml b/plugins/managesieve/package.xml
index 20fec78..e8e8102 100644
--- a/plugins/managesieve/package.xml
+++ b/plugins/managesieve/package.xml
@@ -17,10 +17,10 @@
 		<email>alec@alec.pl</email>
 		<active>yes</active>
 	</lead>
-	<date>2012-07-24</date>
+	<date>2012-10-03</date>
 	<version>
-		<release>5.2</release>
-		<api>5.0</api>
+		<release>6.0</release>
+		<api>6.0</api>
 	</version>
 	<stability>
 		<release>stable</release>
@@ -95,6 +95,15 @@
 			<file name="skins/classic/images/down_small.gif" role="data"></file>
 			<file name="skins/classic/images/filter.png" role="data"></file>
 			<file name="skins/classic/images/up_small.gif" role="data"></file>
+			<file name="skins/larry/managesieve.css" role="data"></file>
+			<file name="skins/larry/managesieve_mail.css" role="data"></file>
+			<file name="skins/larry/templates/filteredit.html" role="data"></file>
+			<file name="skins/larry/templates/managesieve.html" role="data"></file>
+			<file name="skins/larry/templates/setedit.html" role="data"></file>
+			<file name="skins/larry/images/add.png" role="data"></file>
+			<file name="skins/larry/images/del.png" role="data"></file>
+			<file name="skins/larry/images/down_small.gif" role="data"></file>
+			<file name="skins/larry/images/up_small.gif" role="data"></file>
 			<file name="managesieve.php" role="php"></file>
 			<file name="lib/rcube_sieve.php" role="php"></file>
 			<file name="lib/rcube_sieve_script.php" role="php"></file>

--
Gitblit v1.9.1