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)
fields.style.display = 'block';
// Get the DOM outline be uncommenting this:
- // document.getElementById('debug').innerHTML = showNodes(fields);
-
+ //document.getElementById('debug').innerHTML = showNodes(fields);
+
// garvin: This gets a bit weird. Opera, Mozilla and IE all have their own numbering.
// We cannot operate on "ID" basis, since a unique ID is not yet set before instancing.
if (fields.childNodes[0].nodeValue == null) {
targetfilename = fields.childNodes[1].childNodes[0].childNodes[2].childNodes[1].childNodes[0];
targetdir = fields.childNodes[1].childNodes[0].childNodes[3].childNodes[1].childNodes[0];
columncount = fields.childNodes[3].childNodes[0];
+ } else if (fields.childNodes[1].childNodes[1].childNodes[0].childNodes[3] == null) {
+ // This is Safari.
+ userfile = fields.childNodes[1].childNodes[1].childNodes[0].childNodes[1].childNodes[0];
+ targetfilename = fields.childNodes[1].childNodes[1].childNodes[2].childNodes[1].childNodes[0];
+ targetdir = fields.childNodes[1].childNodes[1].childNodes[3].childNodes[1].childNodes[0];
+ columncount = fields.childNodes[3].childNodes[0];
} else {
// This is Mozilla.
userfile = fields.childNodes[1].childNodes[1].childNodes[0].childNodes[3].childNodes[0];
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) {