Exemple #1
0
function fv_wp_flowplayer_save_post($post_id)
{
    if ($parent_id = wp_is_post_revision($post_id)) {
        $post_id = $parent_id;
    }
    global $post;
    $post_id = isset($post->ID) ? $post->ID : $post_id;
    global $fv_fp, $post, $FV_Player_Checker;
    if (!$FV_Player_Checker->is_cron && $FV_Player_Checker->queue_check($post_id)) {
        //return;
    }
    $saved_post = get_post($post_id);
    $videos = FV_Player_Checker::get_videos($saved_post->post_content);
    $iDone = 0;
    if (is_array($videos) && count($videos) > 0) {
        $tStart = microtime(true);
        foreach ($videos as $video) {
            if (microtime(true) - $tStart > apply_filters('fv_flowplayer_checker_save_post_time', 5)) {
                FV_Player_Checker::queue_add($post_id);
                break;
            }
            if (isset($post->ID) && !get_post_meta($post->ID, flowplayer::get_video_key($video), true)) {
                $video_secured = $fv_fp->get_video_src($video, array('dynamic' => true, 'url_only' => true, 'flash' => false));
                if (!is_array($video_secured)) {
                    $video_secured = array('media' => $video_secured);
                }
                if (isset($video_secured['media']) && $FV_Player_Checker->check_mimetype(array($video_secured['media']), array('meta_action' => 'check_time', 'meta_original' => $video))) {
                    $iDone++;
                    if (isset($_GET['fv_flowplayer_checker'])) {
                        echo "<p>Post {$post_id} video '{$video}' ok!</p>\n";
                    }
                } else {
                    if (isset($_GET['fv_flowplayer_checker'])) {
                        echo "<p>Post {$post_id} video '{$video}' not done, adding into queue!</p>\n";
                    }
                    FV_Player_Checker::queue_add($post_id);
                }
            } else {
                $iDone++;
            }
        }
    }
    if (!$videos || $iDone == count($videos)) {
        FV_Player_Checker::queue_remove($post_id);
        if (isset($_GET['fv_flowplayer_checker'])) {
            echo "<p>Post {$post_id} done, removing from queue!</p>\n";
        }
    }
}