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)
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) . "'");
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) {
$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',
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$/');
printf(DELETING_FILE . '<br />', $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) {