Video_Import
Class Video_Import
Source
File: includes/libs/video-import.class.php
class Video_Import{ /** * The results array containing all videos * * @var array */ private $results; /** * Total number of entries returned by API query * * @var int */ private $total_items; /** * Current page in API query * * @var int */ private $page; /** * Reached the end of the feed * * @var bool */ private $end = false; /** * Errors * * @var array|string|WP_Error */ private $errors; /** * @var Vimeo_Api_Query */ private $api; /** * Video_Import constructor. * * @param string $resource_type The type of resource being queried (album, channel, search, etc.). * @param bool|string $resource_id The resource ID that should be retrieved from Vimeo API. * @param bool|string $user_id The user ID (if required) that owns the resource or false in case the parameter is not needed. * @param array $args { * Additional request parameters. * * @type int $page The page number to retrieve from Vimeo API. * @type int $per_page Number of results per page. * @type string $query A search query to search within the set of results for further filtering. * @type string $filter Results filtering; has specific value based on the required feed type (ie. playable, * embeddable, featured, live, etc.). * See Vimeo API docs for the spcific resource imported to get the available * filtering options. * @type bool $filter_embeddable Filter results by embeddable videos (true) or non-embeddable videos (false). Requires * parameter "filter" to be set to "embeddable". * @type bool $filter_playable Whether to filter the results by playable videos (true) or non-playable videos (false). * @type string $links The page containing the video URI. * @type string $password Password for password restricted resources (ie. showcases). * } */ public function __construct( $resource_type, $resource_id = false, $user_id = false, $args = [] ){ $this->api = new Vimeo_Api_Query( $resource_type, $resource_id, $user_id, $args ); $request = $this->api->request_feed(); // stop on error if( is_wp_error( $request ) ){ $this->errors = $request; return; } $result = json_decode( $request['body'], true ); /* single video entry */ if( $this->api->get_api_resource()->is_single_entry() ){ $this->results = $this->api->get_api_resource()->get_formatted_entry( $result ); return; } $raw_entries = isset( $result['data'] ) ? $result['data'] : []; $entries = []; foreach ( $raw_entries as $entry ){ $_entry = $this->api->get_api_resource() ->get_formatted_entry( $entry ); if( !is_null( $_entry ) ) { $entries[] = $_entry; } } $this->results = $entries; $this->end = ( !isset( $result['paging']['next'] ) || empty( $result['paging']['next'] ) ); $this->total_items = isset( $result['total'] ) ? $result['total'] : 0; $this->page = isset( $result['page'] ) ? $result['page'] : 0; } /** * @return array */ public function get_feed(){ return $this->results; } /** * @return int */ public function get_total_items(){ return $this->total_items; } /** * @return int */ public function get_page(){ return $this->page; } /** * @return bool */ public function has_ended(){ return $this->end; } /** * @return array|string|WP_Error */ public function get_errors(){ return $this->errors; } }
Methods
- __construct — Video_Import constructor.
- get_errors
- get_feed
- get_page
- get_total_items
- has_ended