private function beeteam368_youtube_get_upload_videos($playlist_upload, $pageToken, $prev_page_videos, $task_api_id = 0){ if(is_array($playlist_upload) && count($playlist_upload)==3){ $request_url = $this->search_url_date($playlist_upload[0], $playlist_upload[1], $playlist_upload[2], $pageToken, $task_api_id); }else{ $request_url = $this->playlist_url($playlist_upload, $pageToken, $task_api_id); } $response = wp_remote_get($request_url, array('timeout'=>368)); if(is_wp_error($response)){ return array(); }else { $result = json_decode($response['body']); if((isset($result->{'error'}) && $result->{'error'}!='') || (isset($result->{'pageInfo'}) && isset($result->{'pageInfo'}->{'totalResults'}) && $result->{'pageInfo'}->{'totalResults'}==0)){ return array(); } } $videos = array(); if(isset($result->{'items'}) && count($result->{'items'})>0){ foreach ($result->{'items'} as $value) { if(count($videos) >= 20) break; // Limit to 20 videos if(isset($value->{'contentDetails'}) && isset($value->{'contentDetails'}->{'videoId'}) && isset($value->{'contentDetails'}->{'videoPublishedAt'})){ $videoID = $value->{'contentDetails'}->{'videoId'}; $videoPublishedAt = $value->{'contentDetails'}->{'videoPublishedAt'}; array_push( $videos, array('videoID' => $videoID, $videoID => $videoPublishedAt) ); }elseif(isset($value->{'id'}) && isset($value->{'id'}->{'videoId'}) && isset($value->{'snippet'}) && isset($value->{'snippet'}->{'publishedAt'})){ $videoID = $value->{'id'}->{'videoId'}; $videoPublishedAt = $value->{'snippet'}->{'publishedAt'}; array_push( $videos, array('videoID' => $videoID, $videoID => $videoPublishedAt) ); } } } return $videos; } private function beeteam368_youtube_automatic_import($auto_id){ if(!isset($auto_id) || !is_numeric($auto_id)){ return; } $processing = get_post_meta($auto_id, $this->prefix.'processing', true); if($processing == 'yes'){ return; } $this->update_processing($auto_id, 'yes'); $playlist_upload = $this->auto_detech_playlist_id($this->auto_detech($youtube_source), '', '', $auto_id); if($playlist_upload!=''){ $fetch_videos = $this->beeteam368_youtube_get_upload_videos($playlist_upload, '', array(), $auto_id); if(!is_array($fetch_videos) || count($fetch_videos) == 0){ $this->update_processing($auto_id, 'no'); return; } $videos = array_slice(wp_list_pluck( $fetch_videos, 'videoID' ), 0, 20); // Limit to 20 foreach($videos as $video){ $newPostID = wp_insert_post([ 'post_title' => '[ID: '.$video.'] Youtube Automatic', 'post_status' => 'private' ]); if(!is_wp_error($newPostID)){ update_post_meta($newPostID, 'beeteam368_youtube_automactic_id', $video); } } } $this->update_processing($auto_id, 'no'); }