public static function getUserInfo($youtubeURL, &$item) { $userid = VideoSource_YoutubeUserUploads::extractYouTubeUserID($youtubeURL); if ($userid == '') { return 'user id not found'; } $url = 'http://gdata.youtube.com/feeds/api/users/' . $userid; $xml = false; $htmlcode = YouTubeGalleryMisc::getURLData($url); if (strpos($htmlcode, '<?xml version') === false) { if (strpos($htmlcode, 'Invalid id') === false) { return 'Cannot load data, Invalid id'; } return 'Cannot load data, no connection'; } echo '$htmlcode=' . $htmlcode . '<br/>'; //die; $doc = new DOMDocument(); $doc->loadXML($htmlcode); $item['channel_username'] = $doc->getElementsByTagName("username")->item(0)->nodeValue; $item['channel_title'] = $doc->getElementsByTagName("title")->item(0)->nodeValue; $item['channel_description'] = $doc->getElementsByTagName("content")->item(0)->nodeValue; $item['channel_location'] = $doc->getElementsByTagName("location")->item(0)->nodeValue; $feedLink = $doc->getElementsByTagName("feedLink"); if ($feedLink->length > 0) { foreach ($feedLink as $fe) { $rel = $fe->getAttribute("rel"); if (!(strpos($rel, '#user.subscriptions') === false)) { $item['channel_subscribed'] = $fe->getAttribute("countHint"); } if (!(strpos($rel, '#user.contacts') === false)) { $item['channel_commentcount'] = $fe->getAttribute("countHint"); } if (!(strpos($rel, '#user.uploads') === false)) { $item['channel_videocount'] = $fe->getAttribute("countHint"); } } } $statistics = $doc->getElementsByTagName("statistics"); $se = $statistics->item(0); $item['channel_subscribers'] = $se->getAttribute("subscriberCount"); $item['channel_viewcount'] = $se->getAttribute("viewCount"); $item['channel_totaluploadviews'] = $se->getAttribute("totalUploadViews"); return ''; }
public static function getVideoIDList($youtubeURL, $optionalparameters, &$userid, &$datalink) { $videolist = array(); $base_url = 'https://www.googleapis.com/youtube/v3'; $api_key = YouTubeGalleryMisc::getSettingValue('youtube_api_key'); if ($api_key == '') { return $videolist; } $userid = VideoSource_YoutubeUserUploads::extractYouTubeUserID($youtubeURL); if ($userid == '') { return $videolist; } //user id not found //------------- first step: get user playlist id $part = 'contentDetails'; $url = $base_url . '/channels?forUsername='******'&key=' . $api_key . '&part=' . $part; $htmlcode = YouTubeGalleryMisc::getURLData($url); if ($htmlcode == '') { return $videolist; } $j = json_decode($htmlcode); if (!$j) { return 'Connection Error'; } $items = $j->items; $playlistid = ''; if (isset($items[0]->contentDetails->relatedPlaylists->uploads)) { $playlistid = $items[0]->contentDetails->relatedPlaylists->uploads; if ($playlistid == '') { return $videolist; } //user not found or no files uploaded } //--------------- second step: get videos $videolist = VideoSource_YoutubePlaylist::getPlaylistVideos($playlistid, $datalink, $api_key, $optionalparameters); return $videolist; }