diff options
author | mistic100 <mistic@piwigo.org> | 2014-09-25 09:25:24 +0000 |
---|---|---|
committer | mistic100 <mistic@piwigo.org> | 2014-09-25 09:25:24 +0000 |
commit | 0f0b8e0430fd4bb6f7df76d2d7a1b54e99b744d3 (patch) | |
tree | 082945463a14688bf547fdc6061952ac3116c375 /admin/include | |
parent | 64b7e77a5ac3e9797d924b1671288056ca6aac90 (diff) |
final fix for plugins update ?
- plugins.version is not updated in "activate" action
- plugins.version is updated in "update" action and "load_plugin()" function (not only for plugins using maintain.class.php)
cases covered:
- autoupdate while active or inactive
- FTP update while active or inactive
git-svn-id: http://piwigo.org/svn/trunk@29779 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/include')
-rw-r--r-- | admin/include/plugins.class.php | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/admin/include/plugins.class.php b/admin/include/plugins.class.php index 88971b000..71093a6c1 100644 --- a/admin/include/plugins.class.php +++ b/admin/include/plugins.class.php @@ -152,17 +152,27 @@ INSERT INTO '. PLUGINS_TABLE .' (id,version) case 'update': $previous_version = $this->fs_plugins[$plugin_id]['version']; - $upgrade_status = $this->extract_plugin_files('upgrade', $options['revision'], $plugin_id); + $errors[0] = $this->extract_plugin_files('upgrade', $options['revision'], $plugin_id); - if ($upgrade_status === 'ok') + if ($errors[0] === 'ok') { $this->get_fs_plugin($plugin_id); // refresh plugins list + $new_version = $this->fs_plugins[$plugin_id]['version']; $plugin_maintain = self::build_maintain_class($plugin_id); - $plugin_maintain->update($previous_version, $this->fs_plugins[$plugin_id]['version']); + $plugin_maintain->update($previous_version, $new_version, $errors); + + if ($new_version != 'auto') + { + $query = ' +UPDATE '. PLUGINS_TABLE .' + SET version=\''. $new_version .'\' + WHERE id=\''. $plugin_id .'\' +;'; + pwg_query($query); + } } - return $upgrade_status; break; case 'activate': @@ -186,8 +196,7 @@ INSERT INTO '. PLUGINS_TABLE .' (id,version) { $query = ' UPDATE '. PLUGINS_TABLE .' - SET state=\'active\', - version=\''. $this->fs_plugins[$plugin_id]['version'] .'\' + SET state=\'active\' WHERE id=\''. $plugin_id .'\' ;'; pwg_query($query); |