diff options
author | Cash Costello <cash.costello@gmail.com> | 2010-07-31 19:22:47 +0000 |
---|---|---|
committer | Cash Costello <cash.costello@gmail.com> | 2010-07-31 19:22:47 +0000 |
commit | a1f08342c8b8502197159a9fd78e48e6cead4ea0 (patch) | |
tree | ea2e0c175ea7a9f4495b185162585e8d84bb8ed2 /actions/admin | |
parent | 28e545574f35f0d6349a395648a7857ee58989c9 (diff) | |
download | elgg-a1f08342c8b8502197159a9fd78e48e6cead4ea0.tar.gz elgg-a1f08342c8b8502197159a9fd78e48e6cead4ea0.tar.bz2 |
improved the upgrade system and moved albums to use an ordered list for images
Diffstat (limited to 'actions/admin')
-rw-r--r-- | actions/admin/upgrade.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/actions/admin/upgrade.php b/actions/admin/upgrade.php new file mode 100644 index 000000000..9c4aef1cf --- /dev/null +++ b/actions/admin/upgrade.php @@ -0,0 +1,46 @@ +<?php +/** + * Tidypics upgrade action + */ +require_once "{$CONFIG->pluginspath}tidypics/version.php"; + +$local_version = get_plugin_setting('version', 'tidypics'); + +if ($version <= $local_version) { + register_error('No upgrade required'); + forward($_SERVER['HTTP_REFERER']); +} + +$base_dir = $CONFIG->pluginspath . 'tidypics/upgrades'; + +// taken from engine/lib/version.php +if ($handle = opendir($base_dir)) { + $upgrades = array(); + + while ($updatefile = readdir($handle)) { + // Look for upgrades and add to upgrades list + if (!is_dir("$base_dir/$updatefile")) { + if (preg_match('/^([0-9]{10})\.(php)$/', $updatefile, $matches)) { + $plugin_version = (int) $matches[1]; + if ($plugin_version > $local_version) { + $upgrades[] = "$base_dir/$updatefile"; + } + } + } + } + + // Sort and execute + asort($upgrades); + + if (sizeof($upgrades) > 0) { + foreach ($upgrades as $upgrade) { + include($upgrade); + } + } +} + +set_plugin_setting('version', $version, 'tidypics'); + +system_message("Tidypics has been upgraded"); + +forward($_SERVER['HTTP_REFERER']); |