diff options
author | Sem <sembrestels@riseup.net> | 2012-04-17 23:54:30 -0700 |
---|---|---|
committer | Sem <sembrestels@riseup.net> | 2012-04-17 23:54:30 -0700 |
commit | a613b944015fd82f97a15392c0de0e7df104706d (patch) | |
tree | 5022ba0160427bec07cf9fdf337ef8161e4071b9 | |
parent | f1a0a4d5aa28753620552df9d5e88bd983d0aca4 (diff) | |
parent | 4af120de2bd0fe2046795346a40102f00fbe5479 (diff) | |
download | elgg-a613b944015fd82f97a15392c0de0e7df104706d.tar.gz elgg-a613b944015fd82f97a15392c0de0e7df104706d.tar.bz2 |
Merge pull request #1 from mrclay/master
Partial rewrite
-rw-r--r-- | actions/videolist/edit.php | 42 | ||||
-rw-r--r-- | lib/Videolist/Platform/Bliptv.php | 38 | ||||
-rw-r--r-- | lib/Videolist/Platform/Gisstv.php | 50 | ||||
-rw-r--r-- | lib/Videolist/Platform/Metacafe.php | 38 | ||||
-rw-r--r-- | lib/Videolist/Platform/Vimeo.php | 40 | ||||
-rw-r--r-- | lib/Videolist/Platform/Youtube.php | 49 | ||||
-rw-r--r-- | lib/Videolist/PlatformInterface.php | 23 | ||||
-rw-r--r-- | lib/bliptv.php | 29 | ||||
-rw-r--r-- | lib/gisstv.php | 41 | ||||
-rw-r--r-- | lib/metacafe.php | 29 | ||||
-rw-r--r-- | lib/videolist.php | 65 | ||||
-rw-r--r-- | lib/vimeo.php | 31 | ||||
-rw-r--r-- | lib/youtube.php | 28 | ||||
-rw-r--r-- | start.php | 102 | ||||
-rw-r--r-- | upgrades/2012022501.php | 1 | ||||
-rw-r--r-- | views/default/icon/object/videolist_item.php | 1 | ||||
-rw-r--r-- | views/default/object/videolist_item.php | 8 |
17 files changed, 397 insertions, 218 deletions
diff --git a/actions/videolist/edit.php b/actions/videolist/edit.php index be566de7e..a5e6ea453 100644 --- a/actions/videolist/edit.php +++ b/actions/videolist/edit.php @@ -8,7 +8,8 @@ $variables = elgg_get_config('videolist');
$input = array();
foreach ($variables as $name => $type) {
- $input[$name] = get_input($name);
+ $filter_input = ($name !== 'video_url');
+ $input[$name] = get_input($name, null, $filter_input);
if ($name == 'title') {
$input[$name] = strip_tags($input[$name]);
}
@@ -27,21 +28,27 @@ elgg_load_library('elgg:videolist'); // If new video, get data from video providers
if(!$video_guid) {
- if (!$input['video_url']) {
+
+ $input['video_url'] = elgg_trigger_plugin_hook('videolist:preprocess', 'url', $input, $input['video_url']);
+
+ if (!$input['video_url']) {
register_error(elgg_echo('videolist:error:no_url'));
forward(REFERER);
}
- $parsed_url = videolist_parseurl($input['video_url']);
+ $parsedPlatform = videolist_parse_url($input['video_url']);
- if(!$parsed_url) {
+ if (!$parsedPlatform) {
register_error(elgg_echo('videolist:error:invalid_url'));
forward(REFERER);
}
-
+ list ($parsed, $platform) = $parsedPlatform;
+ /* @var Videolist_PlatformInterface $platform */
+
unset($input['title']);
unset($input['description']);
- $input = array_merge(videolist_get_data($parsed_url), $input);
+ $input = array_merge($parsed, $platform->getData($parsed), $input);
+ $input['videotype'] = $platform->getType();
} else {
unset($input['video_url']);
@@ -73,16 +80,19 @@ if ($video->save()) { elgg_clear_sticky_form('videolist');
// Let's save the thumbnail in the data folder
- $thumbnail = file_get_contents($video->thumbnail);
- if ($thumbnail) {
- $prefix = "videolist/" . $video->guid;
- $filehandler = new ElggFile();
- $filehandler->owner_guid = $video->owner_guid;
- $filehandler->setFilename($prefix . ".jpg");
- $filehandler->open("write");
- $filehandler->write($thumbnail);
- $filehandler->close();
- }
+ $thumb_url = $video->thumbnail;
+ if ($thumb_url) {
+ $thumbnail = file_get_contents($thumb_url);
+ if ($thumbnail) {
+ $prefix = "videolist/" . $video->guid;
+ $filehandler = new ElggFile();
+ $filehandler->owner_guid = $video->owner_guid;
+ $filehandler->setFilename($prefix . ".jpg");
+ $filehandler->open("write");
+ $filehandler->write($thumbnail);
+ $filehandler->close();
+ }
+ }
system_message(elgg_echo('videolist:saved'));
diff --git a/lib/Videolist/Platform/Bliptv.php b/lib/Videolist/Platform/Bliptv.php new file mode 100644 index 000000000..aa53032f9 --- /dev/null +++ b/lib/Videolist/Platform/Bliptv.php @@ -0,0 +1,38 @@ +<?php + +class Videolist_Platform_Bliptv implements Videolist_PlatformInterface +{ + public function getType() + { + return "bliptv"; + } + + public function parseUrl($url) + { + $parsed = parse_url($url); + $path = explode('/', $parsed['path']); + + if ($parsed['host'] != 'blip.tv' || count($path) < 3) { + return false; + } + + return array( + 'video_id' => $parsed['path'], + ); + } + + public function getData($parsed) + { + $video_id = $parsed['video_id']; + + $buffer = file_get_contents('http://blip.tv'.$video_id.'?skin=rss'); + $xml = new SimpleXMLElement($buffer); + + return array( + 'title' => current($xml->xpath('/rss/channel/item/title')), + 'description' => strip_tags(current($xml->xpath('/rss/channel/item/description'))), + 'thumbnail' => current($xml->xpath('/rss/channel/item/media:thumbnail/@url')), + 'embedurl' => current($xml->xpath('/rss/channel/item/blip:embedUrl')), + ); + } +} diff --git a/lib/Videolist/Platform/Gisstv.php b/lib/Videolist/Platform/Gisstv.php new file mode 100644 index 000000000..b79898449 --- /dev/null +++ b/lib/Videolist/Platform/Gisstv.php @@ -0,0 +1,50 @@ +<?php + +class Videolist_Platform_Gisstv implements Videolist_PlatformInterface +{ + public function getType() + { + return "gisstv"; + } + + public function parseUrl($url) + { + $parsed = parse_url($url); + $path = explode('/', $parsed['path']); + + if ($parsed['host'] != 'giss.tv' || $path[1] != 'dmmdb') { + return false; + } + + if($path[2] == 'contents' && isset($path[3])) { + $video_id = $path[3]; + } elseif($path[3] == 'contents' && isset($path[4])) { + $video_id = $path[4]; + } else { + return false; + } + + return array( + 'video_id' => $video_id, + ); + } + + public function getData($parsed) + { + $video_id = $parsed['video_id']; + + $buffer = file_get_contents('http://giss.tv/dmmdb//rss.php'); + $xml = new SimpleXMLElement($buffer); + + $data = array(); + foreach($xml->xpath('/rss/channel/item') as $item){ + if ($item->link === 'http://giss.tv/dmmdb//contents/'.$video_id) { + $data['title'] = $item->title; + $data['description'] = strip_tags($item->description); + $data['thumbnail'] = $item->thumbnail; + break; + } + } + return $data; + } +} diff --git a/lib/Videolist/Platform/Metacafe.php b/lib/Videolist/Platform/Metacafe.php new file mode 100644 index 000000000..7da6d1647 --- /dev/null +++ b/lib/Videolist/Platform/Metacafe.php @@ -0,0 +1,38 @@ +<?php + +class Videolist_Platform_Metacafe implements Videolist_PlatformInterface +{ + public function getType() + { + return "metacafe"; + } + + public function parseUrl($url) + { + $parsed = parse_url($url); + $path = explode('/', $parsed['path']); + + if ($parsed['host'] != 'www.metacafe.com' || $path[1] != 'watch' || !(int) $path[2]) { + return false; + } + + return array( + 'video_id' => $path[2], + ); + } + + public function getData($parsed) + { + $video_id = $parsed['video_id']; + + $buffer = file_get_contents("http://www.metacafe.com/api/item/$video_id"); + $xml = new SimpleXMLElement($buffer); + + return array( + 'title' => current($xml->xpath('/rss/channel/item/title')), + 'description' => strip_tags(current($xml->xpath('/rss/channel/item/description'))), + 'thumbnail' => current($xml->xpath('/rss/channel/item/media:thumbnail/@url')), + 'embedurl' => current($xml->xpath('/rss/channel/item/media:content/@url')), + ); + } +} diff --git a/lib/Videolist/Platform/Vimeo.php b/lib/Videolist/Platform/Vimeo.php new file mode 100644 index 000000000..a4a1f275c --- /dev/null +++ b/lib/Videolist/Platform/Vimeo.php @@ -0,0 +1,40 @@ +<?php + +class Videolist_Platform_Vimeo implements Videolist_PlatformInterface +{ + public function getType() + { + return "vimeo"; + } + + public function parseUrl($url) + { + $parsed = parse_url($url); + $path = explode('/', $parsed['path']); + + if ($parsed['host'] != 'vimeo.com' || !(int) $path[1]) { + return false; + } + + return array( + 'video_id' => $path[1], + ); + } + + public function getData($parsed) + { + $video_id = $parsed['video_id']; + + $buffer = file_get_contents("http://vimeo.com/api/v2/video/$video_id.xml"); + $xml = new SimpleXMLElement($buffer); + + $videos = $xml->children(); + $video = $videos[0]; + + return array( + 'title' => $video->title, + 'description' => strip_tags($video->description), + 'thumbnail' => $video->thumbnail_medium, + ); + } +} diff --git a/lib/Videolist/Platform/Youtube.php b/lib/Videolist/Platform/Youtube.php new file mode 100644 index 000000000..d5a388356 --- /dev/null +++ b/lib/Videolist/Platform/Youtube.php @@ -0,0 +1,49 @@ +<?php + +class Videolist_Platform_Youtube implements Videolist_PlatformInterface +{ + public function getType() + { + return "youtube"; + } + + public function parseUrl($url) + { + $parsed = parse_url($url); + $id = ''; + if (! empty($parsed['host'])) { + if ($parsed['host'] === 'youtu.be') { + // short URLs + $id = substr($parsed['path'], 1); + } elseif ($parsed['host'] === 'www.youtube.com' + && $parsed['path'] === '/watch' + && ! empty($parsed['query'])) { + // long URLs + parse_str($parsed['query'], $query); + if (! empty($query['v'])) { + $id = $query['v']; + } + } + } + if ($id) { + return array( + 'video_id' => $id, + ); + } + return false; + } + + public function getData($parsed) + { + $video_id = $parsed['video_id']; + + $buffer = file_get_contents('http://gdata.youtube.com/feeds/api/videos/'.$video_id); + $xml = new SimpleXMLElement($buffer); + + return array( + 'title' => $xml->title, + 'description' => strip_tags($xml->content), + 'thumbnail' => "http://img.youtube.com/vi/$video_id/default.jpg", + ); + } +} diff --git a/lib/Videolist/PlatformInterface.php b/lib/Videolist/PlatformInterface.php new file mode 100644 index 000000000..25ca019e9 --- /dev/null +++ b/lib/Videolist/PlatformInterface.php @@ -0,0 +1,23 @@ +<?php + +interface Videolist_PlatformInterface { + /** + * @abstract + * @return string + */ + public function getType(); + + /** + * @abstract + * @param string $url + * @return array + */ + public function parseUrl($url); + + /** + * @abstract + * @param array $parsed + * @return array + */ + public function getData($parsed); +} diff --git a/lib/bliptv.php b/lib/bliptv.php deleted file mode 100644 index f4c0f772c..000000000 --- a/lib/bliptv.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - -function videolist_parseurl_bliptv($url) { - $parsed = parse_url($url); - $path = explode('/', $parsed['path']); - - if ($parsed['host'] != 'blip.tv' || count($path) < 3) { - return false; - } - - return array( - 'videotype' => 'bliptv', - 'video_id' => $parsed['path'], - ); -} - -function videolist_get_data_bliptv($parsed){ - $video_id = $parsed['video_id']; - - $buffer = file_get_contents('http://blip.tv'.$video_id.'?skin=rss'); - $xml = new SimpleXMLElement($buffer); - - return array( - 'title' => sanitize_string(current($xml->xpath('/rss/channel/item/title'))), - 'description' => strip_tags(current($xml->xpath('/rss/channel/item/description'))), - 'thumbnail' => sanitize_string(current($xml->xpath('/rss/channel/item/media:thumbnail/@url'))), - 'embedurl' => sanitize_string(current($xml->xpath('/rss/channel/item/blip:embedUrl'))), - ); -} diff --git a/lib/gisstv.php b/lib/gisstv.php deleted file mode 100644 index 24e11340a..000000000 --- a/lib/gisstv.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -function videolist_parseurl_gisstv($url) { - $parsed = parse_url($url); - $path = explode('/', $parsed['path']); - - if ($parsed['host'] != 'giss.tv' || $path[1] != 'dmmdb') { - return false; - } - - if($path[2] == 'contents' && isset($path[3])) { - $video_id = $path[3]; - } elseif($path[3] == 'contents' && isset($path[4])) { - $video_id = $path[4]; - } else { - return false; - } - - return array( - 'videotype' => 'gisstv', - 'video_id' => $video_id, - ); -} - -function videolist_get_data_gisstv($parsed){ - $video_id = $parsed['video_id']; - - $buffer = file_get_contents('http://giss.tv/dmmdb//rss.php'); - $xml = new SimpleXMLElement($buffer); - - $data = array(); - foreach($xml->xpath('/rss/channel/item') as $item){ - if(sanitize_string($item->link) == 'http://giss.tv/dmmdb//contents/'.$video_id) { - $data['title'] = sanitize_string($item->title); - $data['description'] = strip_tags($item->description); - $data['thumbnail'] = sanitize_string($item->thumbnail); - break; - } - } - return $data; -} diff --git a/lib/metacafe.php b/lib/metacafe.php deleted file mode 100644 index 34b006a32..000000000 --- a/lib/metacafe.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - -function videolist_parseurl_metacafe($url) { - $parsed = parse_url($url); - $path = explode('/', $parsed['path']); - - if ($parsed['host'] != 'www.metacafe.com' || $path[1] != 'watch' || !(int) $path[2]) { - return false; - } - - return array( - 'videotype' => 'metacafe', - 'video_id' => $path[2], - ); -} - -function videolist_get_data_metacafe($parsed){ - $video_id = $parsed['video_id']; - - $buffer = file_get_contents("http://www.metacafe.com/api/item/$video_id"); - $xml = new SimpleXMLElement($buffer); - - return array( - 'title' => sanitize_string(current($xml->xpath('/rss/channel/item/title'))), - 'description' => strip_tags(current($xml->xpath('/rss/channel/item/description'))), - 'thumbnail' => sanitize_string(current($xml->xpath('/rss/channel/item/media:thumbnail/@url'))), - 'embedurl' => sanitize_string(current($xml->xpath('/rss/channel/item/media:content/@url'))), - ); -} diff --git a/lib/videolist.php b/lib/videolist.php index 2dfc7d8fc..b86db99cf 100644 --- a/lib/videolist.php +++ b/lib/videolist.php @@ -1,29 +1,46 @@ <?php -define('VIDEOLIST_SUPPORTED_PLATFORMS', 'youtube, vimeo, metacafe, bliptv, gisstv'); - -foreach(explode(', ', VIDEOLIST_SUPPORTED_PLATFORMS) as $videotype){ - include(elgg_get_plugins_path()."videolist/lib/$videotype.php"); -} - -function videolist_parseurl($url){ - foreach(explode(', ', VIDEOLIST_SUPPORTED_PLATFORMS) as $videotype){ - if (is_callable("videolist_parseurl_$videotype")){ - if ($parsed = call_user_func("videolist_parseurl_$videotype", $url)) { - return $parsed; - } - } - } - return array(); +/** + * @return array + */ +function videolist_get_default_platforms() { + static $platforms = array(); + if (! $platforms) { + require dirname(__FILE__) . '/Videolist/PlatformInterface.php'; + $path = dirname(__FILE__) . '/Videolist/Platform'; + foreach (scandir($path) as $filename) { + if (preg_match('/^(\\w+)\\.php$/', $filename, $m)) { + require "$path/$filename"; + $class = 'Videolist_Platform_' . $m[1]; + $platform = new $class(); + if ($platform instanceof Videolist_PlatformInterface) { + /* @var Videolist_PlatformInterface $platform */ + $platforms[$platform->getType()][] = $platform; + } + } + } + } + return $platforms; } -function videolist_get_data($parsed) { - $videotype = $parsed['videotype']; - $video_id = $parsed['video_id']; - - if(is_callable("videolist_get_data_$videotype")){ - return array_merge($parsed, call_user_func("videolist_get_data_$videotype", $parsed)); - } else { - return $parsed; - } +/** + * @param string $url + * @return array [parsed, platform] + */ +function videolist_parse_url($url) { + $params = array( + 'url' => $url, + ); + $platforms = videolist_get_default_platforms(); + $platforms = elgg_trigger_plugin_hook('videolist:prepare', 'platforms', $params, $platforms); + foreach ($platforms as $list) { + foreach ($list as $platform) { + /* @var Videolist_PlatformInterface $platform */ + $parsed = $platform->parseUrl($url); + if ($parsed) { + return array($parsed, $platform); + } + } + } + return false; } diff --git a/lib/vimeo.php b/lib/vimeo.php deleted file mode 100644 index 0433c5a94..000000000 --- a/lib/vimeo.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -function videolist_parseurl_vimeo($url) { - $parsed = parse_url($url); - $path = explode('/', $parsed['path']); - - if ($parsed['host'] != 'vimeo.com' || !(int) $path[1]) { - return false; - } - - return array( - 'videotype' => 'vimeo', - 'video_id' => $path[1], - ); -} - -function videolist_get_data_vimeo($parsed){ - $video_id = $parsed['video_id']; - - $buffer = file_get_contents("http://vimeo.com/api/v2/video/$video_id.xml"); - $xml = new SimpleXMLElement($buffer); - - $videos = $xml->children(); - $video = $videos[0]; - - return array( - 'title' => sanitize_string($video->title), - 'description' => strip_tags($video->description), - 'thumbnail' => sanitize_string($video->thumbnail_medium), - ); -} diff --git a/lib/youtube.php b/lib/youtube.php deleted file mode 100644 index 6ed9344b0..000000000 --- a/lib/youtube.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php - -function videolist_parseurl_youtube($url) { - $parsed = parse_url($url); - parse_str($parsed['query'], $query); - - if ($parsed['host'] != 'www.youtube.com' || $parsed['path'] != '/watch' || !isset($query['v'])) { - return false; - } - - return array( - 'videotype' => 'youtube', - 'video_id' => $query['v'], - ); -} - -function videolist_get_data_youtube($parsed){ - $video_id = $parsed['video_id']; - - $buffer = file_get_contents('http://gdata.youtube.com/feeds/api/videos/'.$video_id); - $xml = new SimpleXMLElement($buffer); - - return array( - 'title' => sanitize_string($xml->title), - 'description' => strip_tags($xml->content), - 'thumbnail' => "http://img.youtube.com/vi/$video_id/default.jpg", - ); -} @@ -61,6 +61,9 @@ function videolist_init() { // register for embed elgg_register_plugin_hook_handler('embed_get_sections', 'all', 'videolist_embed_get_sections'); elgg_register_plugin_hook_handler('embed_get_items', 'videolist', 'videolist_embed_get_items'); + + // handle URLs without scheme + elgg_register_plugin_hook_handler('videolist:preprocess', 'url', 'videolist_preprocess_url'); // Register actions $actions_path = elgg_get_plugins_path() . "videolist/actions/videolist"; @@ -128,6 +131,12 @@ function videolist_page_handler($page) { /** * Add a menu item to the user ownerblock + * + * @param string $hook + * @param string $type + * @param array $return + * @param array $params + * @return array */ function videolist_owner_block_menu($hook, $type, $return, $params) { if (elgg_instanceof($params['entity'], 'user')) { @@ -145,6 +154,10 @@ function videolist_owner_block_menu($hook, $type, $return, $params) { return $return; } +/** + * @param ElggObject $videolist_item + * @return string + */ function videolist_url($videolist_item) { $guid = $videolist_item->guid; $title = elgg_get_friendly_title($videolist_item->title); @@ -154,6 +167,9 @@ function videolist_url($videolist_item) { /** * Event handler for videolist * + * @param string $event + * @param string $object_type + * @param ElggObject $object */ function videolist_object_notifications($event, $object_type, $object) { static $flag; @@ -177,11 +193,11 @@ function videolist_object_notifications($event, $object_type, $object) { * Intercepts the notification on an event of new video being created and prevents a notification from going out * (because one will be sent on the annotation) * - * @param unknown_type $hook - * @param unknown_type $entity_type - * @param unknown_type $returnvalue - * @param unknown_type $params - * @return unknown + * @param string $hook + * @param string $entity_type + * @param array $returnvalue + * @param array $params + * @return bool */ function videolist_object_notifications_intercept($hook, $entity_type, $returnvalue, $params) { if (isset($params)) { @@ -198,10 +214,11 @@ function videolist_object_notifications_intercept($hook, $entity_type, $returnva /** * Register videolist as an embed type. * - * @param unknown_type $hook - * @param unknown_type $type - * @param unknown_type $value - * @param unknown_type $params + * @param string $hook + * @param string $type + * @param array $value + * @param array $params + * @return array */ function videolist_embed_get_sections($hook, $type, $value, $params) { $value['videolist'] = array( @@ -216,14 +233,15 @@ function videolist_embed_get_sections($hook, $type, $value, $params) { /** * Return a list of videos for embedding * - * @param unknown_type $hook - * @param unknown_type $type - * @param unknown_type $value - * @param unknown_type $params + * @param string $hook + * @param string $type + * @param array $value + * @param array $params + * @return array */ function videolist_embed_get_items($hook, $type, $value, $params) { $options = array( - 'owner_guid' => get_loggedin_userid(), + 'owner_guid' => elgg_get_logged_in_user_guid(), 'type_subtype_pair' => array('object' => 'videolist_item'), 'count' => TRUE ); @@ -245,13 +263,18 @@ function videolist_embed_get_items($hook, $type, $value, $params) { /** * Override the default entity icon for videoslist items * + * @param string $hook + * @param string $type + * @param string $returnvalue + * @param array $params * @return string Relative URL */ function videolist_icon_url_override($hook, $type, $returnvalue, $params) { $videolist_item = $params['entity']; - $size = $params['size']; - - if($videolist_item->getSubtype() != 'videolist_item'){ + /* @var ElggObject $videolist_item */ + $size = $params['size']; + + if($videolist_item->getSubtype() != 'videolist_item'){ return $returnvalue; } @@ -266,6 +289,51 @@ function videolist_icon_url_override($hook, $type, $returnvalue, $params) { } /** + * @param ElggObject $videolist_item + * @return array + */ +function videolist_get_video_dimensions(ElggObject $videolist_item) { + $dimensions = array( + 'width' => 600, + 'height' => 400, + ); + $params['entity'] = $videolist_item; + $params['videotype'] = $videolist_item->videotype; + $dimensions = elgg_trigger_plugin_hook( + 'videolist:setdimensions', + $params['videotype'], + $params, + $dimensions); + if (! is_array($dimensions)) { + $dimensions = array(); + } + if (empty($dimensions['width']) || ! is_numeric($dimensions['width'])) { + $dimensions['width'] = 600; + } + if (empty($dimensions['height']) || ! is_numeric($dimensions['height'])) { + $dimensions['height'] = 400; + } + return $dimensions; +} + +/** + * Prepend HTTP scheme if missing + * @param string $hook + * @param string $type + * @param string $returnvalue + * @param array $params + * @return string + */ +function videolist_preprocess_url($hook, $type, $returnvalue, $params) { + $parsed = parse_url($returnvalue); + if (empty($parsed['host']) && ! empty($parsed['path']) && $parsed['path'][0] !== '/') { + // user probably forgot scheme + $returnvalue = 'http://' . $returnvalue; + } + return $returnvalue; +} + +/** * Process upgrades for the videolist plugin */ function videolist_run_upgrades() { diff --git a/upgrades/2012022501.php b/upgrades/2012022501.php index 815e10b62..50102e875 100644 --- a/upgrades/2012022501.php +++ b/upgrades/2012022501.php @@ -29,6 +29,7 @@ foreach ($items as $item) { * Downloads the thumbnail and saves into data folder * * @param ElggObject $item + * @return bool */ function videolist_2012022501($item) { diff --git a/views/default/icon/object/videolist_item.php b/views/default/icon/object/videolist_item.php index 38b805021..24a5b5fe8 100644 --- a/views/default/icon/object/videolist_item.php +++ b/views/default/icon/object/videolist_item.php @@ -11,6 +11,7 @@ */ $entity = $vars['entity']; +/* @var ElggObject $entity */ $sizes = array('small', 'medium', 'large', 'tiny', 'master', 'topbar'); $img_width = array('tiny' => 25, 'small' => 40, 'medium' => 100, 'large' => 200); diff --git a/views/default/object/videolist_item.php b/views/default/object/videolist_item.php index 6ed284a43..5e0db00ce 100644 --- a/views/default/object/videolist_item.php +++ b/views/default/object/videolist_item.php @@ -7,6 +7,7 @@ $full = elgg_extract('full_view', $vars, FALSE); $entity = elgg_extract('entity', $vars, FALSE); +/* @var ElggObject $entity */ if (!$entity) { return TRUE; @@ -59,11 +60,12 @@ if (elgg_in_context('widgets')) { } if ($full && !elgg_in_context('gallery')) { - + + $dimensions = videolist_get_video_dimensions($entity); $content = elgg_view("videolist/watch/{$entity->videotype}", array( 'entity' => $entity, - 'width' => 600, - 'height' => 400, + 'width' => $dimensions['width'], + 'height' => $dimensions['height'], )); $content = "<div class=\"videolist-watch\">$content</div>"; |