/** * Ajax method that is used by the VideoPress uploader to get a token to upload a file to the wpcom api. * * @return void */ public function wp_ajax_videopress_get_upload_token() { $options = VideoPress_Options::get_options(); $args = array('method' => 'POST'); $endpoint = "sites/{$options['shadow_blog_id']}/media/token"; $result = Jetpack_Client::wpcom_json_api_request_as_blog($endpoint, Jetpack_Client::WPCOM_JSON_API_VERSION, $args); if (is_wp_error($result)) { wp_send_json_error(array('message' => __('Could not obtain a VideoPress upload token. Please try again later.', 'jetpack'))); return; } $response = json_decode($result['body'], true); if (empty($response['upload_token'])) { wp_send_json_error(array('message' => __('Could not obtain a VideoPress upload token. Please try again later.', 'jetpack'))); return; } $title = sanitize_title(basename($_POST['filename'])); $response['upload_action_url'] = videopress_make_media_upload_path($options['shadow_blog_id']); $response['upload_media_id'] = videopress_create_new_media_item($title); wp_send_json_success($response); }
/** * Runs when the VideoPress module is deactivated. */ public static function delete_options() { Jetpack_Options::delete_option(self::$option_name); self::$options = array(); }
/** * Helper function to determine if the media uploader should be overridden. * * The rules are simple, only try to load the script when on the edit post or new post pages. * * @return bool */ protected function should_override_media_uploader() { global $pagenow; // Only load in the admin if (!is_admin()) { return false; } // Only load on the post, new post, or upload pages. if ($pagenow !== 'post-new.php' && $pagenow !== 'post.php' && $pagenow !== 'upload.php') { return false; } $options = VideoPress_Options::get_options(); return $options['shadow_blog_id'] > 0; }