aboutsummaryrefslogtreecommitdiff
path: root/actions
diff options
context:
space:
mode:
Diffstat (limited to 'actions')
-rw-r--r--actions/admin/upgrade.php46
-rw-r--r--actions/upgrade.php39
-rw-r--r--actions/upload.php4
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);