From a3644638aaf0418598196a870204e0b632a4c8ad Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 17 Apr 2015 06:28:40 -0400
Subject: [PATCH] Allow preference sections to define CSS class names

---
 program/include/rcmail_install.php |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/program/include/rcmail_install.php b/program/include/rcmail_install.php
index 26c613a..e161779 100644
--- a/program/include/rcmail_install.php
+++ b/program/include/rcmail_install.php
@@ -234,10 +234,9 @@
       else if (is_numeric($value)) {
         $value = intval($value);
       }
-      else if ($prop == 'plugins') {
+      else if ($prop == 'plugins' && !empty($_POST['submit'])) {
         $value = array();
-        foreach(array_keys($_POST) as $key)
-        {
+        foreach (array_keys($_POST) as $key) {
           if (preg_match('/^_plugins_*/', $key))
             array_push($value, $_POST[$key]);
         }
@@ -578,17 +577,18 @@
     foreach (glob($plugin_dir . '*') as $path) 
     {
 
-      if (is_dir($path) && file_exists($path.'/composer.json')) 
+      if (is_dir($path) && is_readable($path.'/composer.json'))
       {
         $file_json = json_decode(file_get_contents($path.'/composer.json'));
-        $plugin_desc = $file_json->description;
+        $plugin_desc = $file_json->description ?: 'N/A';
       }
       else
       {
         $plugin_desc = 'N/A';
       }
 
-      $plugins[] = array('name' => substr($path, strlen($plugin_dir)), 'desc' => $plugin_desc);
+      $name = substr($path, strlen($plugin_dir));
+      $plugins[] = array('name' => $name, 'desc' => $plugin_desc, 'enabled' => in_array($name, $this->config['plugins']));
     }
 
     return $plugins;
@@ -773,12 +773,8 @@
    */
   function update_db($version)
   {
-    system(INSTALL_PATH . "bin/updatedb.sh --package=roundcube"
-      . " --version=" . escapeshellarg($version)
-      . " --dir=" . INSTALL_PATH . "SQL"
-      . " 2>&1", $result);
-
-    return !$result;
+    return rcmail_utils::db_update(INSTALL_PATH . 'SQL', 'roundcube', $version,
+        array('quiet' => true));
   }
 
 

--
Gitblit v1.9.1