diff options
-rw-r--r-- | actions/videolist/tubesearch.php | 316 | ||||
-rw-r--r-- | models/lib/class.vimeo.php | 3583 | ||||
-rw-r--r-- | pages/videolist/browse.php | 49 | ||||
-rw-r--r-- | views/default/forms/videolist/browsetube.php | 251 | ||||
-rw-r--r-- | views/default/forms/videolist/labels/googlevideos.php | 27 | ||||
-rw-r--r-- | views/default/forms/videolist/labels/metacafe.php | 27 | ||||
-rw-r--r-- | views/default/forms/videolist/labels/vimeo.php | 27 | ||||
-rw-r--r-- | views/default/forms/videolist/labels/youtube.php | 27 | ||||
-rw-r--r-- | views/default/river/object/videolist/annotate.php | 11 | ||||
-rw-r--r-- | views/default/river/object/videolist/create.php | 32 | ||||
-rw-r--r-- | views/default/staticvideo/index.php | 53 | ||||
-rw-r--r-- | views/default/videolist/group_video_header.php | 22 | ||||
-rw-r--r-- | views/default/videolist/icon.php | 36 |
13 files changed, 0 insertions, 4461 deletions
diff --git a/actions/videolist/tubesearch.php b/actions/videolist/tubesearch.php deleted file mode 100644 index 761bbb41e..000000000 --- a/actions/videolist/tubesearch.php +++ /dev/null @@ -1,316 +0,0 @@ -<?php -/** - * Elgg Video Plugin - * This plugin allows users to create a library of youtube/vimeo/metacafe videos - * @file - allows search for video from vimeo/youtube/and metacafe - * @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 - */ - -// 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 = '<div class="pagination">'; - $rem = floor($total/10); - $rem*=10; - if($rem<$total) - $last = $rem+1; - $lpVid = $total - $rem; - if($startOffset==1 && ($endOffset)==$total){} - else if($startOffset==1 && ($endOffset)<$total){ - $body .= '<a href="javascript:void(0);">first</a> | '; - $body .= '<a href="javascript:void(0);">previous</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($endOffset+1).');">next</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.$last.');">last</a>'; - } - else if($startOffset>1 && ($endOffset)<$total){ - $body .= '<a href="javascript:sendSearchRequest(1);">first</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($startOffset-10).');">previous</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($endOffset+1).');">next</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.$last.');">last</a>'; - } - else if($startOffset>1 && ($endOffset+$lpVid)>=$total){ - $body .= '<a href="javascript:sendSearchRequest(1);">first</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($startOffset-10).');">previous</a> | '; - $body .= '<a href="javascript:void(0);">next</a> | '; - $body .= '<a href="javascript:void(0);">last</a>'; - } - $body .= '</div>'; - $body .= '<div id="videosearch_results">'; - $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 .= '<div class="video_entity clearfloat"><table id="parentTab" cellpadding="0" cellspacing="0" border="0">'; - $body .= '<tr class="searchvideorow">'; - - $body .= '<td class="tabcellText" width="15%">'; - $body .= "<span><a href=\"javascript:void(0);\" onclick=\"showV_idFeed('".$showEncodedVideo."', ".$k.")\"><img src=\"".$thumbnail."\" width=\"90%\" height=\"90%\"/></a></span>"; - $body .= '<div id="vidContainer'.$k.'" class="video_popup"></div></td>'; - - $body .= '<td class="tabcellDesc" width="60%">'; - $body .= "<p class='entity_title'><a href=\"javascript:void(0);\" onclick=\"showV_idFeed('".$showEncodedVideo."', ".$k.")\">".$media->group->title."</a></p>"; - $body .= "<p class='entity_subtext'><b>Duration : </b>" . sprintf("%0.2f", $length/60) . " min.<br /><b>user rating : </b>".$rating."<br/>"; - $body .= "<b>Description : </b>".substr($media->group->description, 0, 140)." ...</p>"; - $body .= '</td>'; - - $body .= "<td class='video_actions'><a class='action_button small' onclick=\"javascript:showV_idFeed('".$showEncodedVideo."', ".$k.")\">".elgg_echo('videolist:play:video')."</a> <a class='action_button small' href=\"".elgg_get_site_url()."videolist/new/".$container."/title_videourl/".$vid_array[1]."/page/".$queryCatgory."\">".elgg_echo('videolist:add:video')."</a></td>"; - - $body .= '</tr>'; - $body .= '</table></div>'; - } - $body .= '</div>'; - 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 = '<div class="pagination">'; - $rem = floor($total/10); - $rem*=10; - if($rem<$total) { - $last = $rem+1; - } - $lpVid = $total - $rem; - if($startOffset==1 && ($endOffset)==$total) { - - } else if($startOffset==1 && ($endOffset)<$total){ - $body .= '<a href="javascript:void(0);">first</a> | '; - $body .= '<a href="javascript:void(0);">previous</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($endOffset+1).');">next</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.$last.');">last</a>'; - } else if($startOffset>1 && ($endOffset)<$total) { - $body .= '<a href="javascript:sendSearchRequest(1);">first</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($startOffset-10).');">previous</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($endOffset+1).');">next</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.$last.');">last</a>'; - } else if($startOffset>1 && ($endOffset+$lpVid)>=$total) { - $body .= '<a href="javascript:sendSearchRequest(1);">first</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($startOffset-10).');">previous</a> | '; - $body .= '<a href="javascript:void(0);">next</a> | '; - $body .= '<a href="javascript:void(0);">last</a>'; - } - - $body .= '</div>'; - $k = 0; - $body .= '<div id="videosearch_results">'; - $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 = '/<img[^>]+src[\\s=\'"]'; - $pattern .= '+([^"\'>\\s]+)/is'; - if(preg_match($pattern,$valueDesc,$match)){ - $thumbnail = $match[1]; - } - - $pattern = '/<a[^>]+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 = "<p>"; - $ct = "</p>"; - $string = trim($valueDesc); - $start = intval(strpos($string, $ot) + strlen($ot)); - $desc_src = substr($string,$start,intval(strpos($string,$ct) - $start)); - - $body .= '<div class="video_entity clearfloat">'; - $body .= '<table id="parentTab" cellpadding="0" cellspacing="0" border="0">'; - $body .= '<tr class="searchvideorow">'; - - $body .= '<td class="tabcellText" width="15%">'; - $body .= "<span><a href=\"javascript:void(0);\" onclick=\"showV_idFeedMetacafe('".$showEncodedVideo."', ".$k.")\"><img src=\"".$thumbnail."\" width=\"90%\" height=\"90%\"/></a></span>"; - $body .= '<div id="vidContainer'.$k.'" class="video_popup"></div></td>'; - - $body .= '<td class="tabcellDesc" width="60%">'; - $body .= "<p class='entity_title'><a href=\"javascript:void(0);\" onclick=\"showV_idFeedMetacafe('".$showEncodedVideo."', ".$k.")\">".$valueTitle."</a></p>"; - $body .= "<p class='entity_subtext'><b>Description : </b>".$desc_src."</p>"; - $body .= '</td>'; - - $body .= "<td class='video_actions'><a class='action_button small' onclick=\"javascript:showV_idFeedMetacafe('".$showEncodedVideo."', ".$k.")\">".elgg_echo('videolist:play:video')."</a> <a class='action_button small' href=\"".elgg_get_site_url()."videolist/new/".$container."/title_videourl/".$metacafevideoIdArray[0]."/page/".$queryCatgory."\">".elgg_echo('videolist:add:video')."</a></td>"; - - $body .= '</tr>'; - $body .= '</table>'; - $body .= '</div>'; - } - $body .= '</div>'; - 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 = '<div class="pagination">'; - $rem = floor($total/10); - $rem*=10; - if($rem<$total) { - $last = $rem+1; - } - $lpVid = $total - $rem; - if($startOffset==1 && ($endOffset)==$total) { - - } else if($startOffset==1 && ($endOffset)<$total) { - $body .= '<a href="javascript:void(0);">first</a> | '; - $body .= '<a href="javascript:void(0);">previous</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($endOffset+1).');">next</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.$last.');">last</a>'; - } else if($startOffset>1 && ($endOffset)<$total) { - $body .= '<a href="javascript:sendSearchRequest(1);">first</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($startOffset-10).');">previous</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($endOffset+1).');">next</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.$last.');">last</a>'; - } else if($startOffset>1 && ($endOffset+$lpVid)>=$total) { - $body .= '<a href="javascript:sendSearchRequest(1);">first</a> | '; - $body .= '<a href="javascript:sendSearchRequest('.($startOffset-10).');">previous</a> | '; - $body .= '<a href="javascript:void(0);">next</a> | '; - $body .= '<a href="javascript:void(0);">last</a>'; - } - $body .= '</div>'; - $body .= '<div id="videosearch_results">'; - $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 .= '<div class="video_entity clearfloat">'; - $body .= '<table id="parentTab" cellpadding="0" cellspacing="0" border="0">'; - $body .= '<tr class="searchvideorow">'; - - $body .= '<td class="tabcellText" width="15%">'; - $body .= "<span><a href=\"javascript:showV_idFeedVimeo('".$embedidArray[0]."', ".$k.")\"><img src=\"".$thumbnail."\" width=\"90%\" height=\"90%\"/></a></span>"; - $body .= '<div id="vidContainer'.$k.'" class="video_popup"></div></td>'; - - $body .= '<td class="tabcellDesc" width="60%">'; - $body .= "<p class='entity_title'><a href=\"javascript:void(0);\" onclick=\"javascript:showV_idFeedVimeo('".$embedidArray[0]."', ".$k.")\">".$title."</a></p>"; - $body .= "<p class='entity_subtext'><b>User Likes : </b>".$rating."<br/>"; - $body .= "<b>Played : </b>".$playedTimes." times<br/>"; - $body .= "<b>Description : </b>".$description." ...<br/>"; - $body .= "<b>Tags : </b>".implode(', ', $aTags)."</p>"; - $body .= '</td>'; - - $body .= "<td class='video_actions'><a class='action_button small' onclick=\"javascript:showV_idFeedVimeo('".$embedidArray[0]."', ".$k.")\">".elgg_echo('videolist:play:video')."</a> <a class='action_button small' href=\"".elgg_get_site_url()."videolist/new/".$container."/title_videourl/".$embedidArray[0]."/page/".$queryCatgory."\">".elgg_echo('videolist:add:video')."</a></td>"; - - $body .= '</tr>'; - $body .= '</table>'; - $body .= '</div>'; - } - $counter++; - } - $body .= '</div>'; - print $body; - } -} - -exit; diff --git a/models/lib/class.vimeo.php b/models/lib/class.vimeo.php deleted file mode 100644 index e44837fae..000000000 --- a/models/lib/class.vimeo.php +++ /dev/null @@ -1,3583 +0,0 @@ -<?php -/** -* SimpleVimeo -* -* API Framework for vimeo.com -* @package SimpleVimeo -* @author Adrian Rudnik <adrian@periocode.de> -* @link http://code.google.com/p/php5-simplevimeo/ -*/ - -/** -* Enable debug to output raw request and response information -*/ - -define('VIMEO_DEBUG_REQUEST', true); -define('VIMEO_DEBUG_RESPONSE', true); - -/** -* Vimeo base class -* -* Provides vital functions to API (access, permission and object handling) -* -* @package SimpleVimeo -* @subpackage Base -*/ - -class VimeoBase { - - const PROJECT_NAME = 'php5-simplevimeo'; - - /** - * Currently logged in user object - * @var VimeoUserEntity - */ - private static $oUser = false; - - /** - * Currently logged in user permission - * @var string - */ - private static $ePermission = false; - - /** - * Currently logged in user token - * @var string - */ - private static $sToken = false; - - /** - * Vimeo Application API key - * @var string - */ - private static $sApiKey = '7a223534b3c1d0979a954f93cb746173 '; - - /** - * Vimeo Application API secret key - * @var string - */ - private static $sApiSecret = 'b11e83370'; - - const VIMEO_REST_URL = 'http://vimeo.com/api/rest/'; - const VIMEO_AUTH_URL = 'http://vimeo.com/services/auth/'; - const VIMEO_UPLOAD_URL = 'http://vimeo.com/services/upload/'; - const VIMEO_LOGIN_URL = 'http://vimeo.com/log_in'; - - /** - * You can choose between the following engines: - * executeRemoteCall_FSOCK = PHP5 file_get_content and stream_contexts (bad error handling) - * executeRemoteCall_CURL = CURL is used for file transfer (better error handling) - */ - const REQUEST_ENGINE_CURL = 'executeRemoteCall_CURL'; - const VIDEOPOST_ENGINE_FSOCK = 'executeVideopostCall_CURL'; - - const PERMISSION_NONE = false; - const PERMISSION_READ = 'read'; - const PERMISSION_WRITE = 'write'; - const PERMISSION_DELETE = 'delete'; - - const COOKIE_FILE = '/tmp/simplevimeo.cookies'; - - const DEBUG_ENABLE = false; - const DEBUG_LOGFILE = '/tmp/simplevimeo.debug'; - - /** - * Debug output function - */ - public static function debug($sTitle, $sContent) { - if(self::DEBUG_ENABLE) { - $sMessage = 'DEBUG ' . date('Y-m-d H:i:s', time()) . "\n"; - $sMessage .= 'CONTENT: ' . $sContent . "\n"; - $sMesasge .= $sContent . "\n\n"; - - $fhLog = fopen(self::DEBUG_LOGFILE, 'a+'); - - if(!$fhLog) { - throw new VimeoBaseException('Debug Logfile "' . self::DEBUG_LOGFILE . '" could not be found or written'); - } else { - fputs($fhLog, $sMessage); - fclose($fhLog); - } - } - } - - /** - * Update Authentication - * - * Initializes user and permission information if a token is present. - * You can alter this method or skip it if you store user information - * and permission in an external database. Then i would recommend a - * VimeoAuthRequest::checkLoogin for confirmation. - * - * @access private - * @return void - */ - private function updateAuthentication() { - if(self::$sToken && (!self::$ePermission || !self::$oUser)) { - $oResponse = VimeoAuthRequest::checkToken(self::$sToken); - - // Parse user - self::$oUser = $oResponse->getUser(); - - // Parse permission - self::$ePermission = $oResponse->getPermission(); - } - } - - /** - * Check permission - * - * Checks the current user permission with the given one. This will be - * heavily used by the executeRemoteCall method to ensure the user - * will not run into trouble. - * - * @access public - * @param string Needed Permission - * @return boolean TRUE if access can be granted, FALSE if permission denied - */ - public function checkPermission($ePermissionNeeded) { - // Update authentication data before permission check - self::updateAuthentication(); - - // Permission DELETE check - if($ePermissionNeeded == self::PERMISSION_DELETE && self::$ePermission == self::PERMISSION_DELETE) { - return true; - } - - // Permission WRITE check - if($ePermissionNeeded == self::PERMISSION_WRITE && (self::$ePermission == self::PERMISSION_DELETE || self::$ePermission == self::PERMISSION_WRITE)) { - return true; - } - - // Permission READ check - if($ePermissionNeeded == self::PERMISSION_READ && (self::$ePermission == self::PERMISSION_DELETE || self::$ePermission == self::PERMISSION_WRITE || self::$ePermission == self::PERMISSION_READ)) { - return true; - } - - return false; - } - - /** - * Proxy for API queries - * - * Will check permission for the requested API method as well as type - * of the object result response or exception. Will call the given - * API query handler method (default: executeRemoteCall_CURL) for - * the raw connection stuff - * - * @access public - * @param string API method name - * @param array Additional arguments that need to be passed to the API - * @return VimeoResponse Response object of API corresponding query (for vimeo.test.login you will get VimeoTestLoginResponse object) - */ - public function executeRemoteCall($sMethod, $aArgs = array()) { - // Get exception handler - $sExceptionClass = VimeoMethod::getExceptionObjectForMethod($sMethod); - - // Check for errors in parameters - $sTargetClass = VimeoMethod::getTargetObjectForMethod($sMethod); - - // Get the permission needed to run this method - $ePermissionNeeded = VimeoMethod::getPermissionRequirementForMethod($sMethod); - - // If permission requirement is not met refuse to even call the API, safes bandwith for both ends - if($ePermissionNeeded != VimeoBase::PERMISSION_NONE && !self::checkPermission($ePermissionNeeded)) { - throw new $sExceptionClass('Permission error: "' . VimeoMethod::getPermissionRequirementForMethod($sMethod) . '" needed, "' . self::$ePermission . '" given'); - } - - // Append method to request arguments - $aArgs['method'] = $sMethod; - - // Check that the API query handler method exists and can be called - if(!method_exists(__CLASS__, self::REQUEST_ENGINE_CURL)) { - throw new VimeoBaseException('Internal error: Request engine handler method not found', 2); - } - - // Build up the needed API arguments - - // Set API key - $aArgs['api_key'] = self::$sApiKey; - - // Set request format - $aArgs['format'] = 'php'; - - // Set token - if(self::$sToken) $aArgs['auth_token'] = self::$sToken; - - // Generate signature - $aArgs['api_sig'] = self::buildSignature($aArgs); - - // Do the request - $aResponse = call_user_func(array(__CLASS__, self::REQUEST_ENGINE_CURL), $aArgs); - - // Debug request - if(defined('VIMEO_DEBUG_REQUEST') && VIMEO_DEBUG_REQUEST) { - self::debug('API request', print_r($aArgs, true)); - } - - // Debug response - if(defined('VIMEO_DEBUG_RESPONSE') && VIMEO_DEBUG_RESPONSE) { - self::debug('API response', print_r($aResponse, true)); - } - - // Transform the result into a result class - $oResult = new $sTargetClass($aResponse); - - // Check if request was successfull - if(!$oResult->getStatus()) { - // If not, create an given exception class for the given method and pass through error code and message - throw new $sExceptionClass($oResult->getError()->getMessage(), $oResult->getError()->getCode()); - } - - // Return the base class object instance for the corresponding API query - return $oResult; - } - - /** - * Execute raw API query with CURL - * - * Implements CURL API queries in php format response - * - * @author Ted Roden - * @access private - * @param array Additional arguments for the API query - * @return stdClass Simple PHP object enclosing the API result - */ - private function executeRemoteCall_CURL($aArgs) { - $ch = curl_init(self::VIMEO_REST_URL); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, $aArgs); - curl_setopt($ch, CURLOPT_USERAGENT, self::PROJECT_NAME); - - $data = curl_exec($ch); - if(curl_errno($ch)) - throw new VimeoRequestException('executeRemoteCall_CURL error: ' . curl_error($ch), curl_errno($ch)); - else { - curl_close($ch); - - if(!$data || strlen(trim($data)) < 2) { - throw new VimeoRequestException('API request error: No result returned.', 1); - } - return unserialize($data); - } - } - - /** - * Execute raw API query with FSOCK - * - * Implements FSOCK API queries in php format response - * - * @access private - * @param array Additional arguemnts for the API query - * @return stdClass Simple PHP object enclosing the API result - */ - private function executeRemoteCall_FSOCK($aArgs) { - $sResponse = file_get_contents(self::VIMEO_REST_URL, NULL, stream_context_create(array('http' => array('method' => 'POST', 'header'=> 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($aArgs))))); - if(!$sResponse || strlen(trim($sResponse)) < 2) { - throw new VimeoRequestException('API request error: No result returned.', 1); - } else { - return unserialize($sResponse); - } - } - - /** - * Proxy for video uploads - * - * Will call the given video upload handler method (default: executeVideopostCall_FSOCK) - * for the raw connection and send stuff - * - * @access public - * @param string Local filename to be transfered - * @param string Ticket - * @return string VimeoVideosCheckUploadStatusResponse - */ - public function executeVideopostCall($sFilename, $sTicket = false) { - // Check that the upload query handler method exists and can be called - if(!method_exists(__CLASS__, self::VIDEOPOST_ENGINE_FSOCK)) { - throw new VimeoUploadException('Upload error: Videopost engine handler method not found', 1); - } - - // If permission requirement is not met refuse to even call the API, safes bandwith for both ends - if(!self::checkPermission(VimeoBase::PERMISSION_WRITE)) { - throw new VimeoUploadException('Upload error: Missing "write" permission for current user', 2); - } - - // Check that the file exists - if(!file_exists($sFilename)) { - throw new VimeoUploadException('Upload error: Local file does not exists', 3); - } - - // Check that the file is readable - if(!is_readable($sFilename)) { - throw new VimeoUploadException('Upload error: Local file is not readable', 4); - } - - // Check that the file size is not larger then the allowed size you can upload - $oResponse = VimeoPeopleRequest::getUploadStatus(); - if(filesize($sFilename) > $oResponse->getRemainingBytes()) { - throw new VimeoUploadException('Upload error: Videosize exceeds remaining bytes', 5); - } - - // Try to get a upload ticket - if(!$sTicket) { - $oResponse = VimeoVideosRequest::getUploadTicket(); - $sTicket = $oResponse->getTicket(); - } - - // Build up the needed API arguments - - // Set API key - $aArgs['api_key'] = self::$sApiKey; - - // Set request format - $aArgs['format'] = 'php'; - - // Set token - if(self::$sToken) $aArgs['auth_token'] = self::$sToken; - - // Set ticket - $aArgs['ticket_id'] = $sTicket; - - // Generate signature - $aArgs['api_sig'] = self::buildSignature($aArgs); - - // Set file - $aArgs['file'] = "@$sFilename"; - - // Do the upload - $sResponse = call_user_func(array(__CLASS__, self::VIDEOPOST_ENGINE_FSOCK), $aArgs); - - // Call vimeo.videos.checkUploadStatus to prevent abandoned status - return VimeoVideosRequest::checkUploadStatus($sTicket); - } - - private function executeVideopostCall_CURL($aArgs) { - // Disable time limit - set_time_limit(0); - - $ch = curl_init(self::VIMEO_UPLOAD_URL); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, $aArgs); - curl_setopt($ch, CURLOPT_USERAGENT, self::PROJECT_NAME); - - $data = curl_exec($ch); - if(curl_errno($ch)) - throw new VimeoRequestException('executeRemoteCall_CURL error: ' . curl_error($ch), curl_errno($ch)); - else { - curl_close($ch); - return unserialize($data); - } - } - - /** - * Build API query signature - * - * Composes the signature needed to verify its really us doing the query - * - * @author Ted Roden - * @access private - * @param array Additional arguments for the API query - * @return string MD5 signature - */ - private static function buildSignature($aArgs) { - $s = ''; - - // sort by name - ksort($aArgs); - - foreach($aArgs as $k => $v) - $s .= $k . $v; - - return(md5(self::$sApiSecret . $s)); - } - - /** - * Build authentication URL - * - * Easy way to build a correct authentication url. You can use this - * to link the user directly to the correct vimeo authentication page. - * - * @access public - * @param string Permission level you need the user to give you (i.e. VimeoBase::PERMISSION_READ) - * @return string URL you can use to directly link the user to the vimeo authentication page - */ - public static function buildAuthenticationUrl($ePermission) { - - $aArgs = array( - 'api_key' => self::$sApiKey, - 'perms' => $ePermission - ); - - return self::VIMEO_AUTH_URL . '?api_key=' . self::$sApiKey . '&perms=' . $ePermission . '&api_sig=' . self::buildSignature($aArgs); - } - - /** - * Get current logged in user token - * - * @access public - * @return string Token or FALSE if not logged in - */ - public static function getToken() { - return self::$sToken; - } - - /** - * Set current logged in user token - * - * @access public - * @param string Authentication token - * @return void - */ - public static function setToken($sToken) { - self::$sToken = $sToken; - } - - /** - * Clear current logged in user token - * - * Removes the current logged in user from the cache. Next API query - * will be made as clean, not logged in, request. - * - * @access public - * @return void - */ - public static function clearToken() { - self::$sToken = false; - } - - /** - * Execute a permit request - * - * ONLY USED IN SITE-MODE, see howto.autologin.php - * Permits the current CURL cached user with your vimeo API application - * - * @access public - * @param string Permission - * @return string Vimeo Token - */ - public function permit($ePermission) { - // Disable time limit - set_time_limit(0); - - // Construct login data - $aArgs = array( - 'api_key' => VimeoBase::$sApiKey, - 'perms' => $ePermission, - 'accept' => 'yes' - ); - $ch = curl_init(VimeoBase::buildAuthenticationUrl($ePermission)); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, $aArgs); - curl_setopt($ch, CURLOPT_USERAGENT, self::PROJECT_NAME); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); - curl_setopt($ch, CURLOPT_COOKIEFILE, VimeoBase::COOKIE_FILE); - curl_setopt($ch, CURLOPT_COOKIEJAR, VimeoBase::COOKIE_FILE); - - $sPageContent = curl_exec($ch); - if(curl_errno($ch)) { - throw new VimeoRequestException('Error: Tried to login failed ' . curl_error($ch), curl_errno($ch)); - return false; - } else { - $sResponseUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); - - } - return $sPageContent; - } - - /** - * Ensures that the user is logged in - * - * ONLY USED IN SITE-MODE, see howto.autologin.php - * Ensures the site-account is logged in - * - * @access public - * @param string Username - * @param string Password - * @return boolean TRUE if user could be logged in, FALSE if an error occured (try manually to see error) - */ - public function login($sUsername, $sPassword) { - // Disable time limit - set_time_limit(0); - - // Construct login data - $aArgs = array( - 'sign_in[email]' => $sUsername, - 'sign_in[password]' => $sPassword, - 'redirect' => '' - ); - - $ch = curl_init(VimeoBase::VIMEO_LOGIN_URL); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, $aArgs); - curl_setopt($ch, CURLOPT_USERAGENT, self::PROJECT_NAME); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); - curl_setopt($ch, CURLOPT_COOKIEFILE, VimeoBase::COOKIE_FILE); - curl_setopt($ch, CURLOPT_COOKIEJAR, VimeoBase::COOKIE_FILE); - - $sPageContent = curl_exec($ch); - - if(curl_errno($ch)) { - throw new VimeoRequestException('Error: Tried to login failed ' . curl_error($ch), curl_errno($ch)); - return false; - } else { - $sResponseUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); - curl_close($ch); - } - - if(stristr($sResponseUrl, 'log_in') !== false) { - // Login failed - return false; - } else { - return true; - } - } -} - -/** -* Vimeo base exception class -* -* Every exception caused by VimeoBase class will be of this type -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoBaseException extends VimeoException {} - -/** -* Vimeo request exception class -* -* Exception thrown when requesting the API failed -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoRequestException extends VimeoException {} - -/** -* Vimeo upload exception class -* -* Exception thrown when uploading a video failed -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoUploadException extends VimeoException {} - -/** -* Vimeo API method handler class -* -* This class will ensure that only functions can be called if the method is implemented -* and the permission is right (p). It also states what the source (s), result (t) and -* exception (e) object will be. -* -* @package SimpleVimeo -* @subpackage Base -*/ - -class VimeoMethod { - - private static $aMethods = array( - // Vimeo Test methods - 'vimeo.test.login' => array( 's' => 'VimeoTestRequest', - 't' => 'VimeoTestLoginResponse', - 'e' => 'VimeoTestLoginException', - 'p' => VimeoBase::PERMISSION_READ), - - 'vimeo.test.echo' => array( 's' => 'VimeoTestRequest', - 't' => 'VimeoTestEchoResponse', - 'e' => 'VimeoTestEchoException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.test.null' => array( 's' => 'VimeoTestRequest', - 't' => 'VimeoTestNullResponse', - 'e' => 'VimeoTestNullException', - 'p' => VimeoBase::PERMISSION_READ), - - // Vimeo Auth methods - 'vimeo.auth.getToken' => array( 's' => 'VimeoAuthRequest', - 't' => 'VimeoAuthGetTokenResponse', - 'e' => 'VimeoAuthGetTokenException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.auth.getFrob' => array( 's' => 'VimeoAuthRequest', - 't' => 'VimeoAuthGetFrobResponse', - 'e' => 'VimeoAuthGetFrobException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.auth.checkToken' => array( 's' => 'VimeoAuthRequest', - 't' => 'VimeoAuthCheckTokenResponse', - 'e' => 'VimeoAuthCheckTokenException', - 'p' => VimeoBase::PERMISSION_NONE), - - // Vimeo Videos methods - 'vimeo.videos.getList' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetListResponse', - 'e' => 'VimeoVideosGetListException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getUploadedList' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetUploadedListResponse', - 'e' => 'VimeoVideosGetUploadedListException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getAppearsInList' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetAppearsInListResponse', - 'e' => 'VimeoVideosGetAppearsInListException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getSubscriptionsList' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetSubscriptionsListResponse', - 'e' => 'VimeoVideosGetSubscriptionsListException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getListByTag' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetListByTagResponse', - 'e' => 'VimeoVideosGetListByTagException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getLikeList' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetLikeListResponse', - 'e' => 'VimeoVideosGetLikeListException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getContactsList' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetContactsListResponse', - 'e' => 'VimeoVideosGetContactsListException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getContactsLikeList' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetContactsLikeListResponse', - 'e' => 'VimeoVideosGetContactsLikeListException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.search' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosSearchResponse', - 'e' => 'VimeoVideosSearchException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getInfo' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetInfoResponse', - 'e' => 'VimeoVideosGetInfoException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.videos.getUploadTicket' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosGetUploadTicketResponse', - 'e' => 'VimeoVideosGetUploadTicketException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.videos.checkUploadStatus' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosCheckUploadStatusResponse', - 'e' => 'VimeoVideosCheckUploadStatusException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.videos.delete' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosDeleteResponse', - 'e' => 'VimeoVideosDeleteException', - 'p' => VimeoBase::PERMISSION_DELETE), - - 'vimeo.videos.setTitle' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosSetTitleResponse', - 'e' => 'VimeoVideosSetTitleException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.videos.setCaption' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosSetCaptionResponse', - 'e' => 'VimeoVideosSetCaptionException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.videos.setFavorite' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosSetFavoriteResponse', - 'e' => 'VimeoVideosSetFavoriteException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.videos.addTags' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosAddTagsResponse', - 'e' => 'VimeoVideosAddTagsException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.videos.removeTag' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosRemoveTagResponse', - 'e' => 'VimeoVideosRemoveTagException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.videos.clearTags' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosClearTagsResponse', - 'e' => 'VimeoVideosClearTagsException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.videos.setPrivacy' => array( 's' => 'VimeoVideosRequest', - 't' => 'VimeoVideosSetPrivacyResponse', - 'e' => 'VimeoVideosSetPrivacyException', - 'p' => VimeoBase::PERMISSION_WRITE), - - // Vimeo People methods - 'vimeo.people.findByUserName' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleFindByUsernameResponse', - 'e' => 'VimeoPeopleFindByUsernameException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.people.findByEmail' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleFindByEmailResponse', - 'e' => 'VimeoPeopleFindByEmailException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.people.getInfo' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleGetInfoResponse', - 'e' => 'VimeoPeopleGetInfoException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.people.getPortraitUrl' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleGetPortraitUrlResponse', - 'e' => 'VimeoPeopleGetPortraitUrlException', - 'p' => VimeoBase::PERMISSION_NONE), - - 'vimeo.people.addContact' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleAddContactResponse', - 'e' => 'VimeoPeopleAddContactException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.people.removeContact' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleRemoveContactResponse', - 'e' => 'VimeoPeopleRemoveContactException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.people.getUploadStatus' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleGetUploadStatusResponse', - 'e' => 'VimeoPeopleGetUploadStatusException', - 'p' => VimeoBase::PERMISSION_READ), - - 'vimeo.people.addSubscription' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleAddSubscriptionResponse', - 'e' => 'VimeoPeopleAddSubscriptionException', - 'p' => VimeoBase::PERMISSION_WRITE), - - 'vimeo.people.removeSubscription' => array( 's' => 'VimeoPeopleRequest', - 't' => 'VimeoPeopleRemoveSubscriptionResponse', - 'e' => 'VimeoPeopleRemoveSubscriptionException', - 'p' => VimeoBase::PERMISSION_WRITE) - ); - - public static function getSourceObjectForMethod($sMethod) { - // Check if the method can be handled - self::checkMethod($sMethod); - - return self::$aMethods[$sMethod]['s']; - } - - public static function getTargetObjectForMethod($sMethod) { - // Check if the method can be handled - self::checkMethod($sMethod); - - return self::$aMethods[$sMethod]['t']; - } - - public static function getExceptionObjectForMethod($sMethod) { - // Check if the method can be handled - self::checkMethod($sMethod); - - return self::$aMethods[$sMethod]['e']; - } - - public static function getPermissionRequirementForMethod($sMethod) { - // Check if the method can be handled - self::checkMethod($sMethod); - - return self::$aMethods[$sMethod]['p']; - } - - public static function checkMethod($sMethod) { - // Check if the method can be handled - if(!isset(self::$aMethods[$sMethod])) { - throw new VimeoMethodException('Unhandled vimeo method "' . $sMethod . '" given', 2); - } - } -} - -/** -* Vimeo method exception class -* -* Every exception caused by VimeoMethod class will be of this type -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoMethodException extends Exception {} - -/* -* Abstract class constructs that the whole api stuff will be based on -*/ - -/** -* Vimeo exception class -* -* Every exception the whole SimpleVimeo throws will be extended of this base -* class. You can extend this one to alter all exceptions. -* -* @package SimpleVimeo -* @subpackage Exceptions -* @abstract -*/ - -abstract class VimeoException extends Exception {} - -/** -* Vimeo array of object handler class -* -* This class is for array of object handling. i.e.: An array of video objects. -* It ensures that you can work with foreach and count without getting into a hassle. -* -* @package SimpleVimeo -* @subpackage Base -* @abstract -*/ - -abstract class VimeoObjectList implements Iterator, Countable { - /** - * Array for instanced objects - * @var array - */ - private $aInstances = array(); - - /** - * Integer how many results - * @var integer - */ - private $iCount = 0; - - /** - * Class name - * @var string - */ - private $sClassName; - - private $aIDs = array(); - - /** - * Constructor - * - * @access public - * @return void - */ - public function __construct() { - // Parse class name - $this->sClassName = str_replace('List', '', get_class($this)); - } - - /** - * Add object to array - * - * @access public - * @param object Object to be added to array - * @param integer Array index to be used for the given object - * @return void - */ - public function add($oObject, $iID = false) { - if($iID !== false) { - $this->aInstances[$iID] = $oObject; - } else { - $this->aInstances[] = $oObject; - } - - $this->aIDs[] = $iID; - - $this->iCount++; - } - - /** - * Returns all array indexes for further parsing - * - * @access public - * @return array Array with object array indexes - */ - public function getAllUniqueIDs() { - return $this->getIDs(); - } - - /** - * @ignore - */ - public function rewind() { - reset($this->aInstances); - } - - /** - * @ignore - */ - public function current() { - return current($this->aInstances); - } - - /** - * @ignore - */ - public function key() { - return key($this->aInstances); - } - - /** - * @ignore - */ - public function next() { - return next($this->aInstances); - } - - /** - * @ignore - */ - public function valid() { - return $this->current() !== FALSE; - } - - /** - * @ignore - */ - public function count() { - return $this->iCount; - } -} - -/** -* Vimeo request class -* -* Every API query collection class will be based on this. -* -* @package SimpleVimeo -* @subpackage ApiRequest -* @abstract -*/ - -abstract class VimeoRequest {} - -/** -* Vimeo response class -* -* Every API response class will be based on this. It also handles -* everytime response variables like if the query was successfull and -* the generation time. -* -* @package SimpleVimeo -* @subpackage ApiResponse -* @abstract -*/ - -abstract class VimeoResponse { - private $bStatus = false; - private $fPerformance = false; - private $iErrorCode = false; - private $oError = false; - - /** - * Constructor - * - * Parses the API response - * You dont need to pass a response if you need to give a hint your coding tool for code completion - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse = false) { - if($aResponse) { - // Parse status - $this->setStatus($aResponse->stat); - - // Parse performance - $this->fPerformance = (float) $aResponse->generated_in; - - // Parse error information - if(!$this->bStatus) { - $this->oError = new VimeoErrorEntity($aResponse->err->code, $aResponse->err->msg); - } - } - } - - private function setStatus($sStatus) { - if($sStatus === 'ok') { - $this->bStatus = true; - } - } - - public function getStatus() { - return $this->bStatus; - } - - public function getPerformance() { - return $this->fPerformance; - } - - public function getError() { - return $this->oError; - } -} - -/* -* Entity classes for default instances of users etc. they are always the same -* and their array of object handlers -*/ - -/** -* Vimeo API error entity class -* -* Implements API delivered error entities into an PHP 5 object with given result parameters. -* -* @package SimpleVimeo -* @subpackage Entities -*/ - -class VimeoErrorEntity { - private $iErrorCode = false; - private $sErrorMessage = false; - - public function __construct($iErrorCode, $sErrorMessage) { - $this->iErrorCode = $iErrorCode; - $this->sErrorMessage = $sErrorMessage; - } - - public function getCode() { - return $this->iErrorCode; - } - - public function getMessage() { - return $this->sErrorMessage; - } -} - -/** -* Vimeo API user entity class -* -* Implements API delivered user entities into an PHP 5 object with given result parameters. -* -* @package SimpleVimeo -* @subpackage Entities -*/ - -class VimeoUserEntity { - private $iUserNsId = false; - private $iUserId = false; - private $sUsername = false; - private $sFullname = false; - - // Optional information when vimeo.person.getInfo is called - private $sLocation = false; - private $sUrl = false; - private $iNumberOfContacts = false; - private $iNumberOfUploads = false; - private $iNumberOfLikes = false; - private $iNumberOfVideos = false; - private $iNumberOfVideosAppearsIn = false; - private $sProfileUrl = false; - private $sVideosUrl = false; - - public function __construct($aResponseSnippet) { - if(isset($aResponseSnippet->id)) { - $this->iUserId = $aResponseSnippet->id; - } - - if(isset($aResponseSnippet->nsid)) { - $this->iUserNsId = $aResponseSnippet->nsid; - } - - if(isset($aResponseSnippet->username)) { - $this->sUsername = $aResponseSnippet->username; - } - - if(isset($aResponseSnippet->fullname)) { - $this->sFullname = $aResponseSnippet->fullname; - } - - if(isset($aResponseSnippet->display_name)) { - $this->sFullname = $aResponseSnippet->display_name; - } - - // Optional stuff - if(isset($aResponseSnippet->location)) { - $this->sLocation = $aResponseSnippet->location; - } - - if(isset($aResponseSnippet->url)) { - $this->sUrl = $aResponseSnippet->url; - } - - if(isset($aResponseSnippet->number_of_contacts)) { - $this->iNumberOfContacts = $aResponseSnippet->number_of_contacts; - } - - if(isset($aResponseSnippet->number_of_uploads)) { - $this->iNumberOfUploads = $aResponseSnippet->number_of_uploads; - } - - if(isset($aResponseSnippet->number_of_likes)) { - $this->iNumberOfLikes = $aResponseSnippet->number_of_likes; - } - - if(isset($aResponseSnippet->number_of_videos)) { - $this->iNumberOfVideos = $aResponseSnippet->number_of_videos; - } - - if(isset($aResponseSnippet->number_of_videos_appears_in)) { - $this->iNumberOfVideosAppearsIn = $aResponseSnippet->number_of_videos_appears_in; - } - - if(isset($aResponseSnippet->profileurl)) { - $this->sProfileUrl = $aResponseSnippet->profileurl; - } - - if(isset($aResponseSnippet->videosurl)) { - $this->sVideosUrl = $aResponseSnippet->videosurl; - } - } - - public function getNsID() { - return $this->iUserNsId; - } - - public function getID() { - return $this->iUserId; - } - - public function getUsername() { - return $this->sUsername; - } - - public function getFullname() { - return $this->sFullname; - } - - public function getLocation() { - return $this->sLocation; - } - - public function getUrl() { - return $this->sUrl; - } - - public function getNumberOfContacts() { - return $this->iNumberOfContacts; - } - - public function getNumberOfUploads() { - return $this->iNumberOfUploads; - } - - public function getNumberOfLikes() { - return $this->iNumberOfLikes; - } - - public function getNumberOfVideos() { - return $this->iNumberOfVideos; - } - - public function getNumberOfVideosAppearsIn() { - return $this->iNumberOfVideosAppearsIn; - } - - public function getProfileUrl() { - return $this->sProfileUrl; - } - - public function getVideosUrl() { - return $this->sVideosUrl; - } -} - -/** -* Vimeo API video entity class -* -* Implements API delivered video into an PHP 5 object with given result parameters. -* -* @package SimpleVimeo -* @subpackage Entities -*/ - -class VimeoVideoEntity { - private $iID = false; - private $ePrivacy = false; - private $bIsUploading = false; - private $bIsTranscoding = false; - private $bIsHD = false; - - private $sTitle = false; - private $sCaption = false; - private $iUploadTime = false; - private $iNumberOfLikes = false; - private $iNumberOfPlays = false; - private $iNumberOfComments = false; - - private $sUrl = false; - - private $iWidth = false; - private $iHeight = false; - private $oOwner = false; - - private $oTagList = false; - - private $oThumbnailList = false; - - public function __construct($aResponseSnippet = false) { - if($aResponseSnippet) { - // Set basic information - $this->iID = $aResponseSnippet->id; - $this->ePrivacy = $aResponseSnippet->privacy; - $this->bIsUploading = $aResponseSnippet->is_uploading; - $this->bIsTranscoding = $aResponseSnippet->is_transcoding; - $this->bIsHD = $aResponseSnippet->is_hd; - - $this->sTitle = $aResponseSnippet->title; - $this->sCaption = $aResponseSnippet->caption; - $this->iUploadTime = strtotime($aResponseSnippet->upload_date); - $this->iNumberOfLikes = (int) $aResponseSnippet->number_of_likes; - $this->iNumberOfPlays = (int) $aResponseSnippet->number_of_plays; - $this->iNumberOfComments = (int) $aResponseSnippet->number_of_comments; - - $this->sUrl = $aResponseSnippet->urls->url->_content; - - $this->iWidth = (int) $aResponseSnippet->width; - $this->iHeight = (int) $aResponseSnippet->height; - - $this->oOwner = new VimeoUserEntity($aResponseSnippet->owner); - - // Parse Tags - $this->oTagList = new VimeoTagList(); - if(isset($aResponseSnippet->tags->tag)) { - foreach($aResponseSnippet->tags->tag as $aTagInformation) { - $oTag = new VimeoTagEntity($aTagInformation); - $this->oTagList->add($oTag, $oTag->getID()); - } - } - - // Parse Thumbnails - $this->oThumbnailList = new VimeoThumbnailList(); - if(isset($aResponseSnippet->thumbnails->thumbnail)) { - foreach($aResponseSnippet->thumbnails->thumbnail as $aThumbnailInformation) { - $oThumbnail = new VimeoThumbnailEntity($aThumbnailInformation); - $this->oThumbnailList->add($oThumbnail, ($oThumbnail->getWidth() * $oThumbnail->getHeight())); - } - } - } - } - - public function getID() { - return $this->iID; - } - - public function getPrivacy() { - return $this->ePrivacy; - } - - public function isUploading() { - return $this->bIsUploading; - } - - public function isTranscoding() { - return $this->bIsTranscoding; - } - - public function isHD() { - return $this->bIsHD; - } - - public function getTitle() { - return $this->sTitle; - } - - public function getCaption() { - return $this->sCaption; - } - - public function getUploadTimestamp() { - return $this->iUploadTime; - } - - public function getNumberOfLikes() { - return (int) $this->iNumberOfLikes; - } - - public function getNumberOfPlays() { - return (int) $this->iNumberOfPlays; - } - - public function getNumberOfComments() { - return (int) $this->iNumberOfComments; - } - - public function getWidth() { - return (int) $this->iWidth; - } - - public function getHeight() { - return (int) $this->iHeight; - } - - public function getOwner() { - return $this->oOwner; - } - - public function getTags() { - return $this->oTagList; - } - - public function getUrl() { - return $this->sUrl; - } - - public function getThumbnails() { - return $this->oThumbnailList; - } -} - -/** -* Vimeo API video list class -* -* Implements API delivered video list entities into an PHP 5 array of objects. -* -* @package SimpleVimeo -* @subpackage Lists -*/ - -class VimeoVideoList extends VimeoObjectList {} - -/** -* Vimeo API tag entity class -* -* Implements API delivered tag entities into an PHP 5 object with given result parameters. -* -* @package SimpleVimeo -* @subpackage Entities -*/ - -class VimeoTagEntity { - private $iID = false; - private $sContent = false; - - public function __construct($aResponseSnippet = false) { - if($aResponseSnippet) { - $this->iID = $aResponseSnippet->id; - $this->sContent = $aResponseSnippet->_content; - } - } - - public function getID() { - return $this->iID; - } - - public function getTag() { - return $this->sContent; - } -} - -/** -* Vimeo API tag list class -* -* Implements API delivered tag list entities into an PHP 5 array of objects. -* -* @package SimpleVimeo -* @subpackage Lists -*/ - -class VimeoTagList extends VimeoObjectList {} - -/** -* Vimeo API thumbnail entity class -* -* Implements API delivered thumbnail entities into an PHP 5 object with given result parameters. -* -* @package SimpleVimeo -* @subpackage Entities -*/ - -class VimeoThumbnailEntity { - private $iWidth = false; - private $iHeight = false; - private $sContent = false; - - public function __construct($aResponseSnippet = false) { - if($aResponseSnippet) { - $this->iWidth = (int) $aResponseSnippet->width; - $this->iHeight = (int) $aResponseSnippet->height; - $this->sContent = $aResponseSnippet->_content; - } - } - - public function getWidth() { - return (int) $this->iWidth; - } - - public function getHeight() { - return (int) $this->iHeight; - } - - public function getImageContent() { - return $this->sContent; - } -} - -/** -* Vimeo API thumbnail list class -* -* Implements API delivered thumbnail list entities into an PHP 5 array of objects. -* -* @package SimpleVimeo -* @subpackage Lists -*/ - -class VimeoThumbnailList extends VimeoObjectList { - public function getByWidth($iWidth, $bAlsoLower = false) { - /** - * @todo - */ - } - - public function getByHeight($iHeight, $bAlsoLower = false) { - /** - * @todo - */ - } - - public function getByWidthAndHeight($iWidth, $iHeight, $bAlsoLower = false) { - /** - * @todo - */ - } -} - - -/* -* vimeo.test.* methods -*/ - -/** -* Vimeo Test request handler class -* -* Implements all API queries in the vimeo.test.* category -* -* @package SimpleVimeo -* @subpackage ApiRequest -*/ - -class VimeoTestRequest extends VimeoRequest { - - /** - * Is the user logged in? - * - * @access public - * @return VimeoTestLoginResponse - */ - - public function login() { - return VimeoBase::executeRemoteCall('vimeo.test.login'); - } - - /** - * This will just repeat back any parameters that you send. - * - * @access public - * @param array Additional arguments that need to be passed to the API - * @return VimeoTestEchoResponse - */ - - public function echoback($aArgs) { - return VimeoBase::executeRemoteCall('vimeo.test.echo', $aArgs); - } - - /** - * This is just a simple null/ping test... - * - * @access public - * @return VimeoTestNullResponse - */ - - public function ping() { - return VimeoBase::executeRemoteCall('vimeo.test.null'); - } -} - -/** -* Vimeo Test Login response handler class -* -* Handles the API response for vimeo.test.login queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoTestLoginResponse extends VimeoResponse {} - -/** -* Vimeo Test Login exception handler class -* -* Handles exceptions caused by API response for vimeo.test.login queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoTestLoginException extends VimeoException {} - -/** -* Vimeo Test Echo response handler class -* -* Handles the API response for vimeo.test.echo queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoTestEchoResponse extends VimeoResponse { - private $aArgs = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse = false) { - parent::__construct($aResponse); - - $this->aArgs = get_object_vars($aResponse); - - // Unset default response stuff - if(isset($this->aArgs['stat'])) unset($this->aArgs['stat']); - if(isset($this->aArgs['generated_in'])) unset($this->aArgs['generated_in']); - } - - /** - * Returns an array of variables the request bounced back - * - * @access public - * @return array Echoed variables - */ - public function getResponseArray() { - return $this->aArgs; - } -} - -/** -* Vimeo Test Echo exception handler class -* -* Handles exceptions caused by API response for vimeo.test.echo queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoTestEchoException extends VimeoException {} - -/** -* Vimeo Test Null response handler class -* -* Handles the API response for vimeo.test.null queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoTestNullResponse extends VimeoResponse {} - -/** -* Vimeo Test Null exception handler class -* -* Handles exceptions caused by API response for vimeo.test.null queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoTestNullException extends VimeoException {} - -/* -* vimeo.auth.* methods -*/ - -/** -* Vimeo Auth request handler class -* -* Implements all API queries in the vimeo.auth.* category -* -* @package SimpleVimeo -* @subpackage ApiRequest -*/ - -class VimeoAuthRequest extends VimeoRequest { - - /** - * Get Token - * - * @access public - * @param string Frob taken from the vimeo authentication - * @return VimeoAuthGetTokenResponse - */ - public function getToken($sFrob) { - $aArgs = array( - 'frob' => $sFrob - ); - - return VimeoBase::executeRemoteCall('vimeo.auth.getToken', $aArgs); - } - - /** - * Check Token - * - * Checks the validity of the token. Returns the user associated with it. - * Returns the same as vimeo.auth.getToken - * - * @access public - * @param string Authentication token - * @return VimeoAuthCheckTokenResponse - */ - public function checkToken($sToken = false) { - if(!$sToken) $sToken = VimeoBase::getToken(); - - $aArgs = array( - 'auth_token' => $sToken - ); - - return VimeoBase::executeRemoteCall('vimeo.auth.checkToken', $aArgs); - } - - /** - * Get Frob - * - * This is generally used by desktop applications. If the user doesn't already have - * a token, you'll need to get the frob, send it to us at /services/auth. Then, - * after the user, clicks continue on your app, you call vimeo.auth.getToken($frob) - * and we give you the actual token. - * - * @access public - * @return VimeoAuthGetFrobResponse - */ - public function getFrob() { - return VimeoBase::executeRemoteCall('vimeo.auth.getFrob'); - } -} - -/** -* Vimeo Auth GetToken response handler class -* -* Handles the API response for vimeo.auth.getToken queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoAuthGetTokenResponse extends VimeoResponse { - - private $sToken = false; - private $ePermission = false; - private $oUser = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse) { - parent::__construct($aResponse); - - $this->sToken = $aResponse->auth->token; - $this->ePermission = $aResponse->auth->perms; - - $this->oUser = new VimeoUserEntity($aResponse->auth->user); - } - - /** - * Get token value - * - * @access public - * @return token - */ - public function getToken() { - return $this->sToken; - } - - /** - * Get permission value - * - * @access public - * @return permission - */ - - public function getPermission() { - return $this->ePermission; - } - - /** - * Get user information object - * - * @access public - * @return VimeoUserEntity - */ - public function getUser() { - return $this->oUser; - } -} - -/** -* Vimeo Auth GetToken exception handler class -* -* Handles exceptions caused by API response for vimeo.auth.getToken queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoAuthGetTokenException extends Exception {} - -/** -* Vimeo Auth CheckToken response handler class -* -* Handles the API response for vimeo.auth.checkToken queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoAuthCheckTokenResponse extends VimeoAuthGetTokenResponse {} - -/** -* Vimeo Auth CheckToken exception handler class -* -* Handles exceptions caused by API response for vimeo.auth.checkToken queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoAuthCheckTokenException extends VimeoAuthGetTokenException {} - -/** -* Vimeo Auth GetFrob response handler class -* -* Handles the API response for vimeo.auth.getFrob queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoAuthGetFrobResponse extends VimeoResponse { - private $sFrob = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse) { - parent::__construct($aResponse); - - $this->sFrob = $aResponse->frob; - } - - /** - * Get Frob value - * - * @access public - * @return frob - */ - public function getFrob() { - return $this->sFrob; - } -} - -/** -* Vimeo Auth GetFrob exception handler class -* -* Handles exceptions caused by API response for vimeo.auth.getFrob queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoAuthGetFrobException extends VimeoException {} - -/** -* vimeo.videos.* methods -*/ - -/** -* Vimeo Videos request handler class -* -* Implements all API queries in the vimeo.videos.* category -* -* @package SimpleVimeo -* @subpackage ApiRequest -*/ - -class VimeoVideosRequest extends VimeoRequest { - - const PRIVACY_ANYBODY = 'anybody'; - const PRIVACY_CONTACTS = 'contacts'; - const PRIVACY_NOBODY = 'nobody'; - const PRIVACY_USERS = 'users'; - - /** - * Search videos! - * - * If the calling user is logged in, this will return information that calling user - * has access to (including private videos). If the calling user is not authenticated, - * this will only return public information, or a permission denied error if none is available. - * - * @access public - * @param string Search query - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param boolean If TRUE, we'll only search the users contacts. If this is set, you must specifiy a User ID. Otherwise it will be ignored without error. - * @param integer ow many results per page? - * @return VimeoVideosSearchResponse - */ - public function search($sQuery, $iUserID = false, $bContactsOnly = false, $iItemsPerPage = false) { - - // Pass query (required) - $aArgs = array( - 'query' => $sQuery - ); - - // Pass user - if($iUserID) { - $aArgs['user_id'] = $iUserID; - } - - // Pass contacts - if($bContactsOnly) { - $aArgs['contacts_only'] = $bContactsOnly; - } - - // Pass items - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.search', $aArgs); - } - - /** - * This gets a list of videos for the specified user. - * - * This is the functionality of "My Videos" or "Ted's Videos." At the moment, this is the same list - * as vimeo.videos.getAppearsInList. If you need uploaded or appears in, those are available too. - * - * @access public - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param integer Which page to show. - * @param integer How many results per page? - * @return VimeoVideosGetListResponse - */ - public function getList($iUserID, $iPage = false, $iItemsPerPage = false) { - // Extend query - $aArgs = array( - 'user_id' => $iUserID - ); - - if($iPage) { - $aArgs['page'] = $iPage; - } - - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.getList', $aArgs); - } - - /** - * This gets a list of videos uploaded by the specified user. - * - * If the calling user is logged in, this will return information that calling user has access to - * (including private videos). If the calling user is not authenticated, this will only return - * public information, or a permission denied error if none is available. - * - * @access public - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param integer Which page to show. - * @param integer How many results per page? - * @return VimeoVideosGetUploadedListResponse - */ - public function getUploadedList($iUserID, $iPage = false, $iItemsPerPage = false) { - // Extend query - $aArgs = array( - 'user_id' => $iUserID - ); - - if($iPage) { - $aArgs['page'] = $iPage; - } - - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.getUploadedList', $aArgs); - } - - /** - * This gets a list of videos that the specified user appears in. - * - * If the calling user is logged in, this will return information that calling user has access - * to (including private videos). If the calling user is not authenticated, this will only return - * public information, or a permission denied error if none is available. - * - * @access public - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param integer Which page to show. - * @param integer How many results per page? - * @return VimeoVideosGetAppearsInListResponse - */ - public function getAppearsInList($iUserID, $iPage = false, $iItemsPerPage = false) { - // Extend query - $aArgs = array( - 'user_id' => $iUserID - ); - - if($iPage) { - $aArgs['page'] = $iPage; - } - - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.getAppearsInList', $aArgs); - } - - /** - * This gets a list of subscribed videos for a particular user. - * - * If the calling user is logged in, this will return information that calling user - * has access to (including private videos). If the calling user is not authenticated, - * this will only return public information, or a permission denied error if none is available. - * - * @access public - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param integer Which page to show. - * @param integer How many results per page? - * @return VimeoVideosGetSubscriptionsListResponse - */ - public function getSubscriptionsList($iUserID, $iPage = false, $iItemsPerPage = false) { - // Extend query - $aArgs = array( - 'user_id' => $iUserID - ); - - if($iPage) { - $aArgs['page'] = $iPage; - } - - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.getSubscriptionsList', $aArgs); - } - - /** - * This gets a list of videos by tag - * - * If you specify a user_id, we'll only get video uploaded by that user with the specified tag. - * If the calling user is logged in, this will return information that calling user has access - * to (including private videos). If the calling user is not authenticated, this will only - * return public information, or a permission denied error if none is available. - * - * @access public - * @param string A single tag: "cat" "new york" "cheese" - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param integer Which page to show. - * @param integer How many results per page? - * @return VimeoVideosGetListByTagResponse - */ - public function getListByTag($sTag, $iUserID = false, $iPage = false, $iItemsPerPage = false) { - // Extend query - $aArgs = array( - 'tag' => $sTag - ); - - if($iUserID) { - $aArgs['user_id'] = $iUserID; - } - - if($iPage) { - $aArgs['page'] = $iPage; - } - - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.getListByTag', $aArgs); - } - - /** - * Get a list of videos that the specified user likes. - * - * If the calling user is logged in, this will return information that calling user has - * access to (including private videos). If the calling user is not authenticated, this will - * only return public information, or a permission denied error if none is available. - * - * @access public - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param integer Which page to show. - * @param integer How many results per page? - * @return VimeoVideosGetLikeListResponse - */ - public function getLikeList($iUserID, $iPage = false, $iItemsPerPage = false) { - // Extend query - $aArgs = array( - 'user_id' => $iUserID - ); - - if($iPage) { - $aArgs['page'] = $iPage; - } - - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.getLikeList', $aArgs); - } - - /** - * Get a list of videos made by the contacts of a specific user. - * - * If the calling user is logged in, this will return information that calling user has - * access to (including private videos). If the calling user is not authenticated, this will - * only return public information, or a permission denied error if none is available. - * - * @access public - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param integer Which page to show. - * @param integer How many results per page? - * @return VimeoVideosGetContactsListResponse - */ - public function getContactsList($iUserID, $iPage = false, $iItemsPerPage = false) { - // Extend query - $aArgs = array( - 'user_id' => $iUserID - ); - - if($iPage) { - $aArgs['page'] = $iPage; - } - - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.getContactsList', $aArgs); - } - - /** - * Get a list of videos that the specified users contacts like. - * - * If the calling user is logged in, this will return information that calling user has - * access to (including private videos). If the calling user is not authenticated, this will - * only return public information, or a permission denied error if none is available. - * - * @access public - * @param integer User ID, this can be the ID number (151542) or the username (ted) - * @param integer Which page to show. - * @param integer How many results per page? - * @return VimeoVideosGetContactsLikeListResponse - */ - public function getContactsLikeList($iUserID, $iPage = false, $iItemsPerPage = false) { - // Extend query - $aArgs = array( - 'user_id' => $iUserID - ); - - if($iPage) { - $aArgs['page'] = $iPage; - } - - if($iItemsPerPage) { - $aArgs['per_page'] = $iItemsPerPage; - } - - // Please deliver full response so we can handle videos with unified classes - $aArgs['fullResponse'] = 1; - - return VimeoBase::executeRemoteCall('vimeo.videos.getContactsLikeList', $aArgs); - } - - /** - * Get all kinds of information about a photo. - * - * If the calling user is logged in, this will return information that calling user has - * access to (including private videos). If the calling user is not authenticated, this will - * only return public information, or a permission denied error if none is available. - * - * @access public - * @param integer Video ID - * @return VimeoVideosGetInfoResponse - */ - public function getInfo($iVideoID) { - // Extend query - $aArgs = array( - 'video_id' => $iVideoID - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.getInfo', $aArgs); - } - - /** - * Generate a new upload Ticket. - * - * You'll need to pass this to the uploader. It's only good for one upload, only good for one user. - * - * @access public - * @return VimeoVideosGetUploadTicketResponse - */ - public function getUploadTicket() { - return VimeoBase::executeRemoteCall('vimeo.videos.getUploadTicket'); - } - - /** - * Check the status of an upload started via the API - * - * This is how you get the video_id of a clip uploaded from the API - * If you never call this to check in, we assume it was abandoned and don't process it - * - * @access public - * @param string The ticket number of the upload - * @return VimeoVideosCheckUploadStatusResponse - */ - public function checkUploadStatus($sTicket) { - $aArgs = array( - 'ticket_id' => $sTicket - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.checkUploadStatus', $aArgs); - } - - /** - * Simple video upload - * - * @access public - * @param string Absolute path to file - * @param string Existing ticket or false to generate a new one - * @return VimeoVideosCheckUploadStatusResponse - */ - public function doUpload($sFilename, $sTicket = false) { - return VimeoBase::executeVideopostCall($sFilename, $sTicket); - } - - /** - * Delete a video - * - * The authenticated user must own the video and have granted delete permission - * - * @access public - * @param integer Video ID - * @return VimeoVideosDeleteResponse - */ - public function delete($iVideoID) { - $aArgs = array( - 'video_id' => $iVideoID - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.delete', $aArgs); - } - - /** - * Set the title of a video (overwrites previous title) - * - * @access public - * @param integer Video ID - * @param string Title - * @return VimeoVideosSetTitleResponse - */ - public function setTitle($iVideoID, $sVideoTitle) { - $aArgs = array( - 'video_id' => $iVideoID, - 'title' => $sVideoTitle - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.setTitle', $aArgs); - } - - /** - * Set a new caption for a video (overwrites previous caption) - * - * @access public - * @param integer Video ID - * @param string Caption - * @return VimeoVideosSetCaptionResponse - */ - public function setCaption($iVideoID, $sVideoCaption) { - $aArgs = array( - 'video_id' => $iVideoID, - 'caption' => $sVideoCaption - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.setCaption', $aArgs); - } - - /** - * Set a video as a favorite. - * - * @access public - * @param integer Video ID - * @param boolean TRUE to favorite, FALSE to return to normal - * @return VimeoVideosSetFavoriteResponse - */ - public function setFavorite($iVideoID, $bFavorite = true) { - $aArgs = array( - 'video_id' => $iVideoID, - 'favorite' => (int) $bFavorite - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.setFavorite', $aArgs); - } - - /** - * Add specified tags to the video, this does not replace any tags. - * - * Tags should be comma separated lists. - * - * If the calling user is logged in, this will return information that calling - * user has access to (including private videos). If the calling user is not authenticated, - * this will only return public information, or a permission denied error if none is available. - * - * @access public - * @param integer Video ID - * @param mixed Array with tags or Comma separated list of tags ("lions, tigers, bears") - * @return VimeoVideosAddTagsResponse - */ - public function addTags($iVideoID, $mTags) { - // Catch array of tags - if(is_array($mTags)) { - $mTags = implode(',', $mTags); - } - - // Prepare arguments - $aArgs = array( - 'video_id' => $iVideoID, - 'tags' => $mTags - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.addTags', $aArgs); - } - - /** - * Remove specified tag from the video. - * - * @access public - * @param integer Video ID - * @param integer Tag ID, this should be a tag id returned by vimeo.videos.getInfo - * @return VimeoVideosRemoveTagResponse - */ - public function removeTag($iVideoID, $iTagID) { - $aArgs = array( - 'video_id' => $iVideoID, - 'tag_id' => $iTagID - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.removeTag', $aArgs); - } - - /** - * Remove ALL of the tags from the video - * - * @access public - * @param integer Video ID - * @return VimeoVideosClearTags - */ - public function clearTags($iVideoID) { - $aArgs = array( - 'video_id' => $iVideoID - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.clearTags', $aArgs); - } - - /** - * Set the privacy of the video - * - * @access public - * @param integer Video ID - * @param integer Privacy enum see VimeoVideosRequest::PRIVACY_* - * @param mixed Array or comma separated list of users who can view the video. PRIVACY_USERS must be set. - */ - public function setPrivacy($iVideoID, $ePrivacy, $mUsers = array()) { - // Catch array of users - if(is_array($mUsers)) { - $mUsers = implode(', ', $mUsers); - } - - $aArgs = array( - 'video_id' => $iVideoID, - 'privacy' => $ePrivacy, - 'users' => $mUsers - ); - - return VimeoBase::executeRemoteCall('vimeo.videos.setPrivacy', $aArgs); - } -} - -/** -* Vimeo Videos Search response handler class -* -* Handles the API response for vimeo.videos.search queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosSearchResponse extends VimeoResponse { - private $iPage = false; - private $iItemsPerPage = false; - private $iOnThisPage = false; - - private $aoVideos = array(); - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse) { - parent::__construct($aResponse); - - // Parse information - if($aResponse && isset($aResponse->videos) && $this->getStatus()) { - // Create an video list instance - $this->aoVideos = new VimeoVideoList(); - - // Page information - $this->iPage = $aResponse->videos->page; - $this->iItemsPerPage = $aResponse->videos->perpage; - $this->iOnThisPage = $aResponse->videos->on_this_page; - - // Parse videos - if(isset($aResponse->videos->video)) { - // We should check if the subelement is an object (single hit) or an result array (multiple hits) - if(is_array($aResponse->videos->video)) { - // We got a couple of results - $aParseableData = $aResponse->videos->video; - } else { - // We only got one result - $aParseableData = array( - 0 => $aResponse->videos->video - ); - } - - // Parse the results - foreach($aParseableData as $aVideoInformation) { - $oVideo = new VimeoVideoEntity($aVideoInformation); - - $this->aoVideos->add($oVideo, $oVideo->getID()); - } - } - } - } - - /** - * Current page - * - * @access public - * @return integer Page number - */ - public function getPage() { - return $this->iPage; - } - - /** - * Items per page - * - * @access public - * @return integer Items per page - */ - - public function getItemsPerPage() { - return $this->iItemsPerPage; - } - - /** - * Items on the current page - * - * @access public - * @return integer Items on the current page - */ - - public function getOnThisPage() { - return $this->iOnThisPage; - } - - /** - * Get array of video objects - * - * @access public - * @return array Video objects - */ - - public function getVideos() { - return $this->aoVideos; - } -} - -/** -* Vimeo Videos Search exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.search queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosSearchException extends VimeoException {} - -/** -* Vimeo Videos GetList response handler class -* -* Handles the API response for vimeo.videos.getList queries. -* Currently the response is exact the same as vimeo.videos.search -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetListResponse extends VimeoVideosSearchResponse {} - -/** -* Vimeo Videos Search exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.search queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetListException extends VimeoException {} - -/** -* Vimeo Videos GetUploadedList response handler class -* -* Handles the API response for vimeo.videos.getUploadedList queries. -* Currently the response is exact the same as vimeo.videos.search -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetUploadedListResponse extends VimeoVideosSearchResponse {} - -/** -* Vimeo Videos GetUploadedList exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getUploadedList queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetUploadedListException extends VimeoException {} - -/** -* Vimeo Videos GetAppearsInList response handler class -* -* Handles the API response for vimeo.videos.getAppearsInList queries. -* Currently the response is exact the same as vimeo.videos.search -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetAppearsInListResponse extends VimeoVideosSearchResponse {} - -/** -* Vimeo Videos GetAppearsInList exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getAppearsInList queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetAppearsInListException extends VimeoException {} - -/** -* Vimeo Videos GetSubscriptionsList response handler class -* -* Handles the API response for vimeo.videos.getSubscriptionsList queries. -* Currently the response is exact the same as vimeo.videos.search -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetSubscriptionsListResponse extends VimeoVideosSearchResponse {} - -/** -* Vimeo Videos GetSubscriptionsList exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getSubscriptionsList queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetSubscriptionsListException extends VimeoException {} - -/** -* Vimeo Videos GetListByTag response handler class -* -* Handles the API response for vimeo.videos.getListByTag queries. -* Currently the response is exact the same as vimeo.videos.search -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetListByTagResponse extends VimeoVideosSearchResponse {} - -/** -* Vimeo Videos GetListByTag exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getListByTag queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetListByTagException extends VimeoException {} - -/** -* Vimeo Videos GetLikeList response handler class -* -* Handles the API response for vimeo.videos.getLikeList queries. -* Currently the response is exact the same as vimeo.videos.search -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetLikeListResponse extends VimeoVideosSearchResponse {} - -/** -* Vimeo Videos GetLikeList exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getLikeList queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetLikeListException extends VimeoException {} - -/** -* Vimeo Videos GetContactsList response handler class -* -* Handles the API response for vimeo.videos.getContactsList queries. -* Currently the response is exact the same as vimeo.videos.search -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetContactsListResponse extends VimeoVideosSearchResponse {} - -/** -* Vimeo Videos GetContactsList exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getContactsList queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetContactsListException extends VimeoException {} - -/** -* Vimeo Videos getContactsLikeList response handler class -* -* Handles the API response for vimeo.videos.getContactsLikeList queries. -* Currently the response is exact the same as vimeo.videos.search -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosgetContactsLikeListResponse extends VimeoVideosSearchResponse {} - -/** -* Vimeo Videos getContactsLikeList exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getContactsLikeList queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetContactsLikeListException extends VimeoException {} - -/** -* Vimeo Videos GetInfo response handler class -* -* Handles the API response for vimeo.videos.getInfo queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetInfoResponse extends VimeoResponse { - private $oVideo = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse) { - parent::__construct($aResponse); - - $this->oVideo = new VimeoVideoEntity($aResponse->video); - } - - /** - * Get video information as object - * - * @access public - * @return VimeoVideoEntity - */ - public function getVideo() { - return $this->oVideo; - } -} - -/** -* Vimeo Videos GetInfo exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getInfo queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetInfoException extends VimeoException {} - -/** -* Vimeo Videos getUploadTicket response handler class -* -* Handles the API response for vimeo.videos.getUploadTicket queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosGetUploadTicketResponse extends VimeoResponse { - private $sTicket = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse = false) { - parent::__construct($aResponse); - - $this->sTicket = $aResponse->ticket->id; - } - - /** - * Get generated upload ticket - * - * @access public - * @return string The ticket number of the upload - */ - public function getTicket() { - return $this->sTicket; - } -} - -/** -* Vimeo Videos getUploadTicket exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.getUploadTicket queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosGetUploadTicketException extends VimeoException {} - -/** -* Vimeo Videos checkUploadStatus response handler class -* -* Handles the API response for vimeo.videos.checkUploadStatus queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosCheckUploadStatusResponse extends VimeoResponse { - private $sTicket = false; - private $iVideoID = false; - private $bIsUploading = false; - private $bIsTranscoding = false; - private $iTranscodingProgress = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse = false) { - parent::__construct($aResponse); - - $this->sTicket = $aResponse->ticket->id; - $this->iVideoID = $aResponse->ticket->video_id; - $this->bIsUploading = (bool) $aResponse->ticket->is_uploading; - $this->bIsTranscoding = (bool) $aResponse->ticket->is_transcoding; - $this->iTranscodingProgress = $aResponse->ticket->transcoding_progress; - } - - /** - * Get Ticket - * - * @access public - * @return string Ticket - */ - public function getTicket() { - return $this->sTicket; - } - - /** - * Get Video ID - * - * @access public - * @return integer Video ID - */ - public function getVideoID() { - return $this->iVideoID; - } - - /** - * Is the video uploading? - * - * @access public - * @return boolean TRUE if uploading, FALSE if not - */ - public function isUploading() { - return $this->bIsUploading; - } - - /** - * Is the video transcoding? - * - * Also check getTranscodingProgress() for percentage in transcoding - * - * @access public - * @return boolean TRUE if uploading, FALSE if not - */ - public function isTranscoding() { - return $this->bIsTranscoding; - } - - /** - * Get the transcoding progress - * - * Should only be called if isTranscoding() returns true - * - * @access public - * @return integer Percentage - */ - public function getTranscodingProgress() { - return $this->iTranscodingProgress; - } -} - -/** -* Vimeo Videos checkUploadStatus exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.checkUploadStatus queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosCheckUploadStatusException extends VimeoException {} - -/** -* Vimeo Videos delete response handler class -* -* Handles the API response for vimeo.videos.delete queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosDeleteResponse extends VimeoResponse {} - -/** -* Vimeo Videos delete exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.delete queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosDeleteException extends VimeoException {} - -/** -* Vimeo Videos setTitle response handler class -* -* Handles the API response for vimeo.videos.setTitle queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosSetTitleResponse extends VimeoResponse {} - -/** -* Vimeo Videos setTitle exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.setTitle queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosSetTitleException extends VimeoException {} - -/** -* Vimeo Videos setCaption response handler class -* -* Handles the API response for vimeo.videos.setCaption queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosSetCaptionResponse extends VimeoResponse {} - -/** -* Vimeo Videos setCaption exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.setCaption queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosSetCaptionException extends VimeoException {} - -/** -* Vimeo Videos setFavorite response handler class -* -* Handles the API response for vimeo.videos.setFavorite queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosSetFavoriteResponse extends VimeoResponse {} - -/** -* Vimeo Videos setFavorite exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.setFavorite queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosSetFavoriteException extends VimeoException {} - -/** -* Vimeo Videos addTags response handler class -* -* Handles the API response for vimeo.videos.addTags queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosAddTagsResponse extends VimeoResponse {} - -/** -* Vimeo Videos addTags exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.addTags queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosAddTagsException extends VimeoException {} - -/** -* Vimeo Videos removeTag response handler class -* -* Handles the API response for vimeo.videos.removeTag queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosRemoveTagResponse extends VimeoResponse {} - -/** -* Vimeo Videos removeTag exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.removeTag queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosRemoveTagException extends VimeoException {} - -/** -* Vimeo Videos clearTags response handler class -* -* Handles the API response for vimeo.videos.clearTags queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosClearTagsResponse extends VimeoResponse {} - -/** -* Vimeo Videos clearTags exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.clearTags queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosClearTagsException extends VimeoException {} - -/** -* Vimeo Videos setPrivacy response handler class -* -* Handles the API response for vimeo.videos.setPrivacy queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoVideosSetPrivacyResponse extends VimeoResponse {} - -/** -* Vimeo Videos setPrivacy exception handler class -* -* Handles exceptions caused by API response for vimeo.videos.setPrivacy queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoVideosSetPrivacyException extends VimeoException {} - -/** -* vimeo.people.* methods -*/ - -/** -* Vimeo People request handler class -* -* Implements all API queries in the vimeo.people.* category -* -* @package SimpleVimeo -* @subpackage ApiRequest -*/ - -class VimeoPeopleRequest extends VimeoRequest { - const TYPE_LIKES = 'likes'; - const TYPE_APPEARS = 'appears'; - const TYPE_BOTH = 'likes,appears'; - - /** - * Get a user id and full/display name with a username. - * - * You shouldn't need this to get the User ID, we allow you to use the - * username instead of User ID everywhere, it's much nicer that way. - * - * @access public - * @param string The username to lookup - * @return VimeoPeopleFindByUsernameResponse - */ - public function findByUsername($sUsername) { - $aArgs = array( - 'username' => $sUsername - ); - - return VimeoBase::executeRemoteCall('vimeo.people.findByUserName', $aArgs); - } - - /** - * Get tons of info about a user. - * - * @access public - * @param integer The id of the user we want. - * @return VimeoPeopleGetInfoResponse - */ - public function getInfo($iUserID) { - $aArgs = array( - 'user_id' => $iUserID - ); - - return VimeoBase::executeRemoteCall('vimeo.people.getInfo', $aArgs); - } - - /** - * Get a user id and full/display name via an Email Address. - * - * You shouldn't need to use this to get the User ID, we allow you - * to use the username instead of User ID everywhere, it's much nicer that way. - * - * @access public - * @param string Email - * @return VimeoPeopleFindByEmailResponse - */ - public function findByEmail($sEmail) { - $aArgs = array( - 'find_email' => $sEmail - ); - - return VimeoBase::executeRemoteCall('vimeo.people.findByEmail', $aArgs); - } - - /** - * Get a portrait URL for a given user/size - * - * Portraits are square, so you only need to pass one size parameter. - * Possible sizes are 20, 24, 28, 30, 40, 50, 60, 75, 100, 140, 278 and 300 - * - * @access public - * @param string The username to lookup - * @param integer The size of the portrait you you want. (defaults to 75) - * @return VimeoPeopleGetPortraitUrlResponse - * - * @todo Check functionality. Did not work, god knows why - */ - public function getPortraitUrl($sUser, $iSize = false) { - $aArgs = array( - 'user' => $sUser - ); - - if($iSize) { - $aArgs['size'] = $iSize; - } - - return VimeoBase::executeRemoteCall('vimeo.people.getPortraitUrl', $aArgs); - } - - /** - * Add a user as a contact for the authenticated user. - * - * If Jim is authenticated, and the $user is sally. Sally will be Jim's contact. - * It won't work the other way around. Depending on Sally's settings, this may - * send her an email notifying her that Jim Added her as a contact. - * - * @access public - * @param string The user to add. User ID, this can be the ID number (151542) or the username (ted) - * @return VimeoPeopleAddContactResponse - */ - public function addContact($sUser) { - $aArgs = array( - 'user' => $sUser - ); - - return VimeoBase::executeRemoteCall('vimeo.people.addContact', $aArgs); - } - - /** - * Remove a user as a contact for the authenticated user. - * - * @access public - * @param string The user to remove. User ID, this can be the ID number (151542) or the username (ted) - * @return VimeoPeopleRemoveContactResponse - */ - public function removeContact($sUser) { - $aArgs = array( - 'user' => $sUser - ); - - return VimeoBase::executeRemoteCall('vimeo.people.removeContact', $aArgs); - } - - /** - * This tells you how much space the user has remaining for uploads. - * - * We provide info in bytes and kilobytes. It probably makes sense for you to use kilobytes. - * - * @access public - * @return VimeoPeopleGetUploadStatusResponse - */ - public function getUploadStatus() { - return VimeoBase::executeRemoteCall('vimeo.people.getUploadStatus'); - } - - /** - * Subscribe to a user's videos. - * - * Just like on the site, you can subscribe to videos a user "appears" in or "likes." Or both! - * This will not remove any subscriptions. So if the user is subscribed to a user for both "likes" - * and "appears," this will not change anything if you only specify one of them. If you want to - * remove one, you must call vimeo.people.removeSubscription(). - * - * @access public - * @param string User ID, this can be the ID number (151542) or the username (ted) - * @param string with self::TYPE_LIKES or self::TYPE_APPEARS or self::TYPE_BOTH - * @return VimeoPeopleAddSubscriptionResponse - */ - public function addSubscription($sUser, $eType = self::TYPE_BOTH) { - $aArgs = array( - 'user' => $sUser, - 'type' => $eType - ); - - return VimeoBase::executeRemoteCall('vimeo.people.addSubscription', $aArgs); - } - - /** - * Unsubscribe to a user's videos. - * - * @access public - * @param string User ID, this can be the ID number (151542) or the username (ted) - * @param string with self::TYPE_LIKES or self::TYPE_APPEARS or self::TYPE_BOTH - * @return VimeoPeopleRemoveSubscriptionResponse - */ - public function removeSubscription($sUser, $eType = self::TYPE_BOTH) { - $aArgs = array( - 'user' => $sUser, - 'type' => $eType - ); - - return VimeoBase::executeRemoteCall('vimeo.people.removeSubscription', $aArgs); - } -} - -/** -* Vimeo People FindByUserName response handler class -* -* Handles the API response for vimeo.people.findByUserName queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleFindByUserNameResponse extends VimeoResponse { - private $oUser = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse = false) { - parent::__construct($aResponse); - - $this->oUser = new VimeoUserEntity($aResponse->user); - } - - /** - * Get user entity object - * - * @access public - * @return VimeoUserEntity - */ - public function getUser() { - return $this->oUser; - } -} - -/** -* Vimeo People FindByUserName exception handler class -* -* Handles exceptions caused by API response for vimeo.people.findByUserName queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleFindByUserNameException extends VimeoException {} - -/** -* Vimeo People FindByEmail response handler class -* -* Handles the API response for vimeo.people.findByEmail queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleFindByEmailResponse extends VimeoResponse { - private $oUser = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse = false) { - parent::__construct($aResponse); - - $this->oUser = new VimeoUserEntity($aResponse->user); - } - - /** - * Get user entity object - * - * @access public - * @return VimeoUserEntity - */ - public function getUser() { - return $this->oUser; - } -} - -/** -* Vimeo People FindByEmail exception handler class -* -* Handles exceptions caused by API response for vimeo.people.findByEmail queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleFindByEmailException extends VimeoException {} - -/** -* Vimeo People GetInfo response handler class -* -* Handles the API response for vimeo.people.getInfo queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleGetInfoResponse extends VimeoResponse { - private $oUser = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse = false) { - parent::__construct($aResponse); - - $this->oUser = new VimeoUserEntity($aResponse->person); - } - - /** - * Get user entity object - * - * @access public - * @return VimeoUserEntity - */ - public function getUser() { - return $this->oUser; - } -} - -/** -* Vimeo People GetInfo exception handler class -* -* Handles exceptions caused by API response for vimeo.people.getInfo queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleGetInfoException extends VimeoException {} - -/** -* Vimeo People getPortraitUrl response handler class -* -* Handles the API response for vimeo.people.getPortraitUrl queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleGetPortraitUrlResponse extends VimeoResponse {} - -/** -* Vimeo People getPortraitUrl exception handler class -* -* Handles exceptions caused by API response for vimeo.people.getPortraitUrl queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleGetPortraitUrlException extends VimeoException {} - -/** -* Vimeo People addContact response handler class -* -* Handles the API response for vimeo.people.addContact queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleAddContactResponse extends VimeoResponse {} - -/** -* Vimeo People addContact exception handler class -* -* Handles exceptions caused by API response for vimeo.people.addContact queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleAddContactException extends VimeoException {} - -/** -* Vimeo People removeContact response handler class -* -* Handles the API response for vimeo.people.removeContact queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleRemoveContactResponse extends VimeoResponse {} - -/** -* Vimeo People removeContact exception handler class -* -* Handles exceptions caused by API response for vimeo.people.removeContact queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleRemoveContactException extends VimeoException {} - -/** -* Vimeo People getUploadStatus response handler class -* -* Handles the API response for vimeo.people.getUploadStatus queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleGetUploadStatusResponse extends VimeoResponse { - private $iMaxBytes = false; - private $iMaxKBytes = false; - - private $iUsedBytes = false; - private $iUsedKBytes = false; - - private $iRemainingBytes = false; - private $iRemainingKBytes = false; - - /** - * Constructor - * - * Parses the API response - * - * @access public - * @param stdClass API response - * @return void - */ - public function __construct($aResponse = false) { - parent::__construct($aResponse); - - $this->iMaxBytes = $aResponse->user->bandwidth->maxbytes; - $this->iMaxKBytes = $aResponse->user->bandwidth->maxkb; - - $this->iUsedBytes = $aResponse->user->bandwidth->usedbytes; - $this->iUsedKBytes = $aResponse->user->bandwidth->usedkb; - - $this->iRemainingBytes = $aResponse->user->bandwidth->remainingbytes; - $this->iRemainingKBytes = $aResponse->user->bandwidth->remainingkb; - } - - /** - * Get maximum upload for this week in BYTES - * - * @access public - * @return integer Maximum bytes this week - */ - public function getMaxBytes() { - return $this->iMaxBytes; - } - - /** - * Get maximum upload for this week in KILOBYTES - * - * @access public - * @return integer Maximum kbytes this week - */ - public function getMaxKiloBytes() { - return $this->iMaxKBytes; - } - - /** - * Get used upload for this week in BYTES - * - * @access public - * @return integer Used bytes this week - */ - public function getUsedBytes() { - return $this->iUsedBytes; - } - - /** - * Get used upload for this week in KILOBYTES - * - * @access public - * @return integer Used kbytes this week - */ - public function getUsedKiloBytes() { - return $this->iUsedKBytes; - } - - /** - * Get remaining upload for this week in BYTES - * - * @access public - * @return integer Remaining bytes this week - */ - public function getRemainingBytes() { - return $this->iRemainingBytes; - } - - /** - * Get remaining upload for this week in KILOBYTES - * - * @access public - * @return integer Remaining kbytes this week - */ - public function getRemainingKiloBytes() { - return $this->iRemainingKBytes; - } -} - -/** -* Vimeo People getUploadStatus exception handler class -* -* Handles exceptions caused by API response for vimeo.people.getUploadStatus queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleGetUploadStatusException extends VimeoException {} - -/** -* Vimeo People addSubscription response handler class -* -* Handles the API response for vimeo.people.addSubscription queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleAddSubscriptionResponse extends VimeoResponse {} - -/** -* Vimeo People addSubscription exception handler class -* -* Handles exceptions caused by API response for vimeo.people.addSubscription queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleAddSubscriptionException extends VimeoException {} - -/** -* Vimeo People removeSubscription response handler class -* -* Handles the API response for vimeo.people.removeSubscription queries. -* -* @package SimpleVimeo -* @subpackage ApiResponse -*/ - -class VimeoPeopleRemoveSubscriptionResponse extends VimeoResponse {} - -/** -* Vimeo People removeSubscription exception handler class -* -* Handles exceptions caused by API response for vimeo.people.removeSubscription queries. -* -* @package SimpleVimeo -* @subpackage Exceptions -*/ - -class VimeoPeopleRemoveSubscriptionException extends VimeoException {} - -?> diff --git a/pages/videolist/browse.php b/pages/videolist/browse.php deleted file mode 100644 index 2392ef19a..000000000 --- a/pages/videolist/browse.php +++ /dev/null @@ -1,49 +0,0 @@ -<?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/views/default/forms/videolist/browsetube.php b/views/default/forms/videolist/browsetube.php deleted file mode 100644 index bbe2b8935..000000000 --- a/views/default/forms/videolist/browsetube.php +++ /dev/null @@ -1,251 +0,0 @@ -<?php - -/** - * Elgg Video Plugin - * This plugin allows users to create a library of youtube/vimeo/metacafe videos - * @file - load the browse view - * @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 - */ - -$getcontainer_guid = get_input("container"); -$container_guid = explode(":", $getcontainer_guid); -if($container_guid[0] == "group"){ - $container = $container_guid[1]; -} else{ - $container = $getcontainer_guid; -} -$error = array( - 'no-search' => 1 - ); -$error_msg = array( - 'no-search' => "Please enter a valid search term" - ); -$browseCat = get_input('q'); -if(empty($browseCat) || !isset($browseCat)) { - $browseCat = "youtube"; -} - -$confirm_action = get_input('video_action'); - -if(isset($confirm_action) && ($confirm_action == 'search_video')) { - if(isset($title_search) && ($title_search != '')) { - $error['no-search'] = 0; - } else { - $error['no-search'] = 1; - } -} - -//Load youtube menu -$body .= "<div class='elgg_horizontal_tabbed_nav margin_top'>"; -$body .= "<ul id='videonav'>"; -$body .= "<li class='selected' id='YT'>"; -$body .= "<a href=\"".$vars['url']."videolist/browse/".$getcontainer_guid."?q=youtube\">YouTube</a>"; -$body .= "</li>"; -$body .= "<li id='MC'>"; -$body .= "<a href=\"".$vars['url']."videolist/browse/".$getcontainer_guid."?q=metacafe\">Metacafe</a>"; -$body .= "</li>"; -$body .= "<li id='VM'>"; -$body .= "<a href=\"".$vars['url']."videolist/browse/".$getcontainer_guid."?q=vimeo\">Vimeo</a>"; -$body .= "</li>"; -$body .= "</ul>"; -$body .= "</div>"; - -$body .= '<form action="javascript:sendSearchRequest(1);" method="get" id="browse_video_form">'; -$body .= elgg_view('input/hidden',array('internalname'=>'video_action', 'value'=>'search_video')); -$body .= elgg_view('input/hidden',array('internalname'=>'guid', 'value'=>$vars['guid'])); - -switch($browseCat) { - case "youtube" : - $body .= elgg_view('forms/labels/youtube'); - break; - case "metacafe" : - $body .= elgg_view('forms/labels/metacafe'); - break; - case "vimeo" : - $body .= elgg_view('forms/labels/vimeo'); - break; - case "googlevideos" : - $body .= elgg_view('forms/labels/googlevideos'); - break; - default : - $body .= elgg_view('forms/labels/youtube'); - break; -} -$body .= elgg_view('input/hidden',array('internalname'=>'page', 'value'=>$browseCat)); -$body .= '</form>'; - -$body .= '<div id="loading_search_results"></div>'; -$body .= '<div id="responseSearch" align="center"></div>'; - -print $body; - - -?> - -<script type="text/javascript"> -var page = "<?php echo $browseCat;?>"; -var container = "<?php echo $container;?>"; -$('#videonav li').removeClass(); -switch(page) { -case "youtube" : $('#YT').removeClass().addClass('selected'); - break; -case "metacafe" : $('#MC').removeClass().addClass('selected'); - break; -case "vimeo" : $('#VM').removeClass().addClass('selected'); - break; -/* -case "googlevideos" : $('#GV').removeClass().addClass('active'); - break; -*/ -default : $('#YT').removeClass().addClass('selected'); - break; -} - -function sendSearchRequest(p){ -var queryFeed = $("#title_search").val(); -if(trim(queryFeed) != '') { - $("#loading_search_results").html("<div class='ajax_loader'></div>"); - var elggTS = "<?php echo time(); ?>"; - var elggToken = "<?php echo generate_action_token(time()); ?>"; - $.ajax({ - type: "GET", - url: "<?php echo $vars['url']; ?>"+"action/videolist/tubesearch", - data: "bustcache="+new Date().getTime()+"&__elgg_ts="+elggTS+"&__elgg_token="+elggToken+"&page="+page+"&q="+queryFeed+"&start_index="+p+"&container="+container, - success: function(html){ - $("#loading_search_results").html(""); - $("#responseSearch").html(''); - $("#responseSearch").html(html); - } - }); -} -else{} -} - -function showV_idFeed(param, param2){ -var arg = param; -var embed_video = "<div class='close_video'><a href='javascript:void(0);' onclick='javascript:closeit("+param2+");'>close</a></div><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' width='475' height='350'>"+ - "<param name='movie' value='"+arg+"&autoplay=1'>"+ - "<param name='quality' value='high'>"+ - "<param name='bgcolor' value='#000000'>"+ - "<!--[if !IE]> <-->"+ - "<object data='"+arg+"&autoplay=1' width='475' height='350' autoplay=1 type='application/x-shockwave-flash'>"+ - "<param name='quality' value='high'>"+ - "<param name='bgcolor' value='#000000'>"+ - "<param name='pluginurl' value='http://www.adobe.com/go/getflashplayer'>"+ - "FAIL (the browser should render some flash content, not this)."+ - "</object>"+ - "<!--> <![endif]-->"+ - "</object>"; -disableScreen(embed_video, param2); -} - -function showV_idFeedMetacafe(param, param2){ - var argArray = param.split("/"); - var arg = argArray[0]+"/"+argArray[1]+".swf"; - var embed_video = "<div class='close_video'><a href='javascript:void(0);' onclick='javascript:closeit("+param2+");'>close</a></div><object width=\"475\" height=\"350\"><param name=\"allowfullscreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /><param name=\"Metacafe_"+argArray[0]+"\" value=\"http://www.metacafe.com/fplayer/"+arg+"&autoplay=1\" /><embed src=\"http://www.metacafe.com/fplayer/"+arg+"&autoplay=1\" type=\"application/x-shockwave-flash\" name=\"Metacafe_"+argArray[0]+"\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"475\" height=\"350\"></embed></object>"; - - disableScreen(embed_video, param2); -} - -function showV_idFeedVimeo(param, param2){ - var arg = param; - var embed_video = "<div class='close_video'><a href='javascript:void(0);' onclick='javascript:closeit("+param2+");'>close</a></div><object width=\"475\" height=\"350\"><param name=\"allowfullscreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /><param name=\"movie\" value=\"http://vimeo.com/moogaloop.swf?clip_id="+arg+"&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1\" /><embed src=\"http://vimeo.com/moogaloop.swf?clip_id="+arg+"&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1\" type=\"application/x-shockwave-flash\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"475\" height=\"350\"></embed></object>"; - disableScreen(embed_video, param2); -} - - -function getPageScroll() { - var xScroll, yScroll; - if (self.pageYOffset) { - yScroll = self.pageYOffset; - xScroll = self.pageXOffset; - } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict - yScroll = document.documentElement.scrollTop; - xScroll = document.documentElement.scrollLeft; - } else if (document.body) {// all other Explorers - yScroll = document.body.scrollTop; - xScroll = document.body.scrollLeft; - } - return new Array(xScroll,yScroll) -} - -function getPageHeight() { - var windowHeight - if (self.innerHeight) { // all except Explorer - windowHeight = self.innerHeight; - } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode - windowHeight = document.documentElement.clientHeight; - } else if (document.body) { // other Explorers - windowHeight = document.body.clientHeight; - } - return windowHeight -} - -function getPageWidth() { - var windowWidth; - if( typeof( window.innerWidth ) == 'number' ) { - windowWidth = window.innerWidth; //Non-IE - } else if( document.documentElement && ( document.documentElement.clientWidth ) ) { - windowWidth = document.documentElement.clientWidth; //IE 6+ in 'standards compliant mode' - } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { - windowWidth = document.body.clientWidth; //IE 4 compatible - } - return windowWidth -} - -function disableScreen(embed_video, param2) { - var getContainer = "#vidContainer"+param2; - $('body').append("<div id='page_overlay'/>"); - $('#page_overlay').css({ - backgroundColor: "#000000", - opacity: "0.7" - }).fadeIn(); - - $(getContainer).css({ - top: getPageScroll()[1] + (getPageHeight() / 10), - left: ((getPageWidth() / 2) - (400)), - height: "0px" - }).animate( {height:"390px"}, 600 ); - - document.getElementById("vidContainer"+param2).innerHTML = embed_video; -} - -function trim(stringToTrim){ - return ltrim(rtrim(stringToTrim)); -} - -function ltrim(stringToTrim) { - return stringToTrim.replace(/^\s+/,""); -} - -function rtrim(stringToTrim) { - return stringToTrim.replace(/\s+$/,""); -} - -function closeit(param){ - document.getElementById("vidContainer"+param).innerHTML = ""; - document.getElementById("vidContainer"+param).style.display = "none"; - $('#page_overlay').remove(); -} - -function InsertVideoUrl(param, param2){ - var actionAction = "add_video"; - var access_id = 2; - var elggTS = "<?php echo time(); ?>"; - var elggToken = "<?php echo generate_action_token(time()); ?>"; - $.ajax({ - type: "GET", - url: "<?php echo $vars['url']; ?>"+"action/videolist/add", - data: "bustcache="+new Date().getTime()+"&__elgg_ts="+elggTS+"&__elgg_token="+elggToken+"&video_action="+actionAction+"&title_videourl="+param+"&videolisttags="+param2+"&access_id="+access_id, - success: function(html){ - $("#loading_search_results").html(""); - $("#responseSearch").html(''); - $("#responseSearch").html(html); - } - }); - -} -</script> diff --git a/views/default/forms/videolist/labels/googlevideos.php b/views/default/forms/videolist/labels/googlevideos.php deleted file mode 100644 index 9ce2d607c..000000000 --- a/views/default/forms/videolist/labels/googlevideos.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -/** - * Elgg User Profile Video Plugin - * This plugin allows users to browse youtube videos - * - * @package ElggProfile - * @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 - */ - -$body = '<p class="margin_none"><label>'.elgg_echo("videolist:title_search_tube").'</label></p>'; -$body .= "<div class='search_videos clearfloat'>"; -$body .= "<div style='float:left;'>"; -$body .= "<a href=\"http://video.google.com\"><img src='".$vars['url']."mod/videolist/graphics/logo_videos.png' height='30'/></a>"; -$body .= "</div>"; -$body .= "<div style='float:left;'>"; -$body .= "<input type=\"text\" name=\"title_search\" value=\"\" id=\"title_search\" size=\"30\"/>"; -if($error['no-search'] == 0) { - $body .= '<div class="videolist_error">'.$error_msg['no-search'].'</div>'; -} -$body .= "</div>"; -$body .= elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('videolist:searchTubeVideos:vimeo'))); -$body .= "</div>"; -$body .= '<div id="searchcontrol">Loading...</div>'; -print $body;
\ No newline at end of file diff --git a/views/default/forms/videolist/labels/metacafe.php b/views/default/forms/videolist/labels/metacafe.php deleted file mode 100644 index 0642153f4..000000000 --- a/views/default/forms/videolist/labels/metacafe.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -/** - * Elgg Video Plugin - * This plugin allows users to create a library of youtube/vimeo/metacafe videos - * @file - load metacafe label - * @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 - */ - -$body = '<p class="margin_none"><label>'.elgg_echo("videolist:title_search_tube").'</label></p>'; -$body .= "<div class='search_videos clearfloat'>"; -$body .= "<div style='float:left;'>"; -$body .= "<a href=\"http://www.metacafe.com\"><img src='".$vars['url']."mod/videolist/graphics/metacafe.jpg' height='30'/></a>"; -$body .= "</div>"; -$body .= "<div style='float:left;'>"; -$body .= "<input type=\"text\" name=\"title_search\" value=\"\" id=\"title_search\" size=\"30\"/>"; -if($error['no-search'] == 0) { - $body .= '<div class="videolist_error">'.$error_msg['no-search'].'</div>'; -} -$body .= "</div>"; -$body .= elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('videolist:searchTubeVideos:metacafe'))); -$body .= "</div>"; - -print $body;
\ No newline at end of file diff --git a/views/default/forms/videolist/labels/vimeo.php b/views/default/forms/videolist/labels/vimeo.php deleted file mode 100644 index 24a49a1ee..000000000 --- a/views/default/forms/videolist/labels/vimeo.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -/** - * Elgg Video Plugin - * This plugin allows users to create a library of youtube/vimeo/metacafe videos - * @file - load vimeo label - * @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 - */ - -$body = '<p class="margin_none"><label>'.elgg_echo("videolist:title_search_tube").'</label></p>'; -$body .= "<div class='search_videos clearfloat'>"; -$body .= "<div style='float:left;'>"; -$body .= "<a href=\"http://www.vimeo.com\"><img src='".$vars['url']."mod/videolist/graphics/vimeo_logo.gif' height='30'/></a>"; -$body .= "</div>"; -$body .= "<div style='float:left;'>"; -$body .= "<input type=\"text\" name=\"title_search\" value=\"\" id=\"title_search\" size=\"30\"/>"; -if ($error['no-search'] == 0) { - $body .= '<div class="videolist_error">'.$error_msg['no-search'].'</div>'; -} -$body .= "</div>"; -$body .= elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('videolist:searchTubeVideos:vimeo'))); -$body .= "</div>"; - -print $body;
\ No newline at end of file diff --git a/views/default/forms/videolist/labels/youtube.php b/views/default/forms/videolist/labels/youtube.php deleted file mode 100644 index 4c824f6f3..000000000 --- a/views/default/forms/videolist/labels/youtube.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -/** - * Elgg Video Plugin - * This plugin allows users to create a library of youtube/vimeo/metacafe videos - * @file - load youtube label - * @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 - */ - -$body = '<p class="margin_none"><label>'.elgg_echo("videolist:title_search_tube").'</label></p>'; -$body .= "<div class='search_videos clearfloat'>"; -$body .= "<div style='float:left;'>"; -$body .= "<a href=\"http://www.youtube.com\"><img src='".$vars['url']."mod/videolist/graphics/badge3.gif' height='30'/></a>"; -$body .= "</div>"; -$body .= "<div style='float:left;'>"; -$body .= "<input type=\"text\" name=\"title_search\" value=\"\" id=\"title_search\" size=\"30\"/>"; -if($error['no-search'] == 0) { - $body .= '<div class="videolist_error">'.$error_msg['no-search'].'</div>'; -} -$body .= "</div>"; -$body .= elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('videolist:searchTubeVideos'))); -$body .= "</div>"; - -print $body;
\ No newline at end of file diff --git a/views/default/river/object/videolist/annotate.php b/views/default/river/object/videolist/annotate.php deleted file mode 100644 index 50a4a8397..000000000 --- a/views/default/river/object/videolist/annotate.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -$statement = $vars['statement']; -$performed_by = $statement->getSubject(); -$object = $statement->getObject(); - -$url = "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a>"; -$string = sprintf(elgg_echo("videolist:river:annotate"),$url) . " "; -$string .= "<a href=\"" . $object->getURL() . "\">" . elgg_echo("videolist:river:item") . "</a>"; - -echo $string; diff --git a/views/default/river/object/videolist/create.php b/views/default/river/object/videolist/create.php deleted file mode 100644 index 4206d0083..000000000 --- a/views/default/river/object/videolist/create.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php - -$performed_by = get_entity($vars['item']->subject_guid); // $statement->getSubject(); -$object = get_entity($vars['item']->object_guid); -$thumbnail = $object->thumbnail; -$is_group = get_entity($object->container_guid); - -$url = "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a>"; -$title = $object->title; - -if(!$title) { - $title = "untitled"; -} - -$string = sprintf(elgg_echo("videolist:river:created"),$url) . " "; -$string .= elgg_echo("videolist:river:item") . " titled <a href=\"" . $object->getURL() . "\">" . $title . "</a>"; -//if the video was added to a group, show that unless displayed on the group profile -if(($is_group instanceof ElggGroup) && (get_context() != 'groups')){ - $string .= " " . elgg_echo('videolist:ingroup') . " " . $is_group->name; -} -$string .= "<span class='entity_subtext'>" . friendly_time($object->time_created); -if (isloggedin()){ - $string .= "<a class='river_comment_form_button link'>Comment</a>"; - $string .= elgg_view('likes/forms/link', array('entity' => $object)); -} -$string .= "</span>"; - -$string .= "<div class=\"river_content_display\">"; -$string .= "<a href=\"" . $object->getURL() . "\"><img src='".$thumbnail."' width='120' class='tubesearch'/></a>"; -$string .= "</div>"; - -echo $string;
\ No newline at end of file diff --git a/views/default/staticvideo/index.php b/views/default/staticvideo/index.php deleted file mode 100644 index 8d265fd50..000000000 --- a/views/default/staticvideo/index.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Elgg Candidate Profile Plugin - file search.php - * This plugin allows users to create custom candidate profile - * - * @package ElggProfile - * @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 - */ - - -$owner = $_SESSION['guid']; -$number = 10; -$owner_videos = elgg_get_entities(array('types' => 'object', 'subtypes' => 'videolist', 'owner_guids' => $_SESSION['guid'])); -//get_entities("object", "videolist", $_SESSION['guid'], $number); -$videodiv = ''; -$width = "390"; -$height = "275"; -?> -<div id="video-list-main"> -<?php -if(!empty($owner_videos)) { - foreach($owner_videos as $node) { - $url = $node->url; - $title = $node->title; - $video_guid = $node->guid; - $video_id = $node->video_id; - $videodiv .= "<div id='videobox'>"; - $videodiv .= "<a href='".$vars['url']."videolist/watch/".$video_guid."'>"; - $videodiv .= "<img src='http://img.youtube.com/vi/".$video_id."/default.jpg' width='150' alt='no video'/>"; - $videodiv .= "</a>"; - - $videodiv .= "</div>"; - $videodiv .= "<div id='videoDescbox'>"; - $videodiv .= "<span class='title'>Title : </span>".$title."<br />"; - $videodiv .= "</div>"; - - $videodiv .= "<div id='videoActionbox'>"; - $videodiv .= elgg_view("output/confirmlink", array( - 'href' => $vars['url'] . "action/videolist/remove?video_id=" . $video_guid, - 'text' => elgg_echo('delete'), - 'confirm' => elgg_echo('deleteconfirm'), - )); - $videodiv .= "</div>"; - } - - print $videodiv; -} else { - echo "<p class='margin_top'>".elgg_echo('videolist:none:found')."</p>"; -} -?> -</div> diff --git a/views/default/videolist/group_video_header.php b/views/default/videolist/group_video_header.php deleted file mode 100644 index e6d13bca3..000000000 --- a/views/default/videolist/group_video_header.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php
-/**
-* Page header view, when visiting a group's videos
-**/
-
-$user = page_owner_entity();
-$user_name = elgg_view_title($user->name . "'s " . elgg_echo('videos'));
-$url = elgg_get_site_url() . "videolist/browse/". $user->username . "/";
-//if the user is a memebr of the group, show find button
-if($user->isMember(get_loggedin_user()))
- $upload_link = "<a href=\"{$url}\" class='action_button'>" . elgg_echo('videolist:browsemenu') . '</a>';
-else
- $upload_link = '';
-?>
-<div id="content_header" class="clearfloat">
- <div class="content_header_title">
- <?php echo $user_name; ?>
- </div>
- <div class="content_header_options">
- <?php echo $upload_link; ?>
- </div>
-</div>
diff --git a/views/default/videolist/icon.php b/views/default/videolist/icon.php deleted file mode 100644 index 36b30e5ca..000000000 --- a/views/default/videolist/icon.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php -/** - * Elgg tidypic icon - * Optionally you can specify a size. - * - * @package ElggFile - * @author Curverider Ltd - * @copyright Curverider Ltd 2008 - * @link http://elgg.com/ - */ - -if($vars['videolist']){ - echo "<img src=\"".elgg_get_site_url()."mod/videolist/graphics/icons/Video_Icon.jpg\" border=\"0\" />"; -} else { - $mime = $vars['mimetype']; - if (isset($vars['thumbnail'])) { - $thumbnail = $vars['thumbnail']; - } else { - $thumbnail = false; - } - - $size = $vars['size']; - if ($size != 'large') { - $size = 'small'; - } - - if ($thumbnail && strpos($mime, "image/")!==false) { - echo "<img src=\"{$thumbnail}\" border=\"0\" />"; - } else { - if ($size == 'large') { - echo "<img src=\"{$thumbnail}\" border=\"0\" />"; - } else { - echo "<img src=\"".elgg_get_site_url()."mod/videolist/graphics/icons/Video_Icon.jpg\" border=\"0\" />"; - } - } -} |