diff options
Diffstat (limited to 'actions')
-rw-r--r-- | actions/admin/upgrade.php | 46 | ||||
-rw-r--r-- | actions/upgrade.php | 39 | ||||
-rw-r--r-- | actions/upload.php | 4 |
3 files changed, 50 insertions, 39 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']); diff --git a/actions/upgrade.php b/actions/upgrade.php deleted file mode 100644 index 596b90a22..000000000 --- a/actions/upgrade.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - -/******************************************** - * - * Upgrade from Tidypics 1.5 to 1.6 - * - *********************************************/ - -include_once dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"; - -admin_gatekeeper(); - -$result = true; - -// add image class -$id = get_subtype_id("object", "image"); -if ($id != 0) { - $table = $CONFIG->dbprefix . 'entity_subtypes'; - $result = update_data("UPDATE {$table} set class='TidypicsImage' where id={$id}"); - if (!result) { - register_error(elgg_echo('tidypics:upgrade:failed')); - forward($_SERVER['HTTP_REFERER']); - } -} - -// add album class -$id = get_subtype_id("object", "album"); -if ($id != 0) { - $table = $CONFIG->dbprefix . 'entity_subtypes'; - $result = update_data("UPDATE {$table} set class='TidypicsAlbum' where id={$id}"); - if (!result) { - register_error(elgg_echo('tidypics:upgrade:failed')); - forward($_SERVER['HTTP_REFERER']); - } -} - -system_message(elgg_echo('tidypics:upgrade:success')); - -forward($_SERVER['HTTP_REFERER']); diff --git a/actions/upload.php b/actions/upload.php index b1eb4efe1..88b000706 100644 --- a/actions/upload.php +++ b/actions/upload.php @@ -244,6 +244,10 @@ if (count($uploaded_images) && $img_river_view == "1") { // update image repo size create_metadata($album->container_guid, "image_repo_size", $image_repo_size, 'integer', $album->container_guid); +if (count($uploaded_images) > 0) { + $album->prependImageList($uploaded_images); +} + // plugins can register to be told when a Tidypics album has had images added trigger_elgg_event('upload', 'tp_album', $album); |