diff options
author | Brett Profitt <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-06-02 21:56:21 +0000 |
---|---|---|
committer | Brett Profitt <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-06-02 21:56:21 +0000 |
commit | 7da879661cccdeb708b13cfccf943bd50a7cbd65 (patch) | |
tree | 6ea576749e07916a0d86bc765acf07850f8b0ef4 /start.php | |
parent | db58ab7e51e539ec3172762d5c781338d58ad4b8 (diff) | |
download | elgg-7da879661cccdeb708b13cfccf943bd50a7cbd65.tar.gz elgg-7da879661cccdeb708b13cfccf943bd50a7cbd65.tar.bz2 |
Videolist: Added support for embed and added icon overrides.
git-svn-id: http://code.elgg.org@6333 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'start.php')
-rw-r--r-- | start.php | 70 |
1 files changed, 67 insertions, 3 deletions
@@ -40,8 +40,15 @@ function videolist_init() { // Register entity type register_entity_type('object','videolist'); - + register_plugin_hook('profile_menu', 'profile', 'videolist_profile_menu'); + + // register for embed + register_plugin_hook('embed_get_sections', 'all', 'videolist_embed_get_sections'); + register_plugin_hook('embed_get_items', 'videolist', 'videolist_embed_get_items'); + + // override icons for ElggEntity::getIcon() + register_plugin_hook('entity:icon:url', 'user', 'profile_usericon_hook'); } /** @@ -178,15 +185,72 @@ function videolist_object_notifications_intercept($hook, $entity_type, $returnva function videolist_profile_menu($hook, $entity_type, $return_value, $params) { global $CONFIG; - + $return_value[] = array( 'text' => elgg_echo('videolist'), 'href' => "{$CONFIG->url}pg/videolist/owned/{$params['owner']->username}", ); - + return $return_value; } + +/** + * Register videolist as an embed type. + * + * @param unknown_type $hook + * @param unknown_type $type + * @param unknown_type $value + * @param unknown_type $params + */ +function videolist_embed_get_sections($hook, $type, $value, $params) { + $value['videolist'] = array( + 'name' => elgg_echo('videolist'), + 'layout' => 'list', + ); + + return $value; +} + +/** + * Return a list of videos for embedding + * + * @param unknown_type $hook + * @param unknown_type $type + * @param unknown_type $value + * @param unknown_type $params + */ +function videolist_embed_get_items($hook, $type, $value, $params) { + $options = array( + 'owner_guid' => get_loggedin_userid(), + 'type_subtype_pair' => array('object' => 'videolist'), + 'count' => TRUE + ); + + $count = elgg_get_entities($options); + $value['count'] += $count; + + unset($options['count']); + $options['offset'] = $params['offset']; + $options['limit'] = $params['limit']; + + $items = elgg_get_entities($options); + + $value['items'] = array_merge($items, $value['items']); + + return $value; +} + +/** + * Returns the URL of the icon for $entity at $size. + * + * @param ElggEntity $entity + * @param string $size Not used yet. Not sure if possible. + */ +function videolist_get_entity_icon_url(ElggEntity $entity, $size = 'medium') { + return $entity->thumbnail; +} + // Register a handler for adding videos register_elgg_event_handler('create', 'videolist', 'videolist_create_event_listener'); |