From c02399a67eea1d26dce74a6ba1861d67724631f9 Mon Sep 17 00:00:00 2001 From: garvinhicking Date: Fri, 29 Jul 2005 10:01:30 +0000 Subject: [PATCH] Make plugin manager fail more gracefully on errors --- include/admin/plugins.inc.php | 5 +++-- include/plugin_api.inc.php | 3 ++- .../serendipity_event_spartacus.php | 7 +++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/admin/plugins.inc.php b/include/admin/plugins.inc.php index f32c8a9..1488a9c 100644 --- a/include/admin/plugins.inc.php +++ b/include/admin/plugins.inc.php @@ -71,8 +71,9 @@ function show_plugins($event_only = false) $is_plugin_editable = ($is_plugin_owner || $plugin_data['authorid'] == '0'); if (!is_object($plugin)) { - $name = ERROR . ': ' . $plugin_data['name']; - $desc = ERROR . '!'; + $name = $title = ERROR . '!'; + $desc = ERROR . ': ' . $plugin_data['name']; + $can_configure = false; } else { /* query for its name, description and configuration data */ diff --git a/include/plugin_api.inc.php b/include/plugin_api.inc.php index 707c39f..8573af2 100644 --- a/include/plugin_api.inc.php +++ b/include/plugin_api.inc.php @@ -599,9 +599,10 @@ class serendipity_plugin_api { 'title' => $title, 'content' => $content); } - } elseif ($show_plugin !== FALSE) { + } else { $pluginData[] = array('side' => $side, 'title' => ERROR, + 'class' => $class, 'content' => sprintf(INCLUDE_ERROR, $plugin_data['name'])); } } diff --git a/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php b/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php index 097b405..e536e71 100644 --- a/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php +++ b/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php @@ -63,7 +63,7 @@ class serendipity_event_spartacus extends serendipity_event $propbag->add('description', PLUGIN_EVENT_SPARTACUS_DESC); $propbag->add('stackable', false); $propbag->add('author', 'Garvin Hicking'); - $propbag->add('version', '2.01'); + $propbag->add('version', '2.02'); $propbag->add('requirements', array( 'serendipity' => '0.9', 'smarty' => '2.6.7', @@ -688,7 +688,10 @@ class serendipity_event_spartacus extends serendipity_event case 'backend_plugins_fetchplugin': if (!empty($eventData['GET']['spartacus_fetch'])) { $baseDir = $this->download($this->fetchOnline($eventData['GET']['spartacus_fetch'], true), $eventData['GET']['install_plugin']); - if (!empty($baseDir)) { + + if ($baseDir === false) { + $eventData['install'] = false; + } elseif (!empty($baseDir)) { $eventData['GET']['pluginPath'] = $baseDir; } else { $eventData['GET']['pluginPath'] = $eventData['GET']['install_plugin']; -- 2.39.5