From: garvinhicking Date: Sun, 6 Nov 2005 21:25:25 +0000 (+0000) Subject: fix spartacus problems X-Git-Tag: 1.0~325 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=6f1763ab585a733ad2a3f969fe10835ae395a3d2;p=s9y.git fix spartacus problems --- diff --git a/docs/NEWS b/docs/NEWS index 9e410b8..58e417c 100644 --- a/docs/NEWS +++ b/docs/NEWS @@ -10,6 +10,11 @@ Version 1.0 () Version 0.9.1 () ------------------------------------------------------------------------ + * Fix spartacus plugin to not properly indicate updatable versions + of plugins (garvinhicking) + + * Fix multi-media upload in Safari browser (jhermanns) + * Make calendar plugin also accept links to external events (garvinhicking) diff --git a/include/plugin_api.inc.php b/include/plugin_api.inc.php index 3193e17..76c2e02 100644 --- a/include/plugin_api.inc.php +++ b/include/plugin_api.inc.php @@ -467,6 +467,24 @@ class serendipity_plugin_api { function &setPluginInfo(&$plugin, &$pluginFile, &$bag, &$class_data, $pluginlocation = 'local') { global $serendipity; + + static $dbfields = array( + 'plugin_file', + 'class_name', + 'plugin_class', + 'pluginPath', + 'name', + 'description', + 'version', + 'upgrade_version', + 'plugintype', + 'pluginlocation', + 'stackable', + 'author', + 'requirements', + 'website', + 'last_modified' + ); serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}pluginlist WHERE plugin_file = '" . serendipity_db_escape_string($pluginFile) . "' AND pluginlocation = '" . serendipity_db_escape_string($pluginlocation) . "'"); @@ -508,9 +526,19 @@ class serendipity_plugin_api { if (!isset($data['stackable']) || empty($data['stackable'])) { $data['stackable'] = '0'; } - - // TODO: Check right columns! "upgradable" not existing? - serendipity_db_insert('pluginlist', $data); + + // Only insert data keys that exist in the DB. + $insertdata = array(); + foreach($dbfields AS $field) { + $insertdata[$field] = $data[$field]; + } + + if ($data['upgradable']) { + serendipity_db_query("UPDATE {$serendipity['dbPrefix']}pluginlist + SET upgrade_version = '" . serendipity_db_escape_string($data['upgrade_version']) . "' + WHERE plugin_class = '" . serendipity_db_escape_string($data['plugin_class']) . "'"); + } + serendipity_db_insert('pluginlist', $insertdata); serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}plugincategories WHERE class_name = '" . serendipity_db_escape_string($data['class_name']) . "'"); foreach((array)$groups AS $group) { diff --git a/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php b/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php index c6766a0..2aa7d19 100644 --- a/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php +++ b/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php @@ -50,7 +50,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.4'); + $propbag->add('version', '2.5'); $propbag->add('requirements', array( 'serendipity' => '0.9', 'smarty' => '2.6.7', @@ -74,6 +74,10 @@ class serendipity_event_spartacus extends serendipity_event function cleanup() { global $serendipity; + // Purge DB cache + serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}pluginlist"); + serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}plugincategories"); + // Purge cached XML files. $files = serendipity_traversePath($serendipity['serendipityPath'] . PATH_SMARTY_COMPILE, '', false, '/package_.+\.xml$/'); @@ -85,9 +89,6 @@ class serendipity_event_spartacus extends serendipity_event printf(DELETING_FILE . '
', $file['name']); @unlink($serendipity['serendipityPath'] . PATH_SMARTY_COMPILE . '/' . $file['name']); } - - serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}pluginlist"); - serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}plugincategories"); } function &getMirrors($type = 'xml', $loc = false) {