* @copyright Prateek Choudhary */ // Get the current page's owner //set_page_owner($_SESSION['container_guid']); $page_ownerx = get_entity(get_input('container')); if(!$page_ownerx) { $page_ownerx = get_user_by_username(get_input('container')); } set_page_owner($page_ownerx->getGUID()); $page_owner = page_owner_entity(); if($page_owner->type == "group") { $container = "group:".$page_ownerx->getGUID(); } else { $container = $page_ownerx->username; } if ($page_owner === false || is_null($page_owner)) { $page_owner = $_SESSION['user']; set_page_owner($_SESSION['guid']); } $queryFeed = get_input('q'); $start_index = get_input('start_index'); $results_perpage = 10; $queryCatgory = get_input('page'); if (!isset($queryFeed) || empty($queryFeed)) { } else { $q = $queryFeed; if($queryCatgory == "youtube") { $feedURL = "http://gdata.youtube.com/feeds/api/videos?vq=".$queryFeed."&orderby=relevance&start-index=".$start_index."&max-results=10"; $sxml = simplexml_load_file($feedURL); $counts = $sxml->children('http://a9.com/-/spec/opensearchrss/1.0/'); $total = $counts->totalResults; $startOffset = $counts->startIndex; $endOffset = ($startOffset-1) + $counts->itemsPerPage; $body = ''; $body .= '
'; $k = 0;$counter = 0; foreach ($sxml->entry as $entry) { $k++; $media = $entry->children('http://search.yahoo.com/mrss/'); $attrs = $media->group->player->attributes(); $watch = $attrs['url']; $vid_array = explode("?v=", $watch); if(preg_match("/&/", $vid_array[1])){ $vid_array = explode("&", $vid_array[1]); $vid_array[1] = $vid_array[0]; } $attrs = $media->group->thumbnail[0]->attributes(); $thumbnail = $attrs['url']; $yt = $media->children('http://gdata.youtube.com/schemas/2007'); $attrs = $yt->duration->attributes(); $length = $attrs['seconds']; $gd = $entry->children('http://schemas.google.com/g/2005'); if ($gd->rating) { $attrs = $gd->rating->attributes(); $rating = $attrs['average']; } else { $rating = 0; } $tags = array(); $tags[] = $media->group->keywords; $showEncodedVideo = preg_replace('/(http:)(\/\/)(www.)([^ \/"]*)([^ >"]*)watch\?(v=)([^ >"]*)/i', '$1$2$3$4$5v/$7', $watch); $body .= '
'; $body .= ''; $body .= ''; $body .= ''; $body .= ""; $body .= ''; $body .= '
'; $body .= ""; $body .= '
'; $body .= "

".$media->group->title."

"; $body .= "

Duration : " . sprintf("%0.2f", $length/60) . " min.
user rating : ".$rating."
"; $body .= "Description : ".substr($media->group->description, 0, 140)." ...

"; $body .= '
".elgg_echo('videolist:play:video')." ".elgg_echo('videolist:add:video')."
'; } $body .= '
'; print $body; } else if($queryCatgory == "metacafe") { $feedURL = "http://www.metacafe.com/api/videos/?vq=".$queryFeed."&orderby=rating&start-index=".$start_index."&max-results=10"; $sxml = new DomDocument; $sxml->load($feedURL); $total = 999; $startOffset = $start_index; $endOffset = ($startOffset-1) + $results_perpage; $body = ''; $k = 0; $body .= '
'; $myitem = $sxml->getElementsByTagName('item'); foreach($myitem as $searchNode) { $k++; $xmlTitle = $searchNode->getElementsByTagName("title"); $valueTitle = $xmlTitle->item(0)->nodeValue; $xmlLink = $searchNode->getElementsByTagName("link"); $valueLink = $xmlLink->item(0)->nodeValue; $xmlDesc = $searchNode->getElementsByTagName("description"); $valueDesc = $xmlDesc->item(0)->nodeValue; $pattern = '/]+src[\\s=\'"]'; $pattern .= '+([^"\'>\\s]+)/is'; if(preg_match($pattern,$valueDesc,$match)){ $thumbnail = $match[1]; } $pattern = '/]+href[\\s=\'"]'; $pattern .= '+([^"\'>\\s]+)/is'; if(preg_match($pattern,$valueDesc,$match)){ $anchor_src = $match[1]; } $encodedVideoUrlArray = explode("/watch/", $valueLink); $showEncodedVideo = $encodedVideoUrlArray[1]; $metacafevideoIdArray = explode("/", $showEncodedVideo); $ot = "

"; $ct = "

"; $string = trim($valueDesc); $start = intval(strpos($string, $ot) + strlen($ot)); $desc_src = substr($string,$start,intval(strpos($string,$ct) - $start)); $body .= '
'; $body .= ''; $body .= ''; $body .= ''; $body .= ''; $body .= ""; $body .= ''; $body .= '
'; $body .= ""; $body .= '
'; $body .= "

".$valueTitle."

"; $body .= "

Description : ".$desc_src."

"; $body .= '
".elgg_echo('videolist:play:video')." ".elgg_echo('videolist:add:video')."
'; $body .= '
'; } $body .= '
'; print $body; } else if($queryCatgory == "vimeo") { require_once(dirname(dirname(__FILE__)) . "/models/lib/class.vimeo.php"); // Now lets do the search query. We will get an response object containing everything we need $oResponse = VimeoVideosRequest::search($queryFeed); // We want the result videos as an array of objects $aoVideos = $oResponse->getVideos(); // Just for code completion $oVideo = new VimeoVideoEntity(); $total = count($aoVideos); $startOffset = $start_index; $endOffset = ($startOffset-1) + $results_perpage; $body = ''; $body .= '
'; $counter = 0;$k = 0; foreach($aoVideos as $oVideo) { $k++; if(($counter > $startOffset) && ($counter < $endOffset)) { //get all thumbnails $aThumbnails = array(); foreach($oVideo->getThumbnails() as $oThumbs) { $aThumbnails[] = $oThumbs->getImageContent(); } foreach($aThumbnails as $thumbnailArray){ $thumbnail = $thumbnailArray; break; } //print_r($oVideo); $title = $oVideo->getTitle(); $description = $oVideo->getCaption(); $url = $oVideo->getUrl(); $rating = $oVideo->getNumberOfLikes(); $playedTimes = $oVideo->getNumberOfPlays(); // Print all tags $aTags = array(); foreach($oVideo->getTags() as $oTag) { $aTags[] = $oTag->getTag(); } $play_idArray = explode("http://vimeo.com/", $url); $embedidArray = explode("/", $play_idArray[1]); $body .= '
'; $body .= ''; $body .= ''; $body .= ''; $body .= ''; $body .= ""; $body .= ''; $body .= '
'; $body .= ""; $body .= '
'; $body .= "

".$title."

"; $body .= "

User Likes : ".$rating."
"; $body .= "Played : ".$playedTimes." times
"; $body .= "Description : ".$description." ...
"; $body .= "Tags : ".implode(', ', $aTags)."

"; $body .= '
".elgg_echo('videolist:play:video')." ".elgg_echo('videolist:add:video')."
'; $body .= '
'; } $counter++; } $body .= '
'; print $body; } } exit;