From 2d806df7a3ffe4ec57781ada8829b3b86bd91632 Mon Sep 17 00:00:00 2001 From: Sem Date: Tue, 8 Nov 2011 21:44:25 +0100 Subject: Video icons. --- graphics/Video_Icon.jpg | Bin 64088 -> 0 bytes graphics/_videolist_icon_medium.png | Bin 0 -> 4391 bytes graphics/badge3.gif | Bin 16801 -> 0 bytes graphics/logo_videos.png | Bin 6333 -> 0 bytes graphics/metacafe.jpg | Bin 5523 -> 0 bytes graphics/pic_youtubelogo_123x63.gif | Bin 3457 -> 0 bytes graphics/play.jpg | Bin 15987 -> 0 bytes graphics/video_icon_tiny.png | Bin 655 -> 0 bytes graphics/videolist_icon_medium.png | Bin 0 -> 3840 bytes graphics/videolist_icon_small.png | Bin 0 -> 1960 bytes graphics/videolist_icon_tiny.png | Bin 0 -> 1295 bytes graphics/vimeo_logo.gif | Bin 3811 -> 0 bytes graphics/youtube.jpg | Bin 6877 -> 0 bytes graphics/youtube_logo.jpg | Bin 16791 -> 0 bytes lib/videolist.php | 6 ++-- start.php | 41 ++++++++++++---------- views/default/icon/object/videolist/large.php | 11 ------ views/default/icon/object/videolist/master.php | 11 ------ views/default/icon/object/videolist/medium.php | 11 ------ views/default/icon/object/videolist/small.php | 11 ------ views/default/icon/object/videolist/tiny.php | 11 ------ views/default/icon/object/videolist/topbar.php | 11 ------ views/default/icon/object/videolist_item.php | 46 +++++++++++++++++++++++++ views/default/object/videolist_item.php | 3 +- 24 files changed, 72 insertions(+), 90 deletions(-) delete mode 100644 graphics/Video_Icon.jpg create mode 100644 graphics/_videolist_icon_medium.png delete mode 100644 graphics/badge3.gif delete mode 100644 graphics/logo_videos.png delete mode 100644 graphics/metacafe.jpg delete mode 100644 graphics/pic_youtubelogo_123x63.gif delete mode 100644 graphics/play.jpg delete mode 100644 graphics/video_icon_tiny.png create mode 100644 graphics/videolist_icon_medium.png create mode 100644 graphics/videolist_icon_small.png create mode 100644 graphics/videolist_icon_tiny.png delete mode 100644 graphics/vimeo_logo.gif delete mode 100644 graphics/youtube.jpg delete mode 100644 graphics/youtube_logo.jpg delete mode 100644 views/default/icon/object/videolist/large.php delete mode 100644 views/default/icon/object/videolist/master.php delete mode 100644 views/default/icon/object/videolist/medium.php delete mode 100644 views/default/icon/object/videolist/small.php delete mode 100644 views/default/icon/object/videolist/tiny.php delete mode 100644 views/default/icon/object/videolist/topbar.php create mode 100644 views/default/icon/object/videolist_item.php diff --git a/graphics/Video_Icon.jpg b/graphics/Video_Icon.jpg deleted file mode 100644 index 6a22c3e88..000000000 Binary files a/graphics/Video_Icon.jpg and /dev/null differ diff --git a/graphics/_videolist_icon_medium.png b/graphics/_videolist_icon_medium.png new file mode 100644 index 000000000..9cfc50fd8 Binary files /dev/null and b/graphics/_videolist_icon_medium.png differ diff --git a/graphics/badge3.gif b/graphics/badge3.gif deleted file mode 100644 index 6dc0c1007..000000000 Binary files a/graphics/badge3.gif and /dev/null differ diff --git a/graphics/logo_videos.png b/graphics/logo_videos.png deleted file mode 100644 index 3a626d314..000000000 Binary files a/graphics/logo_videos.png and /dev/null differ diff --git a/graphics/metacafe.jpg b/graphics/metacafe.jpg deleted file mode 100644 index a74ab75f9..000000000 Binary files a/graphics/metacafe.jpg and /dev/null differ diff --git a/graphics/pic_youtubelogo_123x63.gif b/graphics/pic_youtubelogo_123x63.gif deleted file mode 100644 index f66c93730..000000000 Binary files a/graphics/pic_youtubelogo_123x63.gif and /dev/null differ diff --git a/graphics/play.jpg b/graphics/play.jpg deleted file mode 100644 index 1e701c853..000000000 Binary files a/graphics/play.jpg and /dev/null differ diff --git a/graphics/video_icon_tiny.png b/graphics/video_icon_tiny.png deleted file mode 100644 index 5a7204d3b..000000000 Binary files a/graphics/video_icon_tiny.png and /dev/null differ diff --git a/graphics/videolist_icon_medium.png b/graphics/videolist_icon_medium.png new file mode 100644 index 000000000..e567c70ed Binary files /dev/null and b/graphics/videolist_icon_medium.png differ diff --git a/graphics/videolist_icon_small.png b/graphics/videolist_icon_small.png new file mode 100644 index 000000000..507260f28 Binary files /dev/null and b/graphics/videolist_icon_small.png differ diff --git a/graphics/videolist_icon_tiny.png b/graphics/videolist_icon_tiny.png new file mode 100644 index 000000000..2ea6e05f4 Binary files /dev/null and b/graphics/videolist_icon_tiny.png differ diff --git a/graphics/vimeo_logo.gif b/graphics/vimeo_logo.gif deleted file mode 100644 index 2c3c65b5c..000000000 Binary files a/graphics/vimeo_logo.gif and /dev/null differ diff --git a/graphics/youtube.jpg b/graphics/youtube.jpg deleted file mode 100644 index 19a0d1673..000000000 Binary files a/graphics/youtube.jpg and /dev/null differ diff --git a/graphics/youtube_logo.jpg b/graphics/youtube_logo.jpg deleted file mode 100644 index 59d8e0d36..000000000 Binary files a/graphics/youtube_logo.jpg and /dev/null differ diff --git a/lib/videolist.php b/lib/videolist.php index 03b6e2760..9e29f3061 100644 --- a/lib/videolist.php +++ b/lib/videolist.php @@ -88,7 +88,7 @@ function videolist_get_data_youtube($video_id){ return array( 'title' => sanitize_string($xml->title), 'description' => sanitize_string($xml->content), - 'icon' => "http://img.youtube.com/vi/$video_id/default.jpg", + 'thumbnail' => "http://img.youtube.com/vi/$video_id/default.jpg", 'video_id' => $video_id, 'videotype' => 'youtube', ); @@ -104,7 +104,7 @@ function videolist_get_data_vimeo($video_id){ return array( 'title' => sanitize_string($video->title), 'description' => sanitize_string($video->description), - 'icon' => sanitize_string($video->thumbnail_medium), + 'thumbnail' => sanitize_string($video->thumbnail_medium), 'video_id' => $video_id, 'videotype' => 'vimeo', ); @@ -122,7 +122,7 @@ function videolist_get_data_metacafe($video_id){ //FIXME return array( 'title' => $channel->title, 'description' => $channel->description, - 'icon' => $matches[1], + 'thumbnail' => $matches[1], 'video_id' => $video_id, 'videotype' => 'metacafe', ); diff --git a/start.php b/start.php index c0ed1a0bf..b8bf49d83 100644 --- a/start.php +++ b/start.php @@ -60,7 +60,8 @@ function videolist_init() { elgg_register_entity_url_handler('object', 'watch', 'video_url'); //register entity url handler - elgg_register_entity_url_handler('object', 'videolist', 'videolist_url'); + elgg_register_entity_url_handler('object', 'videolist_item', 'videolist_url'); + elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'videolist_icon_url_override'); // Register entity type elgg_register_entity_type('object','videolist'); @@ -70,9 +71,6 @@ 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'); - - // override icons for ElggEntity::getIcon() - elgg_register_plugin_hook_handler('entity:icon:url', 'user', 'profile_usericon_hook'); // Register actions $actions_path = elgg_get_plugins_path() . "videolist/actions/videolist"; @@ -91,7 +89,7 @@ function videolist_init() { * Video watch: videolist/watch// * Video browse: videolist/browse * New video: videolist/add/<guid> - * Edit video: videolist/edit/<guid>/<revision> + * Edit video: videolist/edit/<guid> * Group videos: videolist/group/<guid>/all * * Title is ignored @@ -170,12 +168,10 @@ function video_url($entity) { return elgg_get_site_url() . "videolist/watch/" . $entity->getGUID() . "/" . $video_id; } -function videolist_url($videolistpage) { - $owner = $videolistpage->container_guid; - $userdata = get_entity($owner); - $title = $videolistpage->title; - $title = friendly_title($title); - return elgg_get_site_url() . "videolist/watch/" . $videolistpage->getGUID(); +function videolist_url($videolist_item) { + $guid = $videolist_item->guid; + $title = elgg_get_friendly_title($videolist_item->title); + return elgg_get_site_url() . "videolist/watch/$guid/$title"; } /** @@ -279,17 +275,24 @@ function videolist_embed_get_items($hook, $type, $value, $params) { } /** - * Returns the URL of the icon for $entity at $size. + * Override the default entity icon for videoslist items * - * @param ElggEntity $entity - * @param string $size Not used yet. Not sure if possible. + * @return string Relative URL */ -function videolist_get_entity_icon_url(ElggEntity $entity, $size = 'medium') { - +function videolist_icon_url_override($hook, $type, $returnvalue, $params) { + $videolist_item = $params['entity']; + $size = $params['size']; + + if($videolist_item->getSubtype() != 'videolist_item'){ + return $returnvalue; + } + // tiny thumbnails are too small to be useful, so give a generic video icon - if ($size == 'tiny') { - return elgg_get_site_url() . "mod/videolist/graphics/video_icon_tiny.png"; + if ($size != 'tiny' && isset($videolist_item->thumbnail)) { + return $videolist_item->thumbnail; } - return $entity->thumbnail; + if (in_array($size, array('tiny', 'small', 'medium'))){ + return "mod/videolist/graphics/videolist_icon_{$size}.png"; + } } diff --git a/views/default/icon/object/videolist/large.php b/views/default/icon/object/videolist/large.php deleted file mode 100644 index 62815f7c4..000000000 --- a/views/default/icon/object/videolist/large.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php -/** - * Display a video's icon. - */ - -$entity = elgg_get_array_value('entity', $vars, NULL); -$size = 'large'; - -if ($entity) { - echo videolist_get_entity_icon_url($entity, $size); -} \ No newline at end of file diff --git a/views/default/icon/object/videolist/master.php b/views/default/icon/object/videolist/master.php deleted file mode 100644 index 65d0ea6e0..000000000 --- a/views/default/icon/object/videolist/master.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php -/** - * Display a video's icon. - */ - -$entity = elgg_get_array_value('entity', $vars, NULL); -$size = 'master'; - -if ($entity) { - echo videolist_get_entity_icon_url($entity, $size); -} \ No newline at end of file diff --git a/views/default/icon/object/videolist/medium.php b/views/default/icon/object/videolist/medium.php deleted file mode 100644 index c2d85cf6e..000000000 --- a/views/default/icon/object/videolist/medium.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php -/** - * Display a video's icon. - */ - -$entity = elgg_get_array_value('entity', $vars, NULL); -$size = 'medium'; - -if ($entity) { - echo videolist_get_entity_icon_url($entity, $size); -} \ No newline at end of file diff --git a/views/default/icon/object/videolist/small.php b/views/default/icon/object/videolist/small.php deleted file mode 100644 index 34d08cd1e..000000000 --- a/views/default/icon/object/videolist/small.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php -/** - * Display a video's icon. - */ - -$entity = elgg_get_array_value('entity', $vars, NULL); -$size = 'small'; - -if ($entity) { - echo videolist_get_entity_icon_url($entity, $size); -} \ No newline at end of file diff --git a/views/default/icon/object/videolist/tiny.php b/views/default/icon/object/videolist/tiny.php deleted file mode 100644 index 2dce0f06d..000000000 --- a/views/default/icon/object/videolist/tiny.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php -/** - * Display a video's icon. - */ - -$entity = elgg_get_array_value('entity', $vars, NULL); -$size = 'tiny'; - -if ($entity) { - echo videolist_get_entity_icon_url($entity, $size); -} \ No newline at end of file diff --git a/views/default/icon/object/videolist/topbar.php b/views/default/icon/object/videolist/topbar.php deleted file mode 100644 index 82b38c0a0..000000000 --- a/views/default/icon/object/videolist/topbar.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php -/** - * Display a video's icon. - */ - -$entity = elgg_get_array_value('entity', $vars, NULL); -$size = 'topbar'; - -if ($entity) { - echo videolist_get_entity_icon_url($entity, $size); -} \ No newline at end of file diff --git a/views/default/icon/object/videolist_item.php b/views/default/icon/object/videolist_item.php new file mode 100644 index 000000000..38b805021 --- /dev/null +++ b/views/default/icon/object/videolist_item.php @@ -0,0 +1,46 @@ +<?php +/** + * Generic icon view. + * + * @package Elgg + * @subpackage Core + * + * @uses $vars['entity'] The entity the icon represents - uses getIconURL() method + * @uses $vars['size'] topbar, tiny, small, medium (default), large, master + * @uses $vars['href'] Optional override for link + */ + +$entity = $vars['entity']; + +$sizes = array('small', 'medium', 'large', 'tiny', 'master', 'topbar'); +$img_width = array('tiny' => 25, 'small' => 40, 'medium' => 100, 'large' => 200); + +// Get size +if (!in_array($vars['size'], $sizes)) { + $size = "medium"; +} else { + $size = $vars['size']; +} + +if (isset($entity->name)) { + $title = $entity->name; +} else { + $title = $entity->title; +} + +$url = $entity->getURL(); +if (isset($vars['href'])) { + $url = $vars['href']; +} + +$img_src = $entity->getIconURL($vars['size']); +$img = "<img src=\"$img_src\" alt=\"$title\" width=\"{$img_width[$size]}\" />"; + +if ($url) { + echo elgg_view('output/url', array( + 'href' => $url, + 'text' => $img, + )); +} else { + echo $img; +} diff --git a/views/default/object/videolist_item.php b/views/default/object/videolist_item.php index 2a08508bb..2be1f2a9a 100644 --- a/views/default/object/videolist_item.php +++ b/views/default/object/videolist_item.php @@ -27,8 +27,7 @@ $owner_link = elgg_view('output/url', array( )); $author_text = elgg_echo('byline', array($owner_link)); -$entity_icon = elgg_view_entity_icon($entity, 'small'); - +$entity_icon = elgg_view_entity_icon($entity, 'medium'); $owner_icon = elgg_view_entity_icon($owner, 'small'); $tags = elgg_view('output/tags', array('tags' => $entity->tags)); -- cgit v1.2.3