From e8123c694c232509ea0c96ab19edf7cb1168b571 Mon Sep 17 00:00:00 2001 From: Pete Harris Date: Mon, 29 Mar 2010 16:51:01 +0000 Subject: Updated VideoList to be consistent with v1.8 mods and so the new generic page header works. --- actions/add.php | 215 ++++++++++++++++++++++++++ actions/addvideo.php | 215 -------------------------- all.php | 35 +++++ views/default/videolist/notfound.php | 19 --- views/default/widgets/videolist_view/edit.php | 23 --- views/default/widgets/videolist_view/view.php | 60 ------- world.php | 35 ----- 7 files changed, 250 insertions(+), 352 deletions(-) create mode 100644 actions/add.php delete mode 100644 actions/addvideo.php create mode 100644 all.php delete mode 100644 views/default/videolist/notfound.php delete mode 100644 views/default/widgets/videolist_view/edit.php delete mode 100644 views/default/widgets/videolist_view/view.php delete mode 100644 world.php diff --git a/actions/add.php b/actions/add.php new file mode 100644 index 000000000..8be09ca3a --- /dev/null +++ b/actions/add.php @@ -0,0 +1,215 @@ + + * @copyright Prateek Choudhary + */ + +// Make sure we're logged in (send us to the front page if not) +gatekeeper(); + +// Get the current page's owner +set_page_owner($_SESSION['container_guid']); + +$page_owner = page_owner_entity(); + +if ($page_owner === false || is_null($page_owner)) { + $page_owner = $_SESSION['user']; + set_page_owner($_SESSION['guid']); +} + +if($page_owner->type == "group") { + $entity_referer = $page_owner->type.":".$page_owner->getGUID(); +} else { + $entity_referer = $page_owner->username; +} + +require_once(dirname(dirname(__FILE__)) . "/models/lib/class.vimeo.php"); + +function fetchyoutubeDatatitle($videoid){ + $buffer = file_get_contents('http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=rG48P7iz0eo&video_id='.$videoid); + /** + ** generate XML View + **/ + $xml_buffer = new SimpleXMLElement($buffer); + $vidDataTitle = $xml_buffer->video_details->title; + return $vidDataTitle; + //return ""; +} + +function fetchyoutubeDatadesc($videoid){ + $buffer = file_get_contents('http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=rG48P7iz0eo&video_id='.$videoid); + /** + ** generate XML View + **/ + $xml_buffer = new SimpleXMLElement($buffer); + $vidDataDesc = $xml_buffer->video_details->description; + return $vidDataDesc; + //return ""; +} + +function getVimeoInfoDataTitle($iGetVideoId){ + // Now lets do the search query. We will get an response object containing everything we need + $oResponse = VimeoVideosRequest::getInfo($iGetVideoId); + // We want the result videos as an array of objects + $aoVideos = $oResponse->getVideo(); + $title = $aoVideos->getTitle(); + return $title; +} + +function getVimeoInfoDataDesc($iGetVideoId){ + // Now lets do the search query. We will get an response object containing everything we need + $oResponse = VimeoVideosRequest::getInfo($iGetVideoId); + // We want the result videos as an array of objects + $aoVideos = $oResponse->getVideo(); + $description = $aoVideos->getCaption(); + return $description; +} + +function getVimeoInfoImage($iGetVideoId){ + // Now lets do the search query. We will get an response object containing everything we need + $oResponse = VimeoVideosRequest::getInfo($iGetVideoId); + // We want the result videos as an array of objects + $aoVideos = $oResponse->getVideo(); + //get all thumbnails + + $aThumbnails = array(); + foreach($aoVideos->getThumbnails() as $oThumbs) { + $aThumbnails[] = $oThumbs->getImageContent(); + } + + foreach($aThumbnails as $thumbnailArray){ + $thumbnail = $thumbnailArray; + break; + } + + return $thumbnail; +} + +function fetchyoutubeDatathumbnail($videoId){ + $thumbnail = "http://img.youtube.com/vi/".$videoId."/default.jpg"; + return $thumbnail; +} + +function metacafeFetchData($getVideoId){ + $feedURL = "http://www.metacafe.com/api/item/".$getVideoId; + $sxml = new DomDocument; + $sxml->load($feedURL); + $myitem = $sxml->getElementsByTagName('item'); + return $myitem; +} + +function fetchmetacafeTitle($getVideoId){ + $myitem = metacafeFetchData($getVideoId); + foreach($myitem as $searchNode){ + $xmlTitle = $searchNode->getElementsByTagName("title"); + $valueTitle = $xmlTitle->item(0)->nodeValue; + } + return $valueTitle; +} + +function fetchmetacafeDesc($getVideoId){ + $myitem = metacafeFetchData($getVideoId); + foreach($myitem as $searchNode){ + $xmlDesc = $searchNode->getElementsByTagName("description"); + $valueDesc = $xmlDesc->item(0)->nodeValue; + $ot = "

"; + $ct = "

"; + $string = trim($valueDesc); + $start = intval(strpos($string, $ot) + strlen($ot)); + $desc_src = substr($string,$start,intval(strpos($string,$ct) - $start)); + } + return $desc_src; +} + +function fetchmetacafeImg($getVideoId){ + $myitem = metacafeFetchData($getVideoId); + foreach($myitem as $searchNode){ + $xmlDesc = $searchNode->getElementsByTagName("description"); + $valueDesc = $xmlDesc->item(0)->nodeValue; + $pattern = '/]+src[\\s=\'"]'; + $pattern .= '+([^"\'>\\s]+)/is'; + if(preg_match($pattern,$valueDesc,$match)){ + $thumbnail = $match[1]; + } + } + return $thumbnail; +} + +$pageContainer = $_SESSION['Pagecontainer']; + + +// Initialise a new ElggObject +$videolist = new ElggObject(); +// Tell the system it's a blog post +$videolist->subtype = "videolist"; +// Set its owner to the current user +$videolist->owner_guid = $_SESSION['user']->getGUID(); + +// Set container of the video whether it was uploaded to groups or profile +$videolist->container_guid = $_SESSION['container_guid']; +// For now, set its access to public (we'll add an access dropdown shortly) +$videolist->access_id = $_SESSION['candidate_profile_video_access_id']; + +// In order to Set its title and description appropriately WE need the video ID +$videolist->url = $_SESSION['candidate_profile_video']; + +if($pageContainer == "youtube"){ + $videoIDArray = split("/v/", $videolist->url); + $videolist->video_id = $videoIDArray[1]; + // Now set the video title and description appropriately + $videolist->title = fetchyoutubeDatatitle($videoIDArray[1]); + $videolist->desc = fetchyoutubeDatadesc($videoIDArray[1]); + $videolist->thumbnail = fetchyoutubeDatathumbnail($videoIDArray[1]); + $videolist->videotype = "youtube"; +} +else if($pageContainer == "metacafe"){ + $videolist->video_id = $_SESSION['candidate_profile_video']; + // Now set the video title and description appropriately + $videolist->title = fetchmetacafeTitle($_SESSION['candidate_profile_video']); + $videolist->desc = fetchmetacafeDesc($_SESSION['candidate_profile_video']); + $videolist->thumbnail = fetchmetacafeImg($_SESSION['candidate_profile_video']); + $videolist->videotype = "metacafe"; +} +else if($pageContainer == "vimeo"){ + $videolist->video_id = $_SESSION['candidate_profile_video']; + + // Now set the video title and description appropriately + $videolist->title = getVimeoInfoDataTitle($_SESSION['candidate_profile_video']); + $videolist->desc = getVimeoInfoDataDesc($_SESSION['candidate_profile_video']); + $videolist->thumbnail = getVimeoInfoImage($_SESSION['candidate_profile_video']); + $videolist->videotype = "vimeo"; +} + +// Before we can set metadata, we need to save the blog post +if (!$videolist->save()) { + register_error(elgg_echo("videolist:error")); + forward("pg/videolist/new"); +} +//add video tags +$videolist_tags_array = string_to_tag_array($_SESSION['videolisttags']); +if (is_array($videolist_tags_array)) { + $videolist->tags = $videolist_tags_array; +} + +// add to river +add_to_river('river/object/videolist/create', 'create', $_SESSION['user']->guid, $videolist->guid); + +// add_to_river('river/object/blog/create','create',$_SESSION['user']->guid,$blog->guid); +// Success message +system_message(elgg_echo("videolist:posted")); +// Remove the videolist cache +unset($_SESSION['candidate_profile_video_access_id']); unset($_SESSION['candidate_profile_video']); +unset($_SESSION['videolisttags']);unset($_SESSION['Pagecontainer']); +// Forward to the main videolist page + +forward("pg/videolist/owned/".page_owner_entity()->username); + +// Remove the videolist cache +unset($_SESSION['candidate_profile_video_access_id']); unset($_SESSION['candidate_profile_video']); +unset($_SESSION['videolisttags']);unset($_SESSION['Pagecontainer']);unset($_SESSION['container_guid']); diff --git a/actions/addvideo.php b/actions/addvideo.php deleted file mode 100644 index 8be09ca3a..000000000 --- a/actions/addvideo.php +++ /dev/null @@ -1,215 +0,0 @@ - - * @copyright Prateek Choudhary - */ - -// Make sure we're logged in (send us to the front page if not) -gatekeeper(); - -// Get the current page's owner -set_page_owner($_SESSION['container_guid']); - -$page_owner = page_owner_entity(); - -if ($page_owner === false || is_null($page_owner)) { - $page_owner = $_SESSION['user']; - set_page_owner($_SESSION['guid']); -} - -if($page_owner->type == "group") { - $entity_referer = $page_owner->type.":".$page_owner->getGUID(); -} else { - $entity_referer = $page_owner->username; -} - -require_once(dirname(dirname(__FILE__)) . "/models/lib/class.vimeo.php"); - -function fetchyoutubeDatatitle($videoid){ - $buffer = file_get_contents('http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=rG48P7iz0eo&video_id='.$videoid); - /** - ** generate XML View - **/ - $xml_buffer = new SimpleXMLElement($buffer); - $vidDataTitle = $xml_buffer->video_details->title; - return $vidDataTitle; - //return ""; -} - -function fetchyoutubeDatadesc($videoid){ - $buffer = file_get_contents('http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=rG48P7iz0eo&video_id='.$videoid); - /** - ** generate XML View - **/ - $xml_buffer = new SimpleXMLElement($buffer); - $vidDataDesc = $xml_buffer->video_details->description; - return $vidDataDesc; - //return ""; -} - -function getVimeoInfoDataTitle($iGetVideoId){ - // Now lets do the search query. We will get an response object containing everything we need - $oResponse = VimeoVideosRequest::getInfo($iGetVideoId); - // We want the result videos as an array of objects - $aoVideos = $oResponse->getVideo(); - $title = $aoVideos->getTitle(); - return $title; -} - -function getVimeoInfoDataDesc($iGetVideoId){ - // Now lets do the search query. We will get an response object containing everything we need - $oResponse = VimeoVideosRequest::getInfo($iGetVideoId); - // We want the result videos as an array of objects - $aoVideos = $oResponse->getVideo(); - $description = $aoVideos->getCaption(); - return $description; -} - -function getVimeoInfoImage($iGetVideoId){ - // Now lets do the search query. We will get an response object containing everything we need - $oResponse = VimeoVideosRequest::getInfo($iGetVideoId); - // We want the result videos as an array of objects - $aoVideos = $oResponse->getVideo(); - //get all thumbnails - - $aThumbnails = array(); - foreach($aoVideos->getThumbnails() as $oThumbs) { - $aThumbnails[] = $oThumbs->getImageContent(); - } - - foreach($aThumbnails as $thumbnailArray){ - $thumbnail = $thumbnailArray; - break; - } - - return $thumbnail; -} - -function fetchyoutubeDatathumbnail($videoId){ - $thumbnail = "http://img.youtube.com/vi/".$videoId."/default.jpg"; - return $thumbnail; -} - -function metacafeFetchData($getVideoId){ - $feedURL = "http://www.metacafe.com/api/item/".$getVideoId; - $sxml = new DomDocument; - $sxml->load($feedURL); - $myitem = $sxml->getElementsByTagName('item'); - return $myitem; -} - -function fetchmetacafeTitle($getVideoId){ - $myitem = metacafeFetchData($getVideoId); - foreach($myitem as $searchNode){ - $xmlTitle = $searchNode->getElementsByTagName("title"); - $valueTitle = $xmlTitle->item(0)->nodeValue; - } - return $valueTitle; -} - -function fetchmetacafeDesc($getVideoId){ - $myitem = metacafeFetchData($getVideoId); - foreach($myitem as $searchNode){ - $xmlDesc = $searchNode->getElementsByTagName("description"); - $valueDesc = $xmlDesc->item(0)->nodeValue; - $ot = "

"; - $ct = "

"; - $string = trim($valueDesc); - $start = intval(strpos($string, $ot) + strlen($ot)); - $desc_src = substr($string,$start,intval(strpos($string,$ct) - $start)); - } - return $desc_src; -} - -function fetchmetacafeImg($getVideoId){ - $myitem = metacafeFetchData($getVideoId); - foreach($myitem as $searchNode){ - $xmlDesc = $searchNode->getElementsByTagName("description"); - $valueDesc = $xmlDesc->item(0)->nodeValue; - $pattern = '/]+src[\\s=\'"]'; - $pattern .= '+([^"\'>\\s]+)/is'; - if(preg_match($pattern,$valueDesc,$match)){ - $thumbnail = $match[1]; - } - } - return $thumbnail; -} - -$pageContainer = $_SESSION['Pagecontainer']; - - -// Initialise a new ElggObject -$videolist = new ElggObject(); -// Tell the system it's a blog post -$videolist->subtype = "videolist"; -// Set its owner to the current user -$videolist->owner_guid = $_SESSION['user']->getGUID(); - -// Set container of the video whether it was uploaded to groups or profile -$videolist->container_guid = $_SESSION['container_guid']; -// For now, set its access to public (we'll add an access dropdown shortly) -$videolist->access_id = $_SESSION['candidate_profile_video_access_id']; - -// In order to Set its title and description appropriately WE need the video ID -$videolist->url = $_SESSION['candidate_profile_video']; - -if($pageContainer == "youtube"){ - $videoIDArray = split("/v/", $videolist->url); - $videolist->video_id = $videoIDArray[1]; - // Now set the video title and description appropriately - $videolist->title = fetchyoutubeDatatitle($videoIDArray[1]); - $videolist->desc = fetchyoutubeDatadesc($videoIDArray[1]); - $videolist->thumbnail = fetchyoutubeDatathumbnail($videoIDArray[1]); - $videolist->videotype = "youtube"; -} -else if($pageContainer == "metacafe"){ - $videolist->video_id = $_SESSION['candidate_profile_video']; - // Now set the video title and description appropriately - $videolist->title = fetchmetacafeTitle($_SESSION['candidate_profile_video']); - $videolist->desc = fetchmetacafeDesc($_SESSION['candidate_profile_video']); - $videolist->thumbnail = fetchmetacafeImg($_SESSION['candidate_profile_video']); - $videolist->videotype = "metacafe"; -} -else if($pageContainer == "vimeo"){ - $videolist->video_id = $_SESSION['candidate_profile_video']; - - // Now set the video title and description appropriately - $videolist->title = getVimeoInfoDataTitle($_SESSION['candidate_profile_video']); - $videolist->desc = getVimeoInfoDataDesc($_SESSION['candidate_profile_video']); - $videolist->thumbnail = getVimeoInfoImage($_SESSION['candidate_profile_video']); - $videolist->videotype = "vimeo"; -} - -// Before we can set metadata, we need to save the blog post -if (!$videolist->save()) { - register_error(elgg_echo("videolist:error")); - forward("pg/videolist/new"); -} -//add video tags -$videolist_tags_array = string_to_tag_array($_SESSION['videolisttags']); -if (is_array($videolist_tags_array)) { - $videolist->tags = $videolist_tags_array; -} - -// add to river -add_to_river('river/object/videolist/create', 'create', $_SESSION['user']->guid, $videolist->guid); - -// add_to_river('river/object/blog/create','create',$_SESSION['user']->guid,$blog->guid); -// Success message -system_message(elgg_echo("videolist:posted")); -// Remove the videolist cache -unset($_SESSION['candidate_profile_video_access_id']); unset($_SESSION['candidate_profile_video']); -unset($_SESSION['videolisttags']);unset($_SESSION['Pagecontainer']); -// Forward to the main videolist page - -forward("pg/videolist/owned/".page_owner_entity()->username); - -// Remove the videolist cache -unset($_SESSION['candidate_profile_video_access_id']); unset($_SESSION['candidate_profile_video']); -unset($_SESSION['videolisttags']);unset($_SESSION['Pagecontainer']);unset($_SESSION['container_guid']); diff --git a/all.php b/all.php new file mode 100644 index 000000000..263702f61 --- /dev/null +++ b/all.php @@ -0,0 +1,35 @@ + + * @copyright Prateek Choudhary + */ + +// Render the video upload page +// Load Elgg engine +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); +gatekeeper(); + +// 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 objects +$area2 = elgg_view_title($title); +set_input('show_viewtype', 'all'); +$area2 .= elgg_list_entities(array('types' => 'object', 'subtypes' => 'videolist', 'container_guids' => page_owner(), 'limit' => 10, 'full_view' => TRUE, 'view_type_toggle' => FALSE, 'pagination' => TRUE)); + +set_context('videolist'); +$body = elgg_view_layout('one_column_with_sidebar',$area1. $area2); + +// Finally draw the page +page_draw($title, $body); \ No newline at end of file diff --git a/views/default/videolist/notfound.php b/views/default/videolist/notfound.php deleted file mode 100644 index b797c54f7..000000000 --- a/views/default/videolist/notfound.php +++ /dev/null @@ -1,19 +0,0 @@ - - * @copyright Curverider Ltd 2008 - * @link http://elgg.com/ - */ - -?> - -

- -

diff --git a/views/default/widgets/videolist_view/edit.php b/views/default/widgets/videolist_view/edit.php deleted file mode 100644 index 10ba89af9..000000000 --- a/views/default/widgets/videolist_view/edit.php +++ /dev/null @@ -1,23 +0,0 @@ -

-: - -num_display == '') { - $vars['entity']->num_display = 6; - } -?> - -

diff --git a/views/default/widgets/videolist_view/view.php b/views/default/widgets/videolist_view/view.php deleted file mode 100644 index cd2aa37a3..000000000 --- a/views/default/widgets/videolist_view/view.php +++ /dev/null @@ -1,60 +0,0 @@ - - * @copyright Prateek Choudhary - */ - - -//the number of files to display -$number = (int) $vars['entity']->num_display; -if (!$number) { - $number = 5; -} - -$owner = page_owner_entity(); -$owner_videos = get_entities("object", "videolist", page_owner(), $order_by="time_created desc", $limit=$number); -//echo "
"; -if ($owner_videos) { - echo '
'; - foreach($owner_videos as $videos) { - $url = $videos->url; - $title = $videos->title; - $video_id = $videos->video_id; - $videothumbnail = $videos->thumbnail; - echo '
'; - //get video cover image - echo '
'; - echo "guid."'>"; - echo ""; - echo ''; - echo '
'; - echo '
'; - echo "guid."'>"; - echo $title; - echo ''; - - $numcomments = elgg_count_comments($videos); - if ($numcomments) { - echo "
guid."\">" . sprintf(elgg_echo("comments")) . " (" . $numcomments . ")
"; - } - - echo '
'; - echo '
'; - } - - echo "
"; - echo "
"; - //get a link to the users videos - $users_video_url = $vars['url'] . "pg/videolist/owned/" . $owner->username; - echo "
"; - echo "" . elgg_echo('video:more') . ""; - echo "
"; - echo "
"; -} else { - echo elgg_echo("album:none"); -} \ No newline at end of file diff --git a/world.php b/world.php deleted file mode 100644 index 263702f61..000000000 --- a/world.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @copyright Prateek Choudhary - */ - -// Render the video upload page -// Load Elgg engine -require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); -gatekeeper(); - -// 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 objects -$area2 = elgg_view_title($title); -set_input('show_viewtype', 'all'); -$area2 .= elgg_list_entities(array('types' => 'object', 'subtypes' => 'videolist', 'container_guids' => page_owner(), 'limit' => 10, 'full_view' => TRUE, 'view_type_toggle' => FALSE, 'pagination' => TRUE)); - -set_context('videolist'); -$body = elgg_view_layout('one_column_with_sidebar',$area1. $area2); - -// Finally draw the page -page_draw($title, $body); \ No newline at end of file -- cgit v1.2.3