public static function getVideoIDList($youtubeURL, $optionalparameters, &$playlistid, &$datalink)
 {
     $api_key = YouTubeGalleryMisc::getSettingValue('youtube_api_key');
     if ($api_key == '') {
         return array();
     }
     $playlistid = VideoSource_YoutubePlaylist::extractYouTubePlayListID($youtubeURL);
     $videolist = VideoSource_YoutubePlaylist::getPlaylistVideos($playlistid, $datalink, $api_key, $optionalparameters);
     return $videolist;
 }
 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_YoutubeUserFavorites::extractYouTubeUserID($youtubeURL);
     if ($userid == '') {
         return $videolist;
     }
     //user id not found
     //------------- step 1 get user favorites plylist id
     $part = 'contentDetails';
     $url = $base_url . '/channels?forUsername='******'&key=' . $api_key . '&part=' . $part;
     $htmlcode = YouTubeGalleryMisc::getURLData($url);
     //echo '$htmlcode='.$htmlcode.'</br>';
     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->favorites;
         if ($playlistid == '') {
             return $videolist;
         }
         //user not found or no files uploaded
     }
     //echo '$playlistid='.$playlistid.'</br>';
     // ----------------------- step 2 - get videos
     $videolist = VideoSource_YoutubePlaylist::getPlaylistVideos($playlistid, $datalink, $api_key, $optionalparameters);
     //print_r($videolist);
     //die;
     return $videolist;
 }