diff options
Diffstat (limited to 'mod/lightpics/upgrades')
-rw-r--r-- | mod/lightpics/upgrades/2009082901.php | 29 | ||||
-rw-r--r-- | mod/lightpics/upgrades/2010073101.php | 27 | ||||
-rw-r--r-- | mod/lightpics/upgrades/2010102801.php | 26 | ||||
-rw-r--r-- | mod/lightpics/upgrades/2012020901.php | 26 |
4 files changed, 108 insertions, 0 deletions
diff --git a/mod/lightpics/upgrades/2009082901.php b/mod/lightpics/upgrades/2009082901.php new file mode 100644 index 000000000..dfbdf79f4 --- /dev/null +++ b/mod/lightpics/upgrades/2009082901.php @@ -0,0 +1,29 @@ +<?php + +/******************************************** + * + * Upgrade from Tidypics 1.5 to 1.6 + * + *********************************************/ + +global $CONFIG; + +// 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('unable to update tidypics image class'); + } +} + +// 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('unable to update tidypics album class'); + } +} diff --git a/mod/lightpics/upgrades/2010073101.php b/mod/lightpics/upgrades/2010073101.php new file mode 100644 index 000000000..587490500 --- /dev/null +++ b/mod/lightpics/upgrades/2010073101.php @@ -0,0 +1,27 @@ +<?php +/** + * Populate image lists for current photo albums + */ + +$album_subtype_id = get_subtype_id('object', 'album'); + +global $DB_QUERY_CACHE, $DB_PROFILE, $ENTITY_CACHE, $CONFIG; +$album_guids = mysql_query("SELECT guid FROM {$CONFIG->dbprefix}entities WHERE subtype = $album_subtype_id"); +while ($guid_obj = mysql_fetch_object($album_guids)) { + $DB_QUERY_CACHE = $DB_PROFILE = $ENTITY_CACHE = array(); + + $album = get_entity($guid_obj->guid); + $images = elgg_get_entities(array( + "type" => "object", + "subtype" => "image", + "container_guid" => $album->guid, + "limit" => ELGG_ENTITIES_NO_VALUE, + )); + $image_list = array(); + foreach ($images as $image) { + $image_list[] = $image->guid; + } + + $album->prependImageList($image_list); +} + diff --git a/mod/lightpics/upgrades/2010102801.php b/mod/lightpics/upgrades/2010102801.php new file mode 100644 index 000000000..5bd5f78b4 --- /dev/null +++ b/mod/lightpics/upgrades/2010102801.php @@ -0,0 +1,26 @@ +<?php +/** + * Convert river entries for tags to be tagger-tagee-annotation from + * image-tagee + */ + +$album_subtype_id = get_subtype_id('object', 'album'); + +global $DB_QUERY_CACHE, $DB_PROFILE, $ENTITY_CACHE, $CONFIG; +$query = "SELECT * FROM {$CONFIG->dbprefix}river WHERE view = 'river/object/image/tag'"; +$river_items = mysql_query($query); +while ($item = mysql_fetch_object($river_items)) { + $DB_QUERY_CACHE = $DB_PROFILE = array(); + + // find the annotation for this river item + $annotations = get_annotations($item->subject_guid, '', '', 'phototag', '', 0, 999); + foreach ($annotations as $annotation) { + $tag = unserialize($annotation->value); + if ($tag->type === 'user') { + if ($tag->value == $item->object_guid) { + $update = "UPDATE {$CONFIG->dbprefix}river SET subject_guid = $annotation->owner_guid, annotation_id = $annotation->id where id = $item->id"; + mysql_query($update); + } + } + } +}
\ No newline at end of file diff --git a/mod/lightpics/upgrades/2012020901.php b/mod/lightpics/upgrades/2012020901.php new file mode 100644 index 000000000..793279b38 --- /dev/null +++ b/mod/lightpics/upgrades/2012020901.php @@ -0,0 +1,26 @@ +<?php +/** + * Adds last notified metadata and sets the notify interval + */ + +elgg_set_plugin_setting('notify_interval', 60 * 60 * 24, 'tidypics'); + +$options = array( + 'type' => 'object', + 'subtype' => 'album', + 'limit' => 0 +); + +$prefix = elgg_get_config('dbprefix'); +$batch = new ElggBatch('elgg_get_entities', $options); + +foreach ($batch as $album) { + // grab earliest picture and use that as the notification time + // in old version of tidypics notifications went out only when a new album was populated. + $q = "SELECT MIN(time_created) as ts FROM {$prefix}entities WHERE container_guid = $album->guid"; + $row = get_data_row($q); + + if ($row) { + $album->last_notified = $row->ts; + } +} |