]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Video icons.
authorSem <sembrestels@riseup.net>
Tue, 8 Nov 2011 20:44:25 +0000 (21:44 +0100)
committerSem <sembrestels@riseup.net>
Tue, 8 Nov 2011 20:44:25 +0000 (21:44 +0100)
24 files changed:
graphics/Video_Icon.jpg [deleted file]
graphics/_videolist_icon_medium.png [new file with mode: 0644]
graphics/badge3.gif [deleted file]
graphics/logo_videos.png [deleted file]
graphics/metacafe.jpg [deleted file]
graphics/pic_youtubelogo_123x63.gif [deleted file]
graphics/play.jpg [deleted file]
graphics/video_icon_tiny.png [deleted file]
graphics/videolist_icon_medium.png [new file with mode: 0644]
graphics/videolist_icon_small.png [new file with mode: 0644]
graphics/videolist_icon_tiny.png [new file with mode: 0644]
graphics/vimeo_logo.gif [deleted file]
graphics/youtube.jpg [deleted file]
graphics/youtube_logo.jpg [deleted file]
lib/videolist.php
start.php
views/default/icon/object/videolist/large.php [deleted file]
views/default/icon/object/videolist/master.php [deleted file]
views/default/icon/object/videolist/medium.php [deleted file]
views/default/icon/object/videolist/small.php [deleted file]
views/default/icon/object/videolist/tiny.php [deleted file]
views/default/icon/object/videolist/topbar.php [deleted file]
views/default/icon/object/videolist_item.php [new file with mode: 0644]
views/default/object/videolist_item.php

diff --git a/graphics/Video_Icon.jpg b/graphics/Video_Icon.jpg
deleted file mode 100644 (file)
index 6a22c3e..0000000
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 (file)
index 0000000..9cfc50f
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 (file)
index 6dc0c10..0000000
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 (file)
index 3a626d3..0000000
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 (file)
index a74ab75..0000000
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 (file)
index f66c937..0000000
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 (file)
index 1e701c8..0000000
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 (file)
index 5a7204d..0000000
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 (file)
index 0000000..e567c70
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 (file)
index 0000000..507260f
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 (file)
index 0000000..2ea6e05
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 (file)
index 2c3c65b..0000000
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 (file)
index 19a0d16..0000000
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 (file)
index 59d8e0d..0000000
Binary files a/graphics/youtube_logo.jpg and /dev/null differ
index 03b6e2760988798e03314cf736c74daba8a03f8f..9e29f3061517d0c39972c8803be0b89e3c11eb47 100644 (file)
@@ -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',
        );
index c0ed1a0bf27529e9424423bd000acd8435b4b53b..b8bf49d83a5fe6a9ac0f80ac3ba00ec3db72ee95 100644 (file)
--- 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/<guid>/<title>
  *  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 (file)
index 62815f7..0000000
+++ /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 (file)
index 65d0ea6..0000000
+++ /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 (file)
index c2d85cf..0000000
+++ /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 (file)
index 34d08cd..0000000
+++ /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 (file)
index 2dce0f0..0000000
+++ /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 (file)
index 82b38c0..0000000
+++ /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 (file)
index 0000000..38b8050
--- /dev/null
@@ -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;
+}
index 2a08508bb5a75650a48d10d82baa6f07377565eb..2be1f2a9a9ffc0fff5544057de88781894c02e31 100644 (file)
@@ -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));