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');
}
PETCHASAWIN Archives - PunchDrunkGamer
Home Posts Tagged "PETCHASAWIN"