diff options
author | Sem <sembrestels@riseup.net> | 2011-11-03 21:18:37 +0100 |
---|---|---|
committer | Sem <sembrestels@riseup.net> | 2011-11-03 21:18:37 +0100 |
commit | df7ae7792a78e33d1cd31bc99ad34f4e0940eb21 (patch) | |
tree | a9a886d659e2f7dca9834563430cbfdffee67892 /pages/videolist | |
parent | bf9e75cf3ebbf8b68f90cf5e1784254c31270896 (diff) | |
download | elgg-df7ae7792a78e33d1cd31bc99ad34f4e0940eb21.tar.gz elgg-df7ae7792a78e33d1cd31bc99ad34f4e0940eb21.tar.bz2 |
Upgraded pagehandler.
Diffstat (limited to 'pages/videolist')
-rw-r--r-- | pages/videolist/add.php | 49 | ||||
-rw-r--r-- | pages/videolist/all.php | 44 | ||||
-rw-r--r-- | pages/videolist/browse.php | 49 | ||||
-rw-r--r-- | pages/videolist/edit.php | 43 | ||||
-rw-r--r-- | pages/videolist/friends.php | 45 | ||||
-rw-r--r-- | pages/videolist/owner.php | 68 | ||||
-rw-r--r-- | pages/videolist/watch.php | 79 |
7 files changed, 377 insertions, 0 deletions
diff --git a/pages/videolist/add.php b/pages/videolist/add.php new file mode 100644 index 000000000..881fba6ff --- /dev/null +++ b/pages/videolist/add.php @@ -0,0 +1,49 @@ +<?php +/** + * Elgg Video Plugin + * This plugin allows users to create a library of youtube/vimeo/metacafe videos + * + * @package Elgg + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Prateek Choudhary <synapticfield@gmail.com> + * @copyright Prateek Choudhary + */ + +// Render the video upload page +// Load Elgg engine +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); +gatekeeper(); + +//get videolist GUID +$container_guid = get_input('container'); +if(isset($container_guid) && !empty($container_guid)){ + $container_guid = explode(":", $container_guid); + if ($container_guid[0] == "group") { + $container = get_entity($container_guid[1]); + set_page_owner($container->getGUID()); + $page_owner = page_owner_entity(); + set_context("groupsvideos"); + set_input("container_guid", $container->getGUID()); + } else { + // Get the current page's owner + $page_owner = page_owner_entity(); + if ($page_owner === false || is_null($page_owner)) { + $page_owner = $_SESSION['user']; + set_page_owner($_SESSION['guid']); + set_input("container_guid", $_SESSION['guid']); + } + } +} + +$title = sprintf(elgg_echo("videolist:add")); + +//set up breadcrumbs +elgg_push_breadcrumb(elgg_echo('videolist:all'), elgg_get_site_url()."videolist/all/"); +elgg_push_breadcrumb(elgg_echo("videolist:add")); + +$area1 = elgg_view('navigation/breadcrumbs'); +$area1 .= elgg_view('page_elements/content_header', array('context' => "action", 'type' => 'videolist')); +$area2 .= elgg_view("forms/add"); +$body = elgg_view_layout('one_column_with_sidebar', $area1 . $area2, $area3); + +page_draw($title, $body); diff --git a/pages/videolist/all.php b/pages/videolist/all.php new file mode 100644 index 000000000..caccd7c3e --- /dev/null +++ b/pages/videolist/all.php @@ -0,0 +1,44 @@ +<?php +/** + * Elgg Video Plugin + * This plugin allows users to create a library of youtube/vimeo/metacafe videos + * + * @package Elgg + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Prateek Choudhary <synapticfield@gmail.com> + * @copyright Prateek Choudhary + */ + +// Render the video upload page +// Load Elgg engine +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); + +// Get the current page's owner +$page_owner = page_owner_entity(); +if ($page_owner === false || is_null($page_owner)) { + $page_owner = $_SESSION['user']; + set_page_owner($_SESSION['guid']); +} + +$title = sprintf(elgg_echo("videolist:search")); +// get the filter menu +$friend_link = elgg_get_site_url() . "videolist/friends/" . $page_owner->username; +// Get objects +$area1 = elgg_view('page_elements/content_header', array('context' => "everyone", 'type' => 'videolist', 'friend_link' => $friend_link)); +set_input('show_viewtype', 'all'); +$area2 .= elgg_list_entities(array('types' => 'object', 'subtypes' => 'videolist', 'limit' => 10, 'full_view' => TRUE, 'view_type_toggle' => FALSE, 'pagination' => TRUE)); +// include a view for plugins to extend +$area3 .= elgg_view("videolist/sidebar", array("object_type" => 'videolist')); + +// get the latest comments on all videos +$comments = get_annotations(0, "object", "videolist", "generic_comment", "", 0, 4, 0, "desc"); +$area3 .= elgg_view('annotation/latest_comments', array('comments' => $comments)); + +// tag-cloud display +$area3 .= display_tagcloud(0, 50, 'tags', 'object', 'videolist'); + +set_context('videolist'); +$body = elgg_view_layout('one_column_with_sidebar', $area1.$area2, $area3); + +// Finally draw the page +page_draw($title, $body); diff --git a/pages/videolist/browse.php b/pages/videolist/browse.php new file mode 100644 index 000000000..2392ef19a --- /dev/null +++ b/pages/videolist/browse.php @@ -0,0 +1,49 @@ +<?php +/** +* Elgg Video Plugin +* This plugin allows users to create a library of youtube/vimeo/metacafe videos +* +* @package Elgg +* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 +* @author Prateek Choudhary <synapticfield@gmail.com> +* @copyright Prateek Choudhary +*/ + +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); + +//get videolist GUID +$container_guid = get_input('container'); +$parent_container = ""; +if(isset($container_guid) && !empty($container_guid)) { + $container_guid = explode(":", $container_guid); + + if ($container_guid[0] == "group") { + $container = get_entity($container_guid[1]); + set_page_owner($container->getGUID()); + $page_owner = page_owner_entity(); + set_context("groupsvideos"); + } else { + $page_owner = page_owner_entity(); + if ($page_owner === false || is_null($page_owner)) { + $page_owner = $_SESSION['user']; + set_page_owner($_SESSION['guid']); + } + } +} + +elgg_push_breadcrumb(elgg_echo('videolist:find'), elgg_get_site_url()."videolist/all/"); +elgg_push_breadcrumb(elgg_echo("videolist:browsemenu")); + +$title = elgg_echo("videolist:browsemenu"); + +$area1 = elgg_view('navigation/breadcrumbs'); +$area1 .= elgg_view_title($title); +$area2 .= elgg_view("forms/browsetube"); + +// get the latest comments on all videos +$comments = get_annotations(0, "object", "videolist", "generic_comment", "", 0, 4, 0, "desc"); +$area3 = elgg_view('annotation/latest_comments', array('comments' => $comments)); + +$body = elgg_view_layout('one_column_with_sidebar', $area1.$area2, $area3); + +page_draw($title, $body); diff --git a/pages/videolist/edit.php b/pages/videolist/edit.php new file mode 100644 index 000000000..cc06dd9c4 --- /dev/null +++ b/pages/videolist/edit.php @@ -0,0 +1,43 @@ +<?php +/** +* Elgg Edit Video +*/ + +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); + +gatekeeper(); + +$video_file = (int) get_input('video'); +if ($video_file = get_entity($video_file)) { + + // Set the page owner + $page_owner = page_owner_entity(); + if ($page_owner === false || is_null($page_owner)) { + $container_guid = $video_file->container_guid; + if (!empty($container_guid)) + if ($page_owner = get_entity($container_guid)) { + set_page_owner($container_guid->guid); + } + if (empty($page_owner)) { + $page_owner = $_SESSION['user']; + set_page_owner($_SESSION['guid']); + } + } + + if ($video_file->canEdit()) { + // set up breadcrumbs + elgg_push_breadcrumb(elgg_echo('videolist:all'), elgg_get_site_url()."videolist/all.php"); + elgg_push_breadcrumb(sprintf(elgg_echo("videolist:user"),$page_owner->name), elgg_get_site_url()."videolist/".$page_owner->username); + elgg_push_breadcrumb(sprintf(elgg_echo("videolist:edit"))); + + $area1 = elgg_view('navigation/breadcrumbs'); + $area1 .= elgg_view_title($title = elgg_echo('videolist:edit')); + $area2 = elgg_view("forms/edit",array('entity' => $video_file)); + $body = elgg_view_layout('one_column_with_sidebar', $area1.$area2, $area3); + page_draw(elgg_echo("videolist:edit"), $body); + } +} else { + forward(); +} + +?> diff --git a/pages/videolist/friends.php b/pages/videolist/friends.php new file mode 100644 index 000000000..8d90ae1a3 --- /dev/null +++ b/pages/videolist/friends.php @@ -0,0 +1,45 @@ +<?php +/** + * Elgg Video Plugin + * This plugin allows users to create a library of youtube/vimeo/metacafe videos + * + * @package Elgg + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Prateek Choudhary <synapticfield@gmail.com> + * @copyright Prateek Choudhary + */ + +// Start engine +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); + +$page_owner = page_owner_entity(); +if ($page_owner === false || is_null($page_owner)) { + $page_owner = $_SESSION['user']; + set_page_owner($page_owner->getGUID()); +} + +// get the filter menu +$friend_link = elgg_get_site_url() . "videolist/friends/" . $page_owner->username; +// get the filter menu +$area1 = elgg_view("page_elements/content_header", array('context' => "friends", 'type' => 'videolist', 'friend_link' => $friend_link)); + +// List videos +set_context('search'); +$area2 .= list_user_friends_objects($page_owner->getGUID(), 'videolist', 10, false, false); +set_context('videolist'); + +// include a view for plugins to extend +$area3 = elgg_view("videolist/sidebar", array("object_type" => 'videolist')); + +// fetch & display latest comments on friends videos +$comments = get_annotations(0, "object", "videolist", "generic_comment", "", 0, 4, 0, "desc"); +$area3 .= elgg_view('annotation/latest_comments', array('comments' => $comments)); + +// tag-cloud display +$area3 .= display_tagcloud(0, 50, 'tags', 'object', 'videolist'); + +// Format page +$body = elgg_view_layout('one_column_with_sidebar', $area1.$area2, $area3); + +// Draw it +echo page_draw(elgg_echo('videolist:friends'),$body); diff --git a/pages/videolist/owner.php b/pages/videolist/owner.php new file mode 100644 index 000000000..4ca5495e1 --- /dev/null +++ b/pages/videolist/owner.php @@ -0,0 +1,68 @@ +<?php +/** + * Elgg Video Plugin + * This plugin allows users to create a library of youtube/vimeo/metacafe videos + * + * @package Elgg + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Prateek Choudhary <synapticfield@gmail.com> + * @copyright Prateek Choudhary + */ + +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); + +if (is_callable('group_gatekeeper')) group_gatekeeper(); + +$page_owner = page_owner_entity(); +if ($page_owner === false || is_null($page_owner)) { + $page_owner = $_SESSION['user']; + set_page_owner($page_owner->getGUID()); +} + +//get videolist GUID +$container_guid = get_input('username'); +if(isset($container_guid) && !empty($container_guid)) { + $container_guid = explode(":", $container_guid); + + if ($container_guid[0] == "group") { + $container = get_entity($container_guid[1]); + set_context("groupsvideos"); + } +} + +elgg_push_breadcrumb(elgg_echo('videolist:find'), elgg_get_site_url()."videolist/all"); +elgg_push_breadcrumb(sprintf(elgg_echo("videolist:home"),$page_owner->name)); +$title = sprintf(elgg_echo("videolist:home"), "$owner->name"); + +//set videolist header +if(page_owner() == get_loggedin_userid()) { + // get the filter menu + $friend_link = elgg_get_site_url() . "videolist/friends/" . $page_owner->username; + $area1 .= elgg_view('page_elements/content_header', array('context' => "mine", 'type' => 'videolist', 'friend_link' => $friend_link)); +}elseif(page_owner_entity() instanceof ElggGroup){ + $area1 .= elgg_view('navigation/breadcrumbs'); + $area1 .= elgg_view('videolist/group_video_header'); +} else { + $area1 .= elgg_view('navigation/breadcrumbs'); + $area1 .= elgg_view('page_elements/content_header_member', array('type' => 'videolist')); +} + + +// include a view for plugins to extend +$area3 = elgg_view("videolist/sidebar", array("object_type" => 'videolist')); + +// get the latest comments on all videos +$comments = get_annotations(0, "object", "videolist", "generic_comment", "", 0, 4, 0, "desc"); +$area3 .= elgg_view('annotation/latest_comments', array('comments' => $comments)); + +// tag-cloud display +$area3 .= display_tagcloud(0, 50, 'tags', 'object', 'videolist'); + +// Get objects +$area2 = elgg_list_entities(array('types' => 'object', 'subtypes' => 'videolist', 'container_guids' => page_owner(), 'limit' => 10)); + +set_context('videolist'); +$body = elgg_view_layout('one_column_with_sidebar', $area1.$area2, $area3); + +// Finally draw the page +page_draw($title, $body); diff --git a/pages/videolist/watch.php b/pages/videolist/watch.php new file mode 100644 index 000000000..4c92cc63b --- /dev/null +++ b/pages/videolist/watch.php @@ -0,0 +1,79 @@ +<?php +/** + * Elgg Video Plugin + * This plugin allows users to create a library of youtube/vimeo/metacafe videos + * + * @package Elgg + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Prateek Choudhary <synapticfield@gmail.com> + * @copyright Prateek Choudhary + */ + +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); + +// Get objects +$video_id = (int) get_input('video_id'); +$video = get_entity($video_id); + +// If we can get out the video corresponding to video_id object ... +if ($videos = get_entity($video_id)) { + set_page_owner($videos->container_guid); + $videos_container = get_entity($videos->container_guid); + // set up breadcrumbs + $page_owner = page_owner_entity(); + if ($page_owner === false || is_null($page_owner)) { + $page_owner = $_SESSION['user']; + set_page_owner($page_owner->getGUID()); + } + elgg_push_breadcrumb(elgg_echo('videolist:all'), elgg_get_site_url()."videolist/all.php"); + elgg_push_breadcrumb(sprintf(elgg_echo("videolist:user"),$page_owner->name), elgg_get_site_url()."videolist/".$page_owner->username); + elgg_push_breadcrumb(sprintf($video->title)); + $area1 = elgg_view('navigation/breadcrumbs'); + + if($videos_container->type == "group") { + set_context("groupsvideos"); + } + $page_owner = page_owner_entity(); + $pagetitle = sprintf(elgg_echo("videolist:home"),page_owner_entity()->name); + $title = $videos->title; + + $area1 .= "<div id='content_header' class='clearfloat'><div class='content_header_title'><h2>".$title."</h2></div>"; + if ($videos->canEdit()) { + $area1 .= "<div class='content_header_options'> + <a class='action_button' href=\"".elgg_get_site_url()."videolist/edit.php?video={$videos->getGUID()}\">".elgg_echo('edit')."</a>"; + + $area1 .= elgg_view('output/confirmlink',array( + 'href' => elgg_get_site_url() . "action/videolist/delete?video=" . $videos->getGUID(), + 'text' => elgg_echo('delete'), + 'is_action' => true, + 'confirm' => elgg_echo('document:delete:confirm'), + 'class' => 'action_button disabled'))."</div>"; + } + $area1 .= "</div>"; + + // Display it + $area2 .= elgg_view("object/watch",array( + 'entity' => $video_id, + 'entity_owner' => $page_owner, + 'full' => true + )); + + // include a view for plugins to extend + $area3 .= elgg_view("videolist/sidebar", array("object_type" => 'videolist')); + + // get the latest comments on all videos + $comments = get_annotations(0, "object", "videolist", "generic_comment", "", 0, 4, 0, "desc"); + $area3 .= elgg_view('annotation/latest_comments', array('comments' => $comments)); + + // tag-cloud display + $area3 .= display_tagcloud(0, 50, 'tags', 'object', 'videolist'); + + $body = elgg_view_layout("one_column_with_sidebar", $area1.$area2, $area3); +} else { + // video not found + $body = "<p class='margin_top'>".elgg_echo('videolist:none:found')."</p>"; + $pagetitle = elgg_echo("video:none"); +} + +// Finally draw the page +page_draw($pagetitle, $body); |