1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- /**
- * Download the video thumbnail in the server and link it to video
- *
- * First determine if the upgrade is needed and then if needed, batch the update
- */
- $items = elgg_get_entities(array(
- 'type' => 'object',
- 'subtype' => 'videolist',
- 'limit' => 5,
- 'order_by' => 'e.time_created asc',
- ));
- // if not items, no upgrade required
- if (!$items) {
- return;
- }
- /**
- * Downloads the thumbnail and saves into data folder
- *
- * @param ElggObject $item
- * @return bool
- */
- function videolist_2012022501($item) {
- require_once(elgg_get_plugins_path() . 'upgrade-tools/lib/upgrade_tools.php');
- // get thumbnail image
- $thumbnail = file_get_contents($item->thumbnail);
- if (!$thumbnail) {
- return false;
- }
-
- $prefix = "videolist/" . $item->guid;
- $filehandler = new ElggFile();
- $filehandler->owner_guid = $item->owner_guid;
- $filehandler->setFilename($prefix . ".jpg");
- $filehandler->open("write");
- $filehandler->write($thumbnail);
- $filehandler->close();
-
- // update properties
- if ($item->url) {
- $item->video_url = $item->url;
- $item->deleteMetadata('url');
- }
- if ($item->desc) {
- $item->description = $item->desc;
- $item->deleteMetadata('desc');
- $item->save();
- }
- if ($item->embedurl) {
- $item->deleteMetadata('embedurl');
- }
- upgrade_change_subtype($item, 'videolist_item');
- // update river
- $options = array('object_guid' => $item->guid);
- $river_items = elgg_get_river($options);
- foreach($river_items as $river_item) {
- if ($river_item->action_type == 'create') {
- upgrade_update_river($river_item->id, 'river/object/videolist_item/create', $item->guid, 0);
- }
- }
- return true;
- }
- $previous_access = elgg_set_ignore_access(true);
- $options = array(
- 'type' => 'object',
- 'subtype' => 'videolist',
- 'limit' => 0,
- );
- $batch = new ElggBatch('elgg_get_entities', $options, 'videolist_2012022501', 100);
- elgg_set_ignore_access($previous_access);
- if ($batch->callbackResult) {
- error_log("Elgg videolist upgrade (2012022501) succeeded");
- } else {
- error_log("Elgg videolist upgrade (2012022501) failed");
- }
|