From 2965a981b7ec22866fbdf2d567d87e2d068d3617 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 31 Jul 2015 16:04:08 -0400
Subject: [PATCH] Allow to search and import missing PGP pubkeys from keyservers using Publickey.js
---
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