diff options
author | cash <cash.costello@gmail.com> | 2012-01-02 17:01:18 -0500 |
---|---|---|
committer | cash <cash.costello@gmail.com> | 2012-01-02 17:01:18 -0500 |
commit | f5e8d5e9be7873132fbfddf74ef8ff68f01fccae (patch) | |
tree | daa66614fd7f5ed70c96c57882dfd1a9470894bb /actions/photos/admin/upgrade.php | |
parent | 599d1068636f8c1ba5c899ecdbd03aca7ebc5a0f (diff) | |
download | elgg-f5e8d5e9be7873132fbfddf74ef8ff68f01fccae.tar.gz elgg-f5e8d5e9be7873132fbfddf74ef8ff68f01fccae.tar.bz2 |
updated the upgrade system
Diffstat (limited to 'actions/photos/admin/upgrade.php')
-rw-r--r-- | actions/photos/admin/upgrade.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/actions/photos/admin/upgrade.php b/actions/photos/admin/upgrade.php new file mode 100644 index 000000000..c9ae1da48 --- /dev/null +++ b/actions/photos/admin/upgrade.php @@ -0,0 +1,50 @@ +<?php +/** + * Tidypics upgrade action + */ + +$plugins_path = elgg_get_plugins_path(); + +require_once "{$plugins_path}tidypics/version.php"; + +$local_version = elgg_get_plugin_setting('version', 'tidypics'); + +if ($version <= $local_version) { + register_error('No upgrade required'); + forward(REFERER); +} + +set_time_limit(0); + +$base_dir = "{$plugins_path}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); + } + } +} + +elgg_set_plugin_setting('version', $version, 'tidypics'); + +system_message("Tidypics has been upgraded"); +forward(REFERER); |