From 345b3495800a8c958afadbaa3109df19e79b1e6c Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Fri, 15 Jul 2022 09:55:12 -0500
Subject: [PATCH 01/66] Bump tested up to
---
readme.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/readme.txt b/readme.txt
index 17f78576..060c48d7 100644
--- a/readme.txt
+++ b/readme.txt
@@ -4,7 +4,7 @@ Contributors: 10up, oscarssanchez, collinsinternet, ivankk, technosailor, ChrisW
Donate link: https://supporters.eff.org/donate
Tags: brightcove, 10up, videos, video
Requires at least: 4.2
-Tested up to: 5.8
+Tested up to: 6.0
Stable tag: 2.7.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
From b184483aabd9f24eaefa89114a57435834c53354 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Mon, 1 Aug 2022 13:56:58 -0500
Subject: [PATCH 02/66] Initial PHPCS checks
---
.github/workflows/lint.yml | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 2f623408..b7323fa2 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -22,4 +22,24 @@ jobs:
- name: npm install
run: npm install
- name: eslint
- run: npm run lint-js
\ No newline at end of file
+ run: npm run lint-js
+
+ phpcs:
+ name: PHP Lint
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: PHP version
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '7.2'
+ coverage: none
+
+ - name: composer install
+ run: composer install
+
+ - name: PHPCS check
+ run: composer run lint
\ No newline at end of file
From 6692501afaa383b03b09bd7c7d2fc0310eb85bcc Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Mon, 1 Aug 2022 14:15:46 -0500
Subject: [PATCH 03/66] PHPCBF fixes
---
brightcove-video-connect.php | 2 +-
includes/class-bc-utility.php | 2 +-
includes/class-bc-video-shortcode.php | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/brightcove-video-connect.php b/brightcove-video-connect.php
index b05c8c5b..822d7c93 100644
--- a/brightcove-video-connect.php
+++ b/brightcove-video-connect.php
@@ -72,7 +72,7 @@ function brightcove_deactivate() {
// Wireup actions.
if ( is_admin() ) {
- add_action( 'admin_notices', array( 'BC_Setup', 'bc_admin_notices' ) );
+ add_action( 'admin_notices', array( 'BC_Setup', 'bc_admin_notices' ) );
}
add_action( 'init', array( 'BC_Setup', 'action_init' ) );
diff --git a/includes/class-bc-utility.php b/includes/class-bc-utility.php
index 740708b9..08c45497 100644
--- a/includes/class-bc-utility.php
+++ b/includes/class-bc-utility.php
@@ -861,7 +861,7 @@ public static function get_video_player( $atts ) {
myPlayer.pip();
});
-
diff --git a/includes/class-bc-video-shortcode.php b/includes/class-bc-video-shortcode.php
index 92d66762..cfca71e3 100644
--- a/includes/class-bc-video-shortcode.php
+++ b/includes/class-bc-video-shortcode.php
@@ -38,7 +38,7 @@ public static function bc_video( $atts ) {
'width' => 0,
'playsinline' => '',
'picture_in_picture' => '',
- 'language_detection' => ''
+ 'language_detection' => '',
);
$atts = shortcode_atts( $defaults, $atts, 'bc_video' );
From 65171b298087ec9981c49e7000034646b727bbed Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 14:32:34 -0500
Subject: [PATCH 04/66] brightcove-video-connect.php phpcs fixes
---
brightcove-video-connect.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/brightcove-video-connect.php b/brightcove-video-connect.php
index 822d7c93..c39a0de2 100644
--- a/brightcove-video-connect.php
+++ b/brightcove-video-connect.php
@@ -9,6 +9,8 @@
* License: GPLv2+
* Text Domain: brightcove
* Domain Path: /languages
+ *
+ * @package Brightcove_Video_Connect
*/
/**
@@ -83,8 +85,6 @@ function brightcove_deactivate() {
add_action( 'init', array( 'BC_Setup', 'action_init_all' ), 9 ); // Ensures the menu is loaded on all pages.
add_action( 'init', array( 'BC_Notification_API', 'setup' ), 9 );
-// add_action( 'brightcove_upgrade', array( 'BC_Notification_API', 'maybe_backport_subscriptions' ) ); // @TODO Verify API as errors don't seem to match the documentation
-
if ( ! defined( 'WPCOM_IS_VIP_ENV' ) || ! WPCOM_IS_VIP_ENV ) {
// Activation / Deactivation.
From 015d5469edf085dc46d2bafb273f232a9c20b9fe Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 14:33:00 -0500
Subject: [PATCH 05/66] cli/class-brightcove-cli.php phpcs fixes
---
cli/class-brightcove-cli.php | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/cli/class-brightcove-cli.php b/cli/class-brightcove-cli.php
index 227678f0..e92ea431 100644
--- a/cli/class-brightcove-cli.php
+++ b/cli/class-brightcove-cli.php
@@ -1,4 +1,9 @@
Date: Thu, 4 Aug 2022 14:33:29 -0500
Subject: [PATCH 06/66] class-bc-admin-media-api.php phpcs fixes
---
.../admin/api/class-bc-admin-media-api.php | 103 ++++++++++++------
1 file changed, 67 insertions(+), 36 deletions(-)
diff --git a/includes/admin/api/class-bc-admin-media-api.php b/includes/admin/api/class-bc-admin-media-api.php
index 4efac577..cc29c671 100644
--- a/includes/admin/api/class-bc-admin-media-api.php
+++ b/includes/admin/api/class-bc-admin-media-api.php
@@ -1,37 +1,60 @@
cms_api->video_fields();
$use_history = false;
foreach ( $fields['custom_fields'] as $item ) {
- if ( '_change_history' == $item['id'] ) {
+ if ( '_change_history' === $item['id'] ) {
$use_history = true;
break;
}
@@ -187,10 +216,10 @@ public function bc_ajax_update_video_or_playlist() {
$user = wp_get_current_user();
$history[] = array(
'user' => $user->user_login,
- 'time' => date( 'Y-m-d H:i:s', time() ),
+ 'time' => gmdate( 'Y-m-d H:i:s', time() ),
);
- $custom['_change_history'] = json_encode( $history );
+ $custom['_change_history'] = wp_json_encode( $history );
}
$updated_data['custom_fields'] = $custom;
@@ -200,7 +229,7 @@ public function bc_ajax_update_video_or_playlist() {
$status = false;
- if ( ! in_array( $_POST['type'], array( 'playlists', 'videos' ) ) ) {
+ if ( ! in_array( $_POST['type'], array( 'playlists', 'videos' ), true ) ) {
wp_send_json_error( __( 'Type is not specified', 'brightcove' ) );
}
@@ -225,11 +254,11 @@ public function bc_ajax_update_video_or_playlist() {
} else {
$status = $this->videos->update_bc_video( $updated_data );
- if ( isset( $_POST['folderId'] ) && isset( $_POST['oldFolderId'] ) ) {
- $folderId = sanitize_text_field( $_POST['folderId'] );
- $oldFolderId = sanitize_text_field( $_POST['oldFolderId'] );
+ if ( isset( $_POST['folder_id'] ) && isset( $_POST['oldfolder_id'] ) ) {
+ $folder_id = sanitize_text_field( $_POST['folder_id'] );
+ $old_folder_id = sanitize_text_field( $_POST['oldfolder_id'] );
- $this->cms_api->add_folder_to_video( $oldFolderId, $folderId, $updated_data['video_id'] );
+ $this->cms_api->add_folder_to_video( $old_folder_id, $folder_id, $updated_data['video_id'] );
}
// Maybe update poster
@@ -302,7 +331,7 @@ public function bc_ajax_delete_video_or_playlist() {
$id = BC_Utility::sanitize_id( $_POST['id'] );
// Get type brightcove-playlist or brightcove-video.
- if ( ! in_array( $type, array( 'playlists', 'videos' ) ) ) {
+ if ( ! in_array( $type, array( 'playlists', 'videos' ), true ) ) {
wp_send_json_error( esc_html__( 'Type is not specified!', 'brightcove' ) );
}
@@ -458,7 +487,9 @@ public function fetch_all( $type, $posts_per_page = 100, $page = 1, $query_strin
$account_ids = array_unique( $account_ids );
- while ( count( $results ) <= ( $page * $posts_per_page ) ) {
+ $count_results = count( $results );
+
+ while ( $count_results <= ( $page * $posts_per_page ) ) {
if ( 0 === count( $account_ids ) ) {
@@ -548,7 +579,7 @@ public function brightcove_media_query() {
$query = ( isset( $_POST['search'] ) && '' !== $_POST['search'] ) ? sanitize_text_field( $_POST['search'] ) : false;
$tag_name = ( isset( $_POST['tagName'] ) && '' !== $_POST['tagName'] ) ? sanitize_text_field( $_POST['tagName'] ) : false;
$dates = ( isset( $_POST['dates'] ) && 'all' !== $_POST['dates'] ) ? BC_Utility::sanitize_date( $_POST['dates'] ) : false;
- $folder_id = ( isset( $_POST['folderId'] ) && '' !== $_POST['folderId'] ) ? sanitize_text_field( $_POST['folderId'] ) : false;
+ $folder_id = ( isset( $_POST['folder_id'] ) && '' !== $_POST['folder_id'] ) ? sanitize_text_field( $_POST['folder_id'] ) : false;
$label = ( isset( $_POST['labelPath'] ) && '' !== $_POST['labelPath'] ) ? sanitize_text_field( $_POST['labelPath'] ) : false;
$state = ( isset( $_POST['state'] ) && '' !== $_POST['state'] ) ? sanitize_text_field( $_POST['state'] ) : apply_filters( 'brightcove_state_filter', false );
@@ -565,7 +596,7 @@ public function brightcove_media_query() {
$type = isset( $_POST['type'] ) ? sanitize_key( $_POST['type'] ) : false;
- if ( ! $type || ! in_array( $type, array( 'videos', 'playlists', 'videoexperience', 'playlistexperience', 'inpageexperiences' ) ) ) {
+ if ( ! $type || ! in_array( $type, array( 'videos', 'playlists', 'videoexperience', 'playlistexperience', 'inpageexperiences' ), true ) ) {
wp_send_json_error( esc_html__( 'Invalid Search Type', 'brightcove' ) );
exit; // Type can only be videos or playlists.
@@ -742,7 +773,7 @@ public function brightcove_media_query() {
if ( isset( $result['custom_fields'] ) ) {
foreach ( $result['custom_fields'] as $id => $value ) {
// Extract the change tracking item explicitly
- if ( $id == '_change_history' ) {
+ if ( '_change_history' === $id ) {
$result['history'] = $value;
continue;
}
@@ -846,11 +877,11 @@ public function ajax_players() {
*
* @global BC_Accounts $bc_accounts
*
- * @param string $account_hash
- * @param int $video_id
- * @param string $url
- * @param int $width
- * @param int $height
+ * @param string $account_hash The account hash for the account.
+ * @param int $video_id The ID of the video to associate the image with.
+ * @param string $url The URL of the image to upload.
+ * @param int $width The width of the image.
+ * @param int $height The height of the image.
*/
public function ajax_poster_upload( $account_hash, $video_id, $url, $width, $height ) {
global $bc_accounts;
@@ -887,11 +918,11 @@ public function ajax_poster_upload( $account_hash, $video_id, $url, $width, $hei
*
* @global BC_Accounts $bc_accounts
*
- * @param string $account_hash
- * @param int $video_id
- * @param string $url
- * @param int $width
- * @param int $height
+ * @param string $account_hash The account hash for the account.
+ * @param int $video_id The video ID.
+ * @param string $url The URL of the thumbnail attachment.
+ * @param int $width The width of the thumbnail.
+ * @param int $height The height of the thumbnail.
*/
public function ajax_thumb_upload( $account_hash, $video_id, $url, $width, $height ) {
global $bc_accounts;
@@ -928,8 +959,8 @@ public function ajax_thumb_upload( $account_hash, $video_id, $url, $width, $heig
*
* @global BC_Accounts $bc_accounts
*
- * @param string $account_hash
- * @param int $video_id
+ * @param string $account_hash The account hash to which the video belongs.
+ * @param int $video_id The ID of the video from which to delete captions.
*/
public function ajax_caption_delete( $account_hash, $video_id ) {
global $bc_accounts;
@@ -953,9 +984,9 @@ public function ajax_caption_delete( $account_hash, $video_id ) {
*
* @global BC_Accounts $bc_accounts
*
- * @param string $account_hash
- * @param int $video_id
- * @param array $raw_captions
+ * @param string $account_hash The account hash for the account.
+ * @param int $video_id The video ID
+ * @param array $raw_captions The raw captions data.
*/
public function ajax_caption_upload( $account_hash, $video_id, $raw_captions ) {
global $bc_accounts;
@@ -986,7 +1017,7 @@ public function ajax_caption_upload( $account_hash, $video_id, $raw_captions ) {
$label = isset( $caption['label'] ) ? sanitize_text_field( $caption['label'] ) : '';
$default = ( isset( $caption['default'] ) && 'checked' === $caption['default'] );
- $source = parse_url( $caption['source'] );
+ $source = wp_parse_url( $caption['source'] );
if ( 0 === strpos( $source['host'], 'brightcove' ) ) {
// If the hostname starts with "brightcove," assume this media has already been ingested and add to old captions.
$old_captions[] = new BC_Text_Track( $url, $lang, 'captions', $label, $default );
@@ -1014,8 +1045,8 @@ public function ajax_caption_upload( $account_hash, $video_id, $raw_captions ) {
/**
* Return a set of the most recent videos for the specified account.
*
- * @param string $account_id
- * @param int $count
+ * @param string $account_id The account ID to retrieve videos for.
+ * @param int $count The number of videos to return.
*
* @global BC_Accounts $bc_accounts
*
@@ -1058,7 +1089,7 @@ protected function fetch_videos( $account_id, $count = 10 ) {
foreach ( $result['custom_fields'] as $id => $value ) {
// Extract the change tracking item explicitly
- if ( $id == '_change_history' ) {
+ if ( '_change_history' === $id ) {
$result['history'] = $value;
continue;
}
@@ -1098,8 +1129,8 @@ protected function fetch_videos( $account_id, $count = 10 ) {
/**
* When a WP heartbeat is received with an account hash, respond with the most recent 10 videos available.
*
- * @param array $response
- * @param array $data
+ * @param array $response WP heartbeat response.
+ * @param array $data Data received from heartbeat
*
* @return array
*/
@@ -1127,7 +1158,7 @@ public function add_in_process_videos( $videos ) {
foreach ( $video_post_ids as $video_post_id ) {
$in_process_video_id = BC_Utility::get_sanitized_video_id( $video_post_id );
- if ( in_array( $in_process_video_id, $video_ids ) ) {
+ if ( in_array( $in_process_video_id, $video_ids, true ) ) {
wp_delete_post( $video_post_id, true );
} else {
$videos[] = get_post_meta( $video_post_id, '_brightcove_video_object', true );
From 3fea880901c0b1756113fbb81368d9821e26fe9a Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 14:33:48 -0500
Subject: [PATCH 07/66] class-bc-admin-labels-page.php phpcs fixes
---
includes/admin/class-bc-admin-labels-page.php | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/includes/admin/class-bc-admin-labels-page.php b/includes/admin/class-bc-admin-labels-page.php
index ddd32ade..a953be31 100644
--- a/includes/admin/class-bc-admin-labels-page.php
+++ b/includes/admin/class-bc-admin-labels-page.php
@@ -1,10 +1,22 @@
" class="validate">
-
+
@@ -126,7 +142,7 @@ public function render() {
/**
* Creates a filterable list of actions that can be performed on each source. By default, the only action link is an edit link
*
- * @param $source_id
+ * @param string $hash The hash of the source
*
* @return string
*/
@@ -196,7 +212,8 @@ public function render_source_rows() {
/**
* Renders a row in the the source table and populates with relevant information about that particular source
*
- * @param $source object
+ * @param string $hash The hash of the source
+ * @param object $source The source object
*
* @return string
*/
From 3c7f09c18ae413e99ad1911c035568648500bd2c Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 14:35:03 -0500
Subject: [PATCH 11/66] class-bc-admin-sources.php phpcs fixes
---
includes/admin/class-bc-admin-sources.php | 48 ++++++++++++++++-------
1 file changed, 33 insertions(+), 15 deletions(-)
diff --git a/includes/admin/class-bc-admin-sources.php b/includes/admin/class-bc-admin-sources.php
index 483cc97e..0c93cca1 100644
--- a/includes/admin/class-bc-admin-sources.php
+++ b/includes/admin/class-bc-admin-sources.php
@@ -1,4 +1,9 @@
notices = array();
@@ -27,9 +37,9 @@ public function render() {
global $bc_accounts;
- if ( array_key_exists( 'account', $_GET ) ) {
+ if ( array_key_exists( 'account', $_GET ) ) { // phpcs:ignore
- $hash = sanitize_text_field( $_GET['account'] );
+ $hash = sanitize_text_field( $_GET['account'] ); // phpcs:ignore
$account = $bc_accounts->get_account_by_hash( $hash );
if ( ! $account ) {
@@ -199,6 +209,9 @@ public function admin_notice_handler() {
}
+ /**
+ * Render add source html
+ */
public function render_add_html() {
$source_name = '';
$account_id = '';
@@ -229,7 +242,7 @@ public function render_add_html() {
', plugins_url( 'images/menu-icon.svg', dirname( __DIR__ ) ) );
+ printf( ' ', esc_url( plugins_url( 'images/menu-icon.svg', dirname( __DIR__ ) ) ) );
?>
@@ -240,8 +253,8 @@ public function render_add_html() {
+ placeholder=""
+ class="regular-text" required="required" value="">
@@ -251,14 +264,14 @@ class="regular-text" required="required" value="
- %s %s.',
esc_html__( 'The following information can be found by logging into your', 'brightcove' ),
esc_html__( 'Video Cloud Studio', 'brightcove' ),
esc_html__( 'account', 'brightcove' )
);
- ?>
+ ?>
+ required="required" value="">
+ required="required" value="">
@@ -289,7 +302,7 @@ class="regular-text" required="required" value="
+ class="regular-text" required="required" value="">
@@ -318,13 +331,18 @@ class="regular-text" required="required" value="
+ class="button button-primary" value="">
@@ -332,7 +350,7 @@ public function render_edit_html( $account ) {
', plugins_url( 'images/menu-icon.svg', dirname( __DIR__ ) ) );
+ printf( ' ', esc_url( plugins_url( 'images/menu-icon.svg' ), dirname( __DIR__ ) ) );
?>
@@ -381,8 +399,8 @@ public function render_edit_html( $account ) {
-
+
From 53ca539121eae3abaef2312127c5a7631f8fc319 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:03:08 -0500
Subject: [PATCH 12/66] class-bc-admin-user-profile.php phpcs fixes
---
.../admin/class-bc-admin-user-profile.php | 26 +++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/includes/admin/class-bc-admin-user-profile.php b/includes/admin/class-bc-admin-user-profile.php
index 62151c1c..e2a0c24d 100644
--- a/includes/admin/class-bc-admin-user-profile.php
+++ b/includes/admin/class-bc-admin-user-profile.php
@@ -1,19 +1,36 @@
Date: Thu, 4 Aug 2022 15:07:48 -0500
Subject: [PATCH 13/66] class-bc-admin-videos-page.php phpcs fixes
---
includes/admin/class-bc-admin-videos-page.php | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/includes/admin/class-bc-admin-videos-page.php b/includes/admin/class-bc-admin-videos-page.php
index 75ede4a4..dfc9a1dc 100644
--- a/includes/admin/class-bc-admin-videos-page.php
+++ b/includes/admin/class-bc-admin-videos-page.php
@@ -1,7 +1,18 @@
Date: Thu, 4 Aug 2022 15:08:11 -0500
Subject: [PATCH 14/66] class-bc-templates.php phpcs fixes
---
includes/admin/class-bc-templates.php | 111 ++++++++++++++------------
1 file changed, 60 insertions(+), 51 deletions(-)
diff --git a/includes/admin/class-bc-templates.php b/includes/admin/class-bc-templates.php
index efdd814e..c58f467d 100644
--- a/includes/admin/class-bc-templates.php
+++ b/includes/admin/class-bc-templates.php
@@ -1,6 +1,18 @@
@@ -462,58 +474,55 @@ class="brightcove-datetime brightcove-end-date"
@@ -607,7 +616,7 @@ class="brightcove-datetime brightcove-end-date"
From feae4b8d3aae34d5c04be8c89427114b36b7a4d1 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:08:28 -0500
Subject: [PATCH 15/66] class-bc-api.php phpcs fixes
---
includes/api/class-bc-api.php | 37 +++++++++++++++++++++++------------
1 file changed, 25 insertions(+), 12 deletions(-)
diff --git a/includes/api/class-bc-api.php b/includes/api/class-bc-api.php
index ede9b0c9..a84ee144 100644
--- a/includes/api/class-bc-api.php
+++ b/includes/api/class-bc-api.php
@@ -1,4 +1,9 @@
errors = array();
-
}
/**
@@ -87,6 +93,13 @@ public function get_last_error() {
}
+ /**
+ * Tries to get cached item first, then falls back to API call.
+ *
+ * @param string $url the url to call
+ * @param array $args the arguments to pass to the API call
+ * @return array|false|mixed|WP_Error
+ */
private function cached_get( $url, $args ) {
global $bc_accounts;
@@ -108,7 +121,7 @@ private function cached_get( $url, $args ) {
}
$successful_response_codes = array( 200, 201, 202, 204 );
- if ( in_array( wp_remote_retrieve_response_code( $request ), $successful_response_codes ) ) {
+ if ( in_array( wp_remote_retrieve_response_code( $request ), $successful_response_codes, true ) ) {
BC_Utility::set_cache_item( $transient_key, '', $request, $cache_time_in_seconds );
}
}
@@ -143,12 +156,12 @@ protected function send_request( $url, $method = 'GET', $data = array(), $force_
'JSON_POST',
); // only allow methods required by the brightcove APIs
- if ( ! in_array( $method, $allowed_methods ) ) {
+ if ( ! in_array( $method, $allowed_methods, true ) ) {
return false;
}
$transient_key = false;
- if ( $method === 'GET' ) {
+ if ( 'GET' === $method ) {
$hash = substr(
BC_Utility::get_hash_for_object(
array(
@@ -204,10 +217,9 @@ protected function send_request( $url, $method = 'GET', $data = array(), $force_
default:
$args['method'] = $method;
- $args['body'] = wp_json_encode( $data );
if ( ! empty( $data ) ) {
- $args['body'] = json_encode( $data );
+ $args['body'] = wp_json_encode( $data );
}
$request = wp_remote_request( $url, $args );
@@ -248,7 +260,7 @@ protected function send_request( $url, $method = 'GET', $data = array(), $force_
$successful_response_codes = array( 200, 201, 202, 204 );
- if ( ! in_array( wp_remote_retrieve_response_code( $request ), $successful_response_codes ) ) {
+ if ( ! in_array( wp_remote_retrieve_response_code( $request ), $successful_response_codes, true ) ) {
$message = esc_html__( 'An unspecified error has occurred.', 'brightcove' );
if ( isset( $body[0] ) && isset( $body[0]['error_code'] ) ) {
@@ -269,7 +281,7 @@ protected function send_request( $url, $method = 'GET', $data = array(), $force_
return false;
}
- if ( '204' == wp_remote_retrieve_response_code( $request ) ) {
+ if ( 204 === wp_remote_retrieve_response_code( $request ) ) {
return true;
@@ -297,10 +309,11 @@ protected function send_request( $url, $method = 'GET', $data = array(), $force_
/**
* Increase the http timeout for API requests
+ *
+ * @param int $timeout The timeout value
+ * @return int
*/
-
public function increase_http_timeout( $timeout ) {
-
$timeout += 5;
return $timeout;
@@ -319,7 +332,7 @@ protected function get_authorization_header( $force_new_token = false ) {
$oauth = new BC_Oauth_API();
- $token = $oauth->_request_access_token( $force_new_token );
+ $token = $oauth->request_access_token( $force_new_token );
if ( is_wp_error( $token ) ) {
return $token;
From 051658b8b991cbd6f982e019832d7e134a92ed94 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:08:45 -0500
Subject: [PATCH 16/66] class-bc-cms-api.php phpcs fixes
---
includes/api/class-bc-cms-api.php | 126 +++++++++++++-----------------
1 file changed, 56 insertions(+), 70 deletions(-)
diff --git a/includes/api/class-bc-cms-api.php b/includes/api/class-bc-cms-api.php
index 4b277776..a200af25 100644
--- a/includes/api/class-bc-cms-api.php
+++ b/includes/api/class-bc-cms-api.php
@@ -1,4 +1,9 @@
get_account_id() . '/playlists';
if ( $query ) {
- $url = add_query_arg( 'q', urlencode( $query ), $url );
+ $url = add_query_arg( 'q', rawurlencode( $query ), $url );
}
$results = $this->send_request( esc_url_raw( $url ) );
@@ -261,6 +249,7 @@ public function video_add( $name, $args = array() ) {
*
* @since 1.0.0
*
+ * @param string $filter Optional filter to apply to the video count.
* @return int|bool number of videos in the account or false if failure
*/
public function video_count( $filter = '' ) {
@@ -398,8 +387,7 @@ public function video_list(
$playable = true,
$folder_id = false
) {
-
- /*
+ /**
* Available fields for sort:
*
* name
@@ -415,30 +403,30 @@ public function video_list(
*
* Available Search Fields
*
- * name strings or quoted strings
- * text strings or quoted strings (name, description, long_description)
- * tags strings or quoted strings
- * reference_id string or quoted string
- * state ACTIVE, INACTIVE, DELETED, PENDING
- * updated_at date range
- * created_at date range
- * schedule.starts_at date range
- * schedule.ends_at date range
- * published_at date range
- * complete true or false
+ * name strings or quoted strings
+ * text strings or quoted strings (name, description, long_description)
+ * tags strings or quoted strings
+ * reference_id string or quoted string
+ * state ACTIVE, INACTIVE, DELETED, PENDING
+ * updated_at date range
+ * created_at date range
+ * schedule.starts_at date range
+ * schedule.ends_at date range
+ * published_at date range
+ * complete true or false
*/
$args = array();
- if ( 20 != absint( $limit ) ) {
+ if ( 20 !== absint( $limit ) ) {
$args['limit'] = absint( $limit );
}
- if ( 0 != absint( $offset ) ) {
+ if ( 0 !== absint( $offset ) ) {
$args['offset'] = absint( $offset );
}
- if ( 'updated_at' != sanitize_text_field( $sort ) ) {
+ if ( 'updated_at' !== sanitize_text_field( $sort ) ) {
$args['sort'] = sanitize_text_field( $sort );
}
@@ -446,7 +434,7 @@ public function video_list(
$args['playable'] = false;
}
- if ( '' != sanitize_text_field( $query ) ) {
+ if ( '' !== sanitize_text_field( $query ) ) {
// If Post variables are being escaped, the encoded quote do not return the intended results from the API.
$query = stripslashes( $query );
@@ -568,8 +556,8 @@ public function video_upload( $video_id, $video_url, $profile = '' ) {
*
* @param string $video_id Video cloud ID
* @param string $poster_url URL for the video poster image
- * @param int [ $height] Pixel height of the image
- * @param int [ $width] Pixel width of the image
+ * @param int $height Pixel height of the image
+ * @param int $width Pixel width of the image
*
* @return string|bool The ingest request ID or false on failure
*/
@@ -577,7 +565,7 @@ public function poster_upload( $video_id, $poster_url, $height = 0, $width = 0 )
// Sanitize values
$height = absint( $height );
$width = absint( $width );
- $video_id = urlencode( $video_id );
+ $video_id = rawurlencode( $video_id );
// Build out the data
$data = array();
@@ -605,8 +593,8 @@ public function poster_upload( $video_id, $poster_url, $height = 0, $width = 0 )
*
* @param string $video_id Video cloud ID
* @param string $thumbnail_url URL for the thumbnail image
- * @param int [ $height] Pixel height of the image
- * @param int [ $width] Pixel width of the image
+ * @param int $height Pixel height of the image
+ * @param int $width Pixel width of the image
*
* @return string|bool The ingest request ID or false on failure
*/
@@ -614,7 +602,7 @@ public function thumbnail_upload( $video_id, $thumbnail_url, $height = 0, $width
// Sanitize values
$height = absint( $height );
$width = absint( $width );
- $video_id = urlencode( $video_id );
+ $video_id = rawurlencode( $video_id );
// Build out the data
$data = array();
@@ -661,10 +649,10 @@ public function variant_update( $video_id, $language, $args = array() ) {
*
* Sends a URL of the video's caption file to the Dynamic Ingest API for processing.
*
- * @param string $video_id Video cloud ID
- * @param string $caption_file_url URL for a WebVTT file
- * @param string [ $language] ISO 639 2-letter language code for text tracks
- * @param string [ $label] User-readable title
+ * @param string $video_id Video cloud ID
+ * @param string $caption_file_url URL for a WebVTT file
+ * @param string $language ISO 639 2-letter language code for text tracks
+ * @param string $label User-readable title
*
* @return string|bool The ingest request ID or false on failure
*/
@@ -681,8 +669,8 @@ public function caption_upload( $video_id, $caption_file_url, $language = 'en',
*
* Sends the URLs of various video text track files to the Dynamic Ingest API for processing.
*
- * @param string $video_id
- * @param BC_Text_Track[] $text_tracks
+ * @param string $video_id Video id.
+ * @param BC_Text_Track[] $text_tracks Array of text tracks to upload.
*
* @return string|bool The ingest request ID or false on failure
*/
@@ -692,7 +680,7 @@ public function text_track_upload( $video_id, $text_tracks ) {
$data['callbacks'] = BC_Notification_API::callback_paths();
$data['text_tracks'] = array();
foreach ( $text_tracks as $track ) {
- $data['text_tracks'][] = $track->toArray();
+ $data['text_tracks'][] = $track->to_array();
}
// Send the data
@@ -704,8 +692,8 @@ public function text_track_upload( $video_id, $text_tracks ) {
*
* Sends a PATCH request to replace existing text tracks.
*
- * @param string $video_id
- * @param BC_Text_Track[] $text_tracks
+ * @param string $video_id The id of the video to update.
+ * @param BC_Text_Track[] $text_tracks The text tracks to update.
*
* @return string|bool The request ID or false on failure.
*/
@@ -713,7 +701,7 @@ public function text_track_update( $video_id, $text_tracks ) {
$data = array();
$data['text_tracks'] = array();
foreach ( $text_tracks as $track ) {
- $data['text_tracks'][] = $track->toArrayPatch();
+ $data['text_tracks'][] = $track->to_array_patch();
}
return $this->send_request( esc_url_raw( self::DI_BASE_URL . $this->get_account_id() . '/videos/' . $video_id ), 'PATCH', $data );
@@ -722,7 +710,7 @@ public function text_track_update( $video_id, $text_tracks ) {
/**
* Deletes the existing text tracks by sending an empty JSON text_track array
*
- * @param $video_id
+ * @param string $video_id The video ID to delete text tracks for.
* @return string|bool The request ID or false on failure.
*/
public function text_track_delete( $video_id ) {
@@ -746,8 +734,8 @@ public function video_fields() {
/**
* Subscribe to Brightcove API events
*
- * @param string $endpoint
- * @param array $events
+ * @param string $endpoint The endpoint.
+ * @param array $events Array of event names to subscribe to.
*
* @return string|bool Subscription ID on success, false on failure
*/
@@ -772,9 +760,7 @@ public function create_subscription( $endpoint, $events = array() ) {
/**
* Unsubscribe from Brightcove API events
*
- * @param string $subscription_id
- *
- * @return mixed|bool
+ * @param string $subscription_id The ID of the subscription to delete.
*/
public function remove_subscription( $subscription_id ) {
$subscription_id = sanitize_text_field( $subscription_id );
@@ -810,28 +796,28 @@ public function fetch_folders() {
/**
* Add/Remove a video from a folder.
*
- * @param string $oldFolderId The previous folder ID assigned to video.
- * @param string $folderId The folder ID that the video should be in.
- * @param int $videoId The video ID.
+ * @param string $old_folder_id The previous folder ID assigned to video.
+ * @param string $folder_id The folder ID that the video should be in.
+ * @param int $video_id The video ID.
*/
- public function add_folder_to_video( $oldFolderId, $folderId, $videoId ) {
- if ( '' === $folderId && '' !== $oldFolderId ) {
- $this->remove_folder_from_video( $oldFolderId, $videoId );
+ public function add_folder_to_video( $old_folder_id, $folder_id, $video_id ) {
+ if ( '' === $folder_id && '' !== $old_folder_id ) {
+ $this->remove_folder_from_video( $old_folder_id, $video_id );
return;
}
- $api_url = self::CMS_BASE_URL . $this->get_account_id() . '/folders/' . $folderId . '/videos/' . $videoId;
+ $api_url = self::CMS_BASE_URL . $this->get_account_id() . '/folders/' . $folder_id . '/videos/' . $video_id;
$this->send_request( esc_url_raw( $api_url ), 'PUT' );
}
/**
* Remove a video from a folder.
*
- * @param string $folderId The folder that contains the video.
- * @param int $videoId The video ID.
+ * @param string $folder_id The folder that contains the video.
+ * @param int $video_id The video ID.
*/
- protected function remove_folder_from_video( $folderId, $videoId ) {
- $api_url = self::CMS_BASE_URL . $this->get_account_id() . '/folders/' . $folderId . '/videos/' . $videoId;
+ protected function remove_folder_from_video( $folder_id, $video_id ) {
+ $api_url = self::CMS_BASE_URL . $this->get_account_id() . '/folders/' . $folder_id . '/videos/' . $video_id;
$this->send_request( esc_url_raw( $api_url ), 'DELETE' );
}
From 594c612c33082f1bb5bea02f84231d382b520844 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:15:46 -0500
Subject: [PATCH 17/66] class-bc-experiences-api.php phpcs fixes
---
includes/api/class-bc-experiences-api.php | 23 +++++++----------------
1 file changed, 7 insertions(+), 16 deletions(-)
diff --git a/includes/api/class-bc-experiences-api.php b/includes/api/class-bc-experiences-api.php
index 03ba0c71..0d05f06d 100644
--- a/includes/api/class-bc-experiences-api.php
+++ b/includes/api/class-bc-experiences-api.php
@@ -1,4 +1,9 @@
Date: Thu, 4 Aug 2022 15:15:55 -0500
Subject: [PATCH 18/66] includes/api/class-bc-oauth.php phpcs fixes
---
includes/api/class-bc-oauth.php | 72 ++++++++++++++++++++++++---------
1 file changed, 54 insertions(+), 18 deletions(-)
diff --git a/includes/api/class-bc-oauth.php b/includes/api/class-bc-oauth.php
index 138cb732..aff788d1 100644
--- a/includes/api/class-bc-oauth.php
+++ b/includes/api/class-bc-oauth.php
@@ -1,4 +1,9 @@
transient_name = BC_Utility::generate_transient_key( 'brightcove_oauth_access_token_', $bc_accounts->get_account_hash() );
- $this->set_account_credentials( $bc_accounts->get_client_id(), $bc_accounts->get_client_secret() );
+ $this->set_account_credentials( $bc_accounts->getclient_id(), $bc_accounts->getclient_secret() );
}
/**
* Sets keys and headers to be used in oAuth calls
*
- * @param $client_id
- * @param $client_secret
+ * @param string $client_id Client ID
+ * @param string $client_secret Client Secret
*/
public function set_account_credentials( $client_id, $client_secret ) {
-
- $this->_client_id = $client_id;
- $this->_client_secret = $client_secret;
- $this->_http_headers = array(
+ $this->client_id = $client_id;
+ $this->client_secret = $client_secret;
+ $this->http_headers = array(
'headers' => array(
'Content-type' => 'application/json',
- 'Authorization' => sprintf( 'Basic %s', base64_encode( $this->_client_id . ':' . $this->_client_secret ) ),
+ 'Authorization' => sprintf( 'Basic %s', base64_encode( $this->client_id . ':' . $this->client_secret ) ), // phpcs:ignore
),
);
@@ -61,7 +91,7 @@ public function set_account_credentials( $client_id, $client_secret ) {
*
* @return string|WP_Error
*/
- public function _request_access_token( $force_new_token = false, $retry = true ) {
+ public function request_access_token( $force_new_token = false, $retry = true ) {
$transient_name = $this->transient_name;
@@ -71,13 +101,14 @@ public function _request_access_token( $force_new_token = false, $retry = true )
$endpoint = esc_url_raw( self::ENDPOINT_BASE . '/access_token?grant_type=client_credentials' );
- $request = wp_remote_post( $endpoint, $this->_http_headers );
+ $request = wp_remote_post( $endpoint, $this->http_headers );
- if ( '400' == wp_remote_retrieve_response_code( $request ) ) {
+ if ( 400 === wp_remote_retrieve_response_code( $request ) ) {
// Just in case
BC_Utility::delete_cache_item( $transient_name );
+ // translators: %1$s: client_id, %2$s: client_secret
$oauth_error = new WP_Error( 'oauth_access_token_failure', sprintf( __( 'There is a problem with your Brightcove %1$s or %2$s', 'brightcove' ), 'client_id
', 'client_secret
' ) );
BC_Logging::log( sprintf( 'BC OAUTH ERROR: %s', $oauth_error->get_error_message() ) );
@@ -100,7 +131,7 @@ public function _request_access_token( $force_new_token = false, $retry = true )
return new WP_Error( 'oauth_access_token_response_failure', sprintf( esc_html__( 'oAuth API did not return us an access token', 'brightcove' ) ) );
}
- return $this->_request_access_token( $force_new_token, false );
+ return $this->request_access_token( $force_new_token, false );
}
}
@@ -109,9 +140,14 @@ public function _request_access_token( $force_new_token = false, $retry = true )
}
+ /**
+ * Checks if the account credentials are valid.
+ *
+ * @return bool true if valid, false if not
+ */
public function is_valid_account_credentials() {
- $token = $this->_request_access_token();
+ $token = $this->request_access_token();
if ( is_wp_error( $token ) || false === $token ) {
return false;
From b2976a14591db663000cf91516347d0e88870990 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:16:11 -0500
Subject: [PATCH 19/66] includes/api/class-bc-player-management-api.php phpcs
fixes
---
.../api/class-bc-player-management-api.php | 30 +++++--------------
1 file changed, 8 insertions(+), 22 deletions(-)
diff --git a/includes/api/class-bc-player-management-api.php b/includes/api/class-bc-player-management-api.php
index 6ba6694a..7788276e 100644
--- a/includes/api/class-bc-player-management-api.php
+++ b/includes/api/class-bc-player-management-api.php
@@ -1,4 +1,9 @@
send_request( $url );
}
- public function player_delete() {
- }
-
/**
* Retrieve configuration of specific player.
*
@@ -97,7 +84,7 @@ public function player_get( $player_id, $branch = false ) {
$player_id = sanitize_title_with_dashes( $player_id );
- if ( in_array( $branch, array( 'master', 'preview' ) ) ) {
+ if ( in_array( $branch, array( 'master', 'preview' ), true ) ) {
$url = esc_url_raw( self::BASE_URL . $bc_accounts->get_account_id() . '/players/' . $player_id . '/configuration/' . $branch );
} else {
$url = esc_url_raw( self::BASE_URL . $bc_accounts->get_account_id() . '/players/' . $player_id . '/configuration' );
@@ -123,7 +110,7 @@ public function player_list( $player_id = '' ) {
global $bc_accounts;
- if ( '' != $player_id ) {
+ if ( '' !== $player_id ) {
$player_id = utf8_uri_encode( sanitize_text_field( $player_id ) ) . '/embeds';
}
@@ -225,7 +212,6 @@ public function player_config_update( $player_id, $autoplay = false, $media = ar
if ( is_array( $media ) ) {
$data->media = new stdClass();
- // $data->media = (object) $media;
foreach ( $media as $key => $val ) {
$data->media->key = is_array( $val ) ? (object) $val : $val;
}
From 898975cc80b82c5bebbe3ddadf087993ede05cf2 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:16:27 -0500
Subject: [PATCH 20/66] includes/api/class-bc-player-management-api2.php phpcs
fixes
---
includes/api/class-bc-player-management-api2.php | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/includes/api/class-bc-player-management-api2.php b/includes/api/class-bc-player-management-api2.php
index f44ab6e1..eda1837b 100644
--- a/includes/api/class-bc-player-management-api2.php
+++ b/includes/api/class-bc-player-management-api2.php
@@ -1,4 +1,9 @@
Date: Thu, 4 Aug 2022 15:16:39 -0500
Subject: [PATCH 21/66] includes/api/class-bc-text-track.php phpcs fixes
---
includes/api/class-bc-text-track.php | 64 +++++++++++++++++-----------
1 file changed, 40 insertions(+), 24 deletions(-)
diff --git a/includes/api/class-bc-text-track.php b/includes/api/class-bc-text-track.php
index 1cb68b77..d1742d23 100644
--- a/includes/api/class-bc-text-track.php
+++ b/includes/api/class-bc-text-track.php
@@ -1,52 +1,68 @@
url = esc_url_raw( $url );
- $this->srcLang = sanitize_text_field( $language );
+ $this->url = esc_url_raw( $url );
+ $this->src_lang = sanitize_text_field( $language );
if ( ! in_array( $kind, array( 'captions', 'subtitles', 'descriptions', 'chapters', 'metadata' ), true ) ) {
$this->kind = 'captions';
} else {
@@ -61,12 +77,12 @@ public function __construct( $url, $language = 'en-US', $kind = 'captions', $lab
*
* @return array
*/
- public function toArray() {
+ public function to_array() {
$data = array(
- 'url' => $this->url,
- 'srclang' => $this->srcLang,
- 'kind' => $this->kind,
- 'default' => $this->default,
+ 'url' => $this->url,
+ 'src_lang' => $this->src_lang,
+ 'kind' => $this->kind,
+ 'default' => $this->default,
);
if ( ! empty( $this->label ) ) {
@@ -81,13 +97,13 @@ public function toArray() {
*
* @return array Data to submit.
*/
- public function toArrayPatch() {
+ public function to_array_patch() {
$data = array(
'src' => $this->url,
- 'srclang' => $this->srcLang,
+ 'src_lang' => $this->src_lang,
'kind' => $this->kind,
'default' => $this->default,
- 'mime_type' => $this->mimeType,
+ 'mime_type' => $this->mime_type,
);
if ( ! empty( $this->label ) ) {
From dad8c04333a4e57d602cdc770ac6ee6c41166f43 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:16:48 -0500
Subject: [PATCH 22/66] includes/class-bc-accounts.php phpcs fixes
---
includes/class-bc-accounts.php | 152 ++++++++++++++++++++++++++++++---
1 file changed, 142 insertions(+), 10 deletions(-)
diff --git a/includes/class-bc-accounts.php b/includes/class-bc-accounts.php
index c65fb470..a97d2c52 100644
--- a/includes/class-bc-accounts.php
+++ b/includes/class-bc-accounts.php
@@ -1,4 +1,9 @@
original_account = $this->get_account_details_for_user();
$this->current_account = $this->original_account;
}
+ /**
+ * Get all the account ids
+ *
+ * @return array
+ */
public function get_all_accounts_id() {
$all_accounts = $this->get_all_accounts();
$account_ids = array();
@@ -45,31 +68,61 @@ public function get_all_accounts_id() {
return $account_ids;
}
+ /**
+ * Get account id
+ *
+ * @return false|mixed
+ */
public function get_account_id() {
return $this->current_account ? $this->current_account['account_id'] : false;
}
+ /**
+ * Get client id
+ *
+ * @return false|mixed
+ */
public function get_client_id() {
return $this->current_account ? $this->current_account['client_id'] : false;
}
+ /**
+ * Retrieves client secret.
+ *
+ * @return false|mixed
+ */
public function get_client_secret() {
-
return $this->current_account ? $this->current_account['client_secret'] : false;
}
+ /**
+ * Get the account name.
+ *
+ * @return false|mixed
+ */
public function get_account_name() {
return $this->current_account ? $this->current_account['account_name'] : false;
}
+ /**
+ * Get the account hash.
+ *
+ * @return false|mixed
+ */
public function get_account_hash() {
return $this->current_account ? $this->current_account['hash'] : false;
}
+ /**
+ * Get the sync type
+ *
+ * @param string|int $account_id The account ID to get the sync type for. If not provided, the current account is used.
+ * @return false|mixed|void
+ */
public function get_sync_type( $account_id ) {
$option_key_sync_type = '_brightcove_sync_type_' . BC_Utility::sanitize_id( $account_id );
@@ -77,6 +130,14 @@ public function get_sync_type( $account_id ) {
return get_option( $option_key_sync_type, 'full' );
}
+ /**
+ * Set the sync type for an account
+ *
+ * @param int|string $account_id The account ID
+ * @param string $type The sync type to set
+ * @param int $hours The number of hours to sync
+ * @return bool
+ */
public function set_sync_type( $account_id, $type, $hours = 0 ) {
$option_key_sync_type = '_brightcove_sync_type_' . BC_Utility::sanitize_id( $account_id );
@@ -90,6 +151,17 @@ public function set_sync_type( $account_id, $type, $hours = 0 ) {
return update_option( $option_key_sync_type, $sync_val );
}
+ /**
+ * Add an account.
+ *
+ * @param int|string $account_id The account ID.
+ * @param int $client_id The client ID.
+ * @param string $client_secret The client secret.
+ * @param string $account_name The account name.
+ * @param string $set_default Whether to set this account as the default.
+ * @param bool $allow_update Whether to allow updates to the account.
+ * @return bool|WP_Error
+ */
public function add_account( $account_id, $client_id, $client_secret, $account_name = '', $set_default = '', $allow_update = true ) {
if ( empty( $account_name ) ) {
@@ -168,6 +240,12 @@ public function add_account( $account_id, $client_id, $client_secret, $account_n
}
+ /**
+ * Delete an account
+ *
+ * @param string $hash The hash of the account to delete
+ * @return bool|WP_Error
+ */
public function delete_account( $hash ) {
if ( ! self::get_account_by_hash( $hash ) ) {
@@ -195,7 +273,7 @@ public function delete_account( $hash ) {
unset( $all_accounts[ $hash ] );
- if ( $hash === get_option( '_brightcove_default_account' ) ) {
+ if ( get_option( '_brightcove_default_account' ) === $hash ) {
if ( ! empty( $all_accounts ) ) {
@@ -222,7 +300,9 @@ public function delete_account( $hash ) {
}
/**
- * @param $hash
+ * Get account by hash
+ *
+ * @param string $hash The hash of the account to get.
*
* @return false | array keys: 'account_id', 'account_name', 'client_id', 'client_secret'
*/
@@ -230,7 +310,7 @@ public function get_account_by_hash( $hash ) {
$all_accounts = $this->get_all_accounts();
- if ( is_array( $all_accounts ) && is_string( $hash ) && $hash !== '' && isset( $all_accounts[ $hash ] ) ) {
+ if ( is_array( $all_accounts ) && is_string( $hash ) && '' !== $hash && isset( $all_accounts[ $hash ] ) ) {
return $all_accounts[ $hash ];
}
@@ -238,9 +318,11 @@ public function get_account_by_hash( $hash ) {
}
/**
+ * Get account details
+ *
* @param bool $user_id (default is current ID)
*
- * @return $account if exists or false if no accounts or permission denied.
+ * @return array $account if exists or false if no accounts or permission denied.
*/
public function get_account_details_for_user( $user_id = false ) {
@@ -271,6 +353,13 @@ public function get_account_details_for_user( $user_id = false ) {
return current( $accounts );
}
+ /**
+ * Set account details for default account
+ *
+ * @param string $hash hash of account to set as default
+ * @param int|bool $user_id (default is current ID)
+ * @return false|void
+ */
public function set_account_details_for_user( $hash, $user_id = false ) {
if ( ! $user_id ) {
@@ -315,6 +404,12 @@ public function set_current_account( $hash ) {
}
+ /**
+ * Set the current account to the default account for the site.
+ *
+ * @param int $account_id the account ID to set as the default.
+ * @return array|bool
+ */
public function set_current_account_by_id( $account_id ) {
$accounts = $this->get_all_accounts();
@@ -353,6 +448,12 @@ public function restore_default_account() {
}
+ /**
+ * Set the current account to the default account.
+ *
+ * @param string $hash The account hash
+ * @return false|void
+ */
public function set_account_details_for_site( $hash ) {
if ( ! current_user_can( 'brightcove_set_site_default_account' ) ) {
@@ -364,6 +465,11 @@ public function set_account_details_for_site( $hash ) {
}
}
+ /**
+ * Get the current account
+ *
+ * @return array|false
+ */
public function get_account_details_for_site() {
$account = $this->get_account_by_hash( get_option( '_brightcove_default_account' ) );
@@ -375,11 +481,21 @@ public function get_account_details_for_site() {
}
+ /**
+ * Get all the accounts
+ *
+ * @return false|mixed|void
+ */
protected function get_all_accounts() {
return get_option( $this->options_key, array() );
}
+ /**
+ * Get sanitized accounts
+ *
+ * @return false|mixed|void
+ */
public function get_sanitized_all_accounts() {
$accounts = $this->get_all_accounts();
@@ -394,17 +510,23 @@ public function get_sanitized_all_accounts() {
return $accounts;
}
+ /**
+ * Update the account details for a given account hash.
+ *
+ * @param string $account The account hash
+ * @return false|mixed|string
+ */
public function make_account_change( $account ) {
$attributes = array( 'account_id', 'account_name', 'client_id', 'client_secret', 'set_default', 'operation' );
foreach ( $attributes as $key ) {
- if ( ! is_string( $account[ $key ] ) && $account['operation'] !== 'update' ) {
+ if ( ! is_string( $account[ $key ] ) && 'update' !== $account['operation'] ) {
return false;
}
}
- if ( isset( $account['account_hash'] ) && $account['account_hash'] !== '' ) {
+ if ( isset( $account['account_hash'] ) && '' !== $account['account_hash'] ) {
$hash = $account['account_hash'];
} else {
$hash = BC_Utility::get_hash_for_account( $account );
@@ -416,7 +538,7 @@ public function make_account_change( $account ) {
$operation = $account['operation'];
- if ( $operation === 'delete' ) {
+ if ( 'delete' === $operation ) {
if ( isset( $existing_accounts[ $hash ] ) ) {
unset( $existing_accounts[ $hash ] );
@@ -443,7 +565,7 @@ public function make_account_change( $account ) {
}
$operation = $account['operation'];
unset( $account['operation'] ); // Remove the operation from stored value
- if ( $operation !== 'update' ) {
+ if ( 'update' !== $operation ) {
$existing_accounts[ $hash ] = $account; // Add / update the account.
/**
@@ -524,6 +646,16 @@ protected function check_permissions_level() {
return $permission_issues;
}
+ /**
+ * Checks if account is valid
+ *
+ * @param int $account_id Account ID.
+ * @param int $client_id Client ID.
+ * @param string $client_secret Client secret.
+ * @param string $account_name Account name.
+ * @param bool $check_access Whether to check access.
+ * @return array|bool
+ */
protected function is_valid_account( $account_id, $client_id, $client_secret, $account_name, $check_access = true ) {
// Save current account as $old_account.
From 67da919a6cbcc0f5369812b2727d77545dd92020 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:16:58 -0500
Subject: [PATCH 23/66] includes/class-bc-errors.php phpcs fixes
---
includes/class-bc-errors.php | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/includes/class-bc-errors.php b/includes/class-bc-errors.php
index 0574b243..3ebddf2b 100644
--- a/includes/class-bc-errors.php
+++ b/includes/class-bc-errors.php
@@ -1,5 +1,13 @@
';
}
- echo $html;
+ echo $html; // phpcs:ignore
}
}
From df0fd2b0bb915f3cb69467f4a8ebba5760c23e42 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:17:08 -0500
Subject: [PATCH 24/66] includes/class-bc-experiences-shortcode.php phpcs fixes
---
includes/class-bc-experiences-shortcode.php | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/includes/class-bc-experiences-shortcode.php b/includes/class-bc-experiences-shortcode.php
index 6281d3c1..10698a4b 100644
--- a/includes/class-bc-experiences-shortcode.php
+++ b/includes/class-bc-experiences-shortcode.php
@@ -1,5 +1,13 @@
'',
'account_id' => '',
From 9808c3005df833e98c4111ef9e61816ddd70e035 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 4 Aug 2022 15:17:18 -0500
Subject: [PATCH 25/66] includes/class-bc-in-page-experience-shortcode.php
phpcs fixes
---
includes/class-bc-in-page-experience-shortcode.php | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/includes/class-bc-in-page-experience-shortcode.php b/includes/class-bc-in-page-experience-shortcode.php
index caa383ff..7766bb8c 100644
--- a/includes/class-bc-in-page-experience-shortcode.php
+++ b/includes/class-bc-in-page-experience-shortcode.php
@@ -1,4 +1,9 @@
-
+
");t.text(e),a.html(t),a.removeClass("hidden"),i?(wpbc.permanentMessage&&wpbc.permanentMessage.remove(),wpbc.permanentMessage=t):(a.addClass("notice is-dismissible"),this.makeNoticesDismissible()),$("html, body").animate({scrollTop:0},"fast")},makeNoticesDismissible:function(){$(".notice.is-dismissible").each(function(){var t=$(this),e=$(' '),i=commonL10n.dismiss||"";e.find(".screen-reader-text").text(i),e.on("click.wp-dismiss-notice",function(e){e.preventDefault(),t.fadeTo(100,0,function(){t.slideUp(100,function(){t.addClass("hidden").css({opacity:1,"margin-bottom":0,display:""}).empty()})})}),t.append(e)})},showUploader:function(){this.model.set("mode","uploader"),this.render()},permanentMessage:function(e){this.message(e,"error",!0)},render:function(){var e,t,i=this.model.get("options"),a=this.model.get("mode");return _.invoke(this.subviews,"remove"),"uploader"===a?(this.template=wp.template("brightcove-uploader-container"),this.$el.empty(),this.$el.html(this.template(i)),this.uploader.render(),this.uploader.delegateEvents(),this.uploader.$el.appendTo($(".brightcove-uploader"))):"manager"===a?(this.template=wp.template("brightcove-media"),this.$el.html(this.template(i)),this.toolbar.render(),this.toolbar.delegateEvents(),this.toolbar.$el.show(),this.toolbar.$el.appendTo(this.$el.find(".media-frame-router")),(t=this.model.get("media-collection-view")).render(),t.delegateEvents(),(i=this.$el.find(".media-frame-content")).on("scroll",this.scrollHandler),t.$el.appendTo(i),wpbc.initialSync&&(wpbc.broadcast.trigger("remove:permanentMessage"),wpbc.broadcast.trigger("permanent:message",wpbc.preload.messages.ongoingSync)),"videoexperience"===this.model.get("mediaType")&&(this.detailsView=new MediaDetailsView({model:new MediaModel(this.model.attributes),el:$(".brightcove.media-frame-menu"),mediaType:this.model.get("mediaType")}),this.registerSubview(this.detailsView),this.detailsView.render(),this.detailsView.$el.toggle(!0),wpbc.broadcast.trigger("toggle:insertButton","enabled"),this.model.get("media-collection-view").$el.addClass("menu-visible"))):"editVideo"===a?(this.toolbar.$el.hide(),(e=this.$el.find(".media-frame-content")).empty(),this.editView.render(),this.editView.delegateEvents(),this.editView.$el.appendTo(e),this.$el.find(".brightcove.media-frame-content").addClass("edit-view")):"editPlaylist"===a?(this.toolbar.$el.hide(),(e=this.$el).empty(),e.html('
'),e=e.find(".playlist-edit-container"),this.editView.render(),this.editView.delegateEvents(),this.editView.$el.appendTo(e),e.addClass("playlist")):"previewVideo"===a&&(this.toolbar.$el.hide(),(e=this.$el.find(".media-frame-content")).empty(),this.previewView.render(),this.detailsView.render({detailsMode:"preview"}),this.previewView.delegateEvents(),this.previewView.$el.appendTo(e),this.$el.find(".brightcove.media-frame-toolbar").hide(),brightcove.createExperiences()),"editPlaylist"!==a&&this.$el.find(".media-frame-content").removeClass("playlist"),this}}),BrightcoveModalView=BrightcoveView.extend({tagName:"div",className:"media-modal brightcove",template:wp.template("brightcove-media-modal"),events:{"click .brightcove.media-menu-item":"changeTab","click .brightcove.media-button-insert":"insertIntoPost","click .media-modal-close":"closeModal","click .brightcove.save-sync":"saveSync","click .brightcove.button.back":"back"},initialize:function(e){this.model=new BrightcoveModalModel({tab:e.tab}),this.brightcoveMediaManager=new BrightcoveMediaManagerView(this.model.getMediaManagerSettings()),this.registerSubview(this.brightcoveMediaManager),this.listenTo(wpbc.broadcast,"toggle:insertButton",function(e){this.toggleInsertButton(e)}),this.listenTo(wpbc.broadcast,"close:modal",this.closeModal)},saveSync:function(e){wpbc.broadcast.trigger("save:media",e)},back:function(e){wpbc.broadcast.trigger("back:editvideo",e)},insertIntoPost:function(e){e.preventDefault(),$(e.currentTarget).hasClass("disabled")||(wpbc.shortcode=$("#shortcode").val(),wpbc.broadcast.trigger("insert:shortcode"))},toggleInsertButton:function(e){var t=this.$el.find(".brightcove.media-button-insert"),i=$(".attachment.highlighted").find(".processing").length;t.show(),1!==i&&("enabled"===e||"disabled"!==e&&void 0!==t.attr("disabled"))?t.removeAttr("disabled"):t.attr("disabled","disabled")},changeTab:function(e){var t;e.preventDefault(),$(e.target).hasClass("active")||($(e.target).addClass("active"),t=_.without(e.target.classList,"media-menu-item","brightcove")[0],e=["videos","upload","playlists","in-page-experiences","video-experience","playlist-experience"],_.each(_.without(e,t),function(e){$(".brightcove.media-menu-item."+e).removeClass("active")}),_.contains(e,t)&&(this.model.set("tab",t),wpbc.broadcast.trigger("spinner:off"),wpbc.broadcast.trigger("tabChange",this.model.getMediaManagerSettings())))},closeModal:function(e){"editVideo"===wpbc.modal.brightcoveMediaManager.model.get("mode")&&wpbc.broadcast.trigger("start:gridview"),!_.isUndefined(e)&&$(e.currentTarget).parent().hasClass("disabled")||(this.$el.hide(),$("body").removeClass("modal-open"))},message:function(e){this.$el.find(".brightcove-message")},render:function(e){this.$el.html(this.template(e)),this.brightcoveMediaManager.render(),this.brightcoveMediaManager.$el.appendTo(this.$el.find(".media-frame-content")),this.listenTo(wpbc.broadcast,"edit:media",function(e,t){"videos"===t?(this.$el.find(".brightcove.button.save-sync").show(),this.$el.find(".brightcove.button.back").show()):(this.$el.find(".brightcove.button.save-sync").hide(),this.$el.find(".brightcove.button.back").hide()),this.$el.find(".brightcove.media-button-insert").hide()}),this.listenTo(wpbc.broadcast,"save:media back:editvideo start:gridView",function(){this.$el.find(".brightcove.button.save-sync").hide(),this.$el.find(".brightcove.button.back").hide(),this.$el.find(".brightcove.media-button-insert").show(),wpbc.broadcast.trigger("toggle:insertButton")})}}),MediaDetailsView=BrightcoveView.extend({tagName:"div",className:"media-details",attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{"click .brightcove.edit.button":"triggerEditMedia","click .brightcove.preview.button":"triggerPreviewMedia","click .brightcove.back.button":"triggerCancelPreviewMedia",'click .playlist-details input[name="embed-style"]':"togglePlaylistSizing","change #aspect-ratio":"toggleUnits","change #pictureinpicture":"toggleIframe","change #languagedetection":"toggleIframe",'change .experience-details input[name="sizing"],.experience-details input[name="embed-style"]':"toggleExperienceUnits",'change #video-player, #autoplay, #pictureinpicture, #languagedetection, #playsinline, #mute, input[name="embed-style"], input[name="sizing"], #aspect-ratio, #width, #height':"generateShortcode","change #generate-shortcode":"toggleShortcodeGeneration"},triggerEditMedia:function(e){e.preventDefault(),wpbc.broadcast.trigger("edit:media",this.model,this.mediaType)},triggerPreviewMedia:function(e){e.preventDefault();e=$("#shortcode").val();wpbc.broadcast.trigger("preview:media",this.model,e)},triggerCancelPreviewMedia:function(e){wpbc.broadcast.trigger("cancelPreview:media",this.mediaType)},togglePlaylistSizing:function(e){var t=$('.playlist-details input[name="embed-style"]:checked').val(),i=$("#sizing-fixed, #sizing-responsive");"iframe"===t?i.removeAttr("disabled"):i.attr("disabled",!0)},toggleUnits:function(e){var t,i,a=$("#aspect-ratio").val();"custom"===a?$("#height").removeAttr("readonly"):(t=$("#height"),i=$("#width").val(),t.attr("readonly",!0),0');i.append(t),t.addClass(a).find(".message-text").text(e),t.delay(4e3).fadeOut(500,function(){$(this).remove(),wpbc.broadcast.trigger("upload:video")})},prepareUpload:function(){wpbc.uploads=wpbc.uploads||{},this.collection.each(function(e){wpbc.uploads[e.get("id")]={account:e.get("account"),name:e.get("fileName"),tags:e.get("tags")}}),wpbc.broadcast.trigger("uploader:startUpload")},fileAdded:function(e,t){1===this.collection.length&&this.render();e=new UploadView({model:e});e.render(),e.$el.appendTo(this.$el.find(".brightcove-pending-uploads"))},triggerUpload:function(){wpbc.broadcast.trigger("uploader:prepareUpload")},selectedItem:function(e){this.uploadDetails=new UploadDetailsView({model:e}),this.uploadDetails.render(),this.$el.find(".brightcove-pending-upload-details").remove(),this.uploadDetails.$el.appendTo(this.$el.find(".brightcove-upload-queued-files"))},render:function(e){this.collection.length?this.template=wp.template("brightcove-uploader-queued-files"):(this.template=wp.template("brightcove-uploader-inline"),this.uploadWindow.render(),this.uploadWindow.$el.appendTo($("body"))),this.$el.html(this.template(e)),this.collection.length?this.$el.find(".brightcove-start-upload").show():this.$el.find(".brightcove-start-upload").hide()}}),BrightcoveRouter=Backbone.Router.extend({routes:{"add-new-brightcove-video":"addNew"},addNew:function(){wpbc.broadcast.trigger("upload:video")}}),BrightcoveMediaManagerView=BrightcoveView.extend({tagName:"div",className:"brightcove-media",events:{},scrollHandler:function(){wpbc.broadcast.trigger("scroll:mediaGrid")},initialize:function(e){var t=wp.media.isTouchDevice?300:200;this.scrollHandler=_.chain(this.scrollHandler).bind(this).throttle(t).value(),this.options=e,this.mode=e.mode||"manager",e.preload=!!this.options.preload&&wpbc.preload[this.options.mediaType],this.model=new BrightcoveMediaManagerModel(e),this.toolbar=new ToolbarView({model:this.model}),this.uploader=new UploadVideoManagerView,this.model.set("accounts",wpbc.preload.accounts),this.model.set("activeAccount",e.account),this.listenTo(this.toolbar,"viewType",function(e){this.model.set("view",e)}),this.listenTo(wpbc.broadcast,"videoEdit:message",this.message),this.listenTo(wpbc.broadcast,"permanent:message",this.permanentMessage),this.listenTo(wpbc.broadcast,"remove:permanentMessage",function(){wpbc.permanentMessage&&wpbc.permanentMessage.remove(),this.$el.find(".brightcove-message").addClass("hidden")}),this.listenTo(this.model,"change:view",function(e,t){this.model.get("media-collection-view").setViewType(t)}),this.listenTo(this.model,"change:mode",function(e,t){"uploader"!==t&&wpbc.broadcast.trigger("uploader:clear")}),this.listenTo(wpbc.broadcast,"cancelPreview:media",function(e){this.clearPreview(),this.detailsView=void 0,this.model.set("mode","manager"),this.render(),wpbc.broadcast.trigger("toggle:insertButton")}),this.listenTo(wpbc.broadcast,"change:emptyPlaylists",function(t){var e=this.model.get("media-collection-view");this.model.set("mode","manager"),_.each(e.collection.models,function(e){"EXPLICIT"===e.get("type")&&0===e.get("video_ids").length&&(t?e.view.$el.hide():e.view.$el.show())})}),this.listenTo(wpbc.broadcast,"delete:successful",function(e){this.startGridView(),this.message(e,"success")}),this.listenTo(wpbc.broadcast,"change:activeAccount",function(e){this.clearPreview(),this.model.set("activeAccount",e),this.model.set("mode","manager"),this.render()}),this.listenTo(wpbc.broadcast,"change:tag",function(e){this.clearPreview(),this.model.set("tag",e)}),this.listenTo(wpbc.broadcast,"change:folder",function(e){this.clearPreview(),this.model.set("old_folder_id",this.model.get("folder_id")),this.model.set("folder_id",e)}),this.listenTo(wpbc.broadcast,"change:label",function(e){this.clearPreview(),this.model.set("oldLabelPath",this.model.get("labelPath")),this.model.set("labelPath",e)}),this.listenTo(wpbc.broadcast,"change:stateChanged",function(e){this.clearPreview(),this.model.set("oldState","oldstate"),this.model.set("state","newstate")}),this.listenTo(wpbc.broadcast,"change:date",function(e){this.clearPreview(),this.model.set("date",e)}),this.listenTo(wpbc.broadcast,"upload:video",function(){this.showUploader()}),this.listenTo(this.model,"change:search",function(e,t){this.model.get("search")}),this.listenTo(wpbc.broadcast,"start:gridview",function(){_.invoke(this.subviews,"remove"),this.detailsView=null,this.startGridView()}),this.listenTo(wpbc.broadcast,"tabChange",function(e){this.model.set(e),this.detailsView instanceof MediaDetailsView&&(this.detailsView.remove(),this.detailsView=void 0),this.render()}),this.listenTo(wpbc.broadcast,"edit:media",function(e){var t=this.model.get("mediaType");if("videos"===t){if("editVideo"===this.model.get("mode"))return!0;this.$el.find(".brightcove-message").addClass("hidden"),this.editView=new VideoEditView({model:e}),this.registerSubview(this.editView),this.model.set("mode","editVideo"),this.render()}else if("videoexperience"===t){if("editVideo"===this.model.get("mode"))return!0;this.$el.find(".brightcove-message").addClass("hidden"),this.editView=new VideoEditView({model:e}),this.registerSubview(this.editView),this.model.set("mode","editVideo"),this.render()}else{if("editPlaylist"===this.model.get("mode"))return!0;this.editView=new PlaylistEditView({model:e}),this.registerSubview(this.editView),this.model.set("mode","editPlaylist"),this.render()}}),this.listenTo(wpbc.broadcast,"preview:media",function(e,t){if("videos"===this.model.get("mediaType")){if("previewVideo"===this.model.get("mode"))return!0;this.previewView=new VideoPreviewView({model:e,shortcode:t}),this.registerSubview(this.previewView),this.model.set("mode","previewVideo"),this.render()}else this.model.set("mode","editPlaylist")}),this.listenTo(wpbc.broadcast,"change:searchTerm",function(e){this.clearPreview()}),this.listenTo(wpbc.broadcast,"select:media",function(e){if(e.model.collection&&"videoexperience"===e.model.collection.mediaType){e.$el.toggleClass("highlighted"),e.model.set("isSelected",e.$el.hasClass("highlighted"));var t=_.filter(e.model.collection.models,function(e){return e.get("isSelected")}),t=_.map(t,function(e){return e.get("id")});this.detailsView.model.set("id",t),_.isEmpty(t)&&"videoexperience"!==this.model.get("mediaType")?(wpbc.broadcast.trigger("toggle:insertButton"),$("#shortcode").val("")):wpbc.broadcast.trigger("toggle:insertButton","enabled")}else if(this.detailsView&&this.detailsView.model===e.model)this.detailsView.$el.toggle(),e.$el.toggleClass("highlighted"),this.model.get("media-collection-view").$el.toggleClass("menu-visible"),wpbc.broadcast.trigger("toggle:insertButton");else{this.clearPreview(),this.detailsView=new MediaDetailsView({model:e.model,el:$(".brightcove.media-frame-menu"),mediaType:this.model.get("mediaType")}),this.registerSubview(this.detailsView),this.detailsView.render(),this.detailsView.$el.toggle(!0);const i=$(".brightcove-modal .media-frame-content").first();if(i.length){t=$("#brightcove-media-frame-content").outerHeight()-this.detailsView.$el.outerHeight();let e=i.scrollTop()-$("#brightcove-media-frame-router").outerHeight()+25;e>t&&(e=t),this.detailsView.$el.css("top",0");t.text(e),a.html(t),a.removeClass("hidden"),i?(wpbc.permanentMessage&&wpbc.permanentMessage.remove(),wpbc.permanentMessage=t):(a.addClass("notice is-dismissible"),this.makeNoticesDismissible()),$("html, body").animate({scrollTop:0},"fast")},makeNoticesDismissible:function(){$(".notice.is-dismissible").each(function(){var t=$(this),e=$(' '),i=commonL10n.dismiss||"";e.find(".screen-reader-text").text(i),e.on("click.wp-dismiss-notice",function(e){e.preventDefault(),t.fadeTo(100,0,function(){t.slideUp(100,function(){t.addClass("hidden").css({opacity:1,"margin-bottom":0,display:""}).empty()})})}),t.append(e)})},showUploader:function(){this.model.set("mode","uploader"),this.render()},permanentMessage:function(e){this.message(e,"error",!0)},render:function(){var e,t,i=this.model.get("options"),a=this.model.get("mode");return _.invoke(this.subviews,"remove"),"uploader"===a?(this.template=wp.template("brightcove-uploader-container"),this.$el.empty(),this.$el.html(this.template(i)),this.uploader.render(),this.uploader.delegateEvents(),this.uploader.$el.appendTo($(".brightcove-uploader"))):"manager"===a?(this.template=wp.template("brightcove-media"),this.$el.html(this.template(i)),this.toolbar.render(),this.toolbar.delegateEvents(),this.toolbar.$el.show(),this.toolbar.$el.appendTo(this.$el.find(".media-frame-router")),(t=this.model.get("media-collection-view")).render(),t.delegateEvents(),(i=this.$el.find(".media-frame-content")).on("scroll",this.scrollHandler),t.$el.appendTo(i),wpbc.initialSync&&(wpbc.broadcast.trigger("remove:permanentMessage"),wpbc.broadcast.trigger("permanent:message",wpbc.preload.messages.ongoingSync)),"videoexperience"===this.model.get("mediaType")&&(this.detailsView=new MediaDetailsView({model:new MediaModel(this.model.attributes),el:$(".brightcove.media-frame-menu"),mediaType:this.model.get("mediaType")}),this.registerSubview(this.detailsView),this.detailsView.render(),this.detailsView.$el.toggle(!0),wpbc.broadcast.trigger("toggle:insertButton","enabled"),this.model.get("media-collection-view").$el.addClass("menu-visible"))):"editVideo"===a?(this.toolbar.$el.hide(),(e=this.$el.find(".media-frame-content")).empty(),this.editView.render(),this.editView.delegateEvents(),this.editView.$el.appendTo(e),this.$el.find(".brightcove.media-frame-content").addClass("edit-view")):"editPlaylist"===a?(this.toolbar.$el.hide(),(e=this.$el).empty(),e.html('
'),e=e.find(".playlist-edit-container"),this.editView.render(),this.editView.delegateEvents(),this.editView.$el.appendTo(e),e.addClass("playlist")):"previewVideo"===a&&(this.toolbar.$el.hide(),(e=this.$el.find(".media-frame-content")).empty(),this.previewView.render(),this.detailsView.render({detailsMode:"preview"}),this.previewView.delegateEvents(),this.previewView.$el.appendTo(e),this.$el.find(".brightcove.media-frame-toolbar").hide(),brightcove.createExperiences()),"editPlaylist"!==a&&this.$el.find(".media-frame-content").removeClass("playlist"),this}}),BrightcoveModalView=BrightcoveView.extend({tagName:"div",className:"media-modal brightcove",template:wp.template("brightcove-media-modal"),events:{"click .brightcove.media-menu-item":"changeTab","click .brightcove.media-button-insert":"insertIntoPost","click .media-modal-close":"closeModal","click .brightcove.save-sync":"saveSync","click .brightcove.button.back":"back"},initialize:function(e){this.model=new BrightcoveModalModel({tab:e.tab}),this.brightcoveMediaManager=new BrightcoveMediaManagerView(this.model.getMediaManagerSettings()),this.registerSubview(this.brightcoveMediaManager),this.listenTo(wpbc.broadcast,"toggle:insertButton",function(e){this.toggleInsertButton(e)}),this.listenTo(wpbc.broadcast,"close:modal",this.closeModal)},saveSync:function(e){wpbc.broadcast.trigger("save:media",e)},back:function(e){wpbc.broadcast.trigger("back:editvideo",e)},insertIntoPost:function(e){e.preventDefault(),$(e.currentTarget).hasClass("disabled")||(wpbc.shortcode=$("#shortcode").val(),wpbc.broadcast.trigger("insert:shortcode"))},toggleInsertButton:function(e){var t=this.$el.find(".brightcove.media-button-insert"),i=$(".attachment.highlighted").find(".processing").length;t.show(),1!==i&&("enabled"===e||"disabled"!==e&&void 0!==t.attr("disabled"))?t.removeAttr("disabled"):t.attr("disabled","disabled")},changeTab:function(e){var t;e.preventDefault(),$(e.target).hasClass("active")||($(e.target).addClass("active"),t=_.without(e.target.classList,"media-menu-item","brightcove")[0],e=["videos","upload","playlists","in-page-experiences","video-experience","playlist-experience"],_.each(_.without(e,t),function(e){$(".brightcove.media-menu-item."+e).removeClass("active")}),_.contains(e,t)&&(this.model.set("tab",t),wpbc.broadcast.trigger("spinner:off"),wpbc.broadcast.trigger("tabChange",this.model.getMediaManagerSettings())))},closeModal:function(e){"editVideo"===wpbc.modal.brightcoveMediaManager.model.get("mode")&&wpbc.broadcast.trigger("start:gridview"),!_.isUndefined(e)&&$(e.currentTarget).parent().hasClass("disabled")||(this.$el.hide(),$("body").removeClass("modal-open"))},message:function(e){this.$el.find(".brightcove-message")},render:function(e){this.$el.html(this.template(e)),this.brightcoveMediaManager.render(),this.brightcoveMediaManager.$el.appendTo(this.$el.find(".media-frame-content")),this.listenTo(wpbc.broadcast,"edit:media",function(e,t){"videos"===t?(this.$el.find(".brightcove.button.save-sync").show(),this.$el.find(".brightcove.button.back").show()):(this.$el.find(".brightcove.button.save-sync").hide(),this.$el.find(".brightcove.button.back").hide()),this.$el.find(".brightcove.media-button-insert").hide()}),this.listenTo(wpbc.broadcast,"save:media back:editvideo start:gridView",function(){this.$el.find(".brightcove.button.save-sync").hide(),this.$el.find(".brightcove.button.back").hide(),this.$el.find(".brightcove.media-button-insert").show(),wpbc.broadcast.trigger("toggle:insertButton")})}}),MediaDetailsView=BrightcoveView.extend({tagName:"div",className:"media-details",attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{"click .brightcove.edit.button":"triggerEditMedia","click .brightcove.preview.button":"triggerPreviewMedia","click .brightcove.back.button":"triggerCancelPreviewMedia",'click .playlist-details input[name="embed-style"]':"togglePlaylistSizing","change #aspect-ratio":"toggleUnits","change #pictureinpicture":"toggleIframe","change #languagedetection":"toggleIframe",'change .experience-details input[name="sizing"],.experience-details input[name="embed-style"]':"toggleExperienceUnits",'change #video-player, #applicationid, #autoplay, #pictureinpicture, #languagedetection, #playsinline, #mute, input[name="embed-style"], input[name="sizing"], #aspect-ratio, #width, #height':"generateShortcode","change #generate-shortcode":"toggleShortcodeGeneration"},triggerEditMedia:function(e){e.preventDefault(),wpbc.broadcast.trigger("edit:media",this.model,this.mediaType)},triggerPreviewMedia:function(e){e.preventDefault();e=$("#shortcode").val();wpbc.broadcast.trigger("preview:media",this.model,e)},triggerCancelPreviewMedia:function(e){wpbc.broadcast.trigger("cancelPreview:media",this.mediaType)},togglePlaylistSizing:function(e){var t=$('.playlist-details input[name="embed-style"]:checked').val(),i=$("#sizing-fixed, #sizing-responsive");"iframe"===t?i.removeAttr("disabled"):i.attr("disabled",!0)},toggleUnits:function(e){var t,i,a=$("#aspect-ratio").val();"custom"===a?$("#height").removeAttr("readonly"):(t=$("#height"),i=$("#width").val(),t.attr("readonly",!0),0{let e=Object.keys(i);e.forEach(e=>{t.id===e&&(t.value=i[e])})}),this.model.set("custom",e)},render:function(e){this.listenTo(wpbc.broadcast,"save:media",this.saveSync),this.listenTo(wpbc.broadcast,"back:editvideo",this.back),this.listenTo(wpbc.broadcast,"insert:shortcode",this.insertShortcode),(e=this.model.toJSON()).folders=wpbc.preload.folders,e.text_tracks=e.text_tracks||[],this.model.set("oldFolderId",e.folder_id),this.$el.html(this.template(e)),this.$(".brightcove-datetime").datepicker(),this.renderCustomFields();var t,e=this.model.get("history");void 0!==e&&(t="",e=JSON.parse(e),_.each(e,function(e){t+=e.user+" - "+e.time+"\n"}),""!==t&&this.$el.find("textarea.brightcove-change-history").val(t));var i=this.$el.find(".spinner");if(this.listenTo(wpbc.broadcast,"spinner:on",function(){i.addClass("is-active").removeClass("hidden")}),this.listenTo(wpbc.broadcast,"spinner:off",function(){i.removeClass("is-active").addClass("hidden")}),this.model.get("poster")&&this.displayAttachment("poster"),this.model.get("thumbnail")&&this.displayAttachment("thumbnail"),this.model.get("captions"))for(var a=this.model.get("captions"),s=0,o=a.length;sthis.el.scrollHeight&&(this.collection.pageNumber+=1,this.loadMoreMediaItems())},initialize:function(e){this.fetchingResults=!1,this.listenTo(wpbc.broadcast,"fetch:finished",function(){this.fetchingResults=!1}),this.listenTo(wpbc.broadcast,"fetch:apiError",this.handleAPIError);var t=wp.media.isTouchDevice?300:200;this.scrollHandler=_.chain(this.scrollHandler).bind(this).throttle(t).value(),this.listenTo(wpbc.broadcast,"scroll:mediaGrid",this.scrollHandler),e=e||{},this.el.id=_.uniqueId("__attachments-view-"),!this.collection&&e.videoIds?(this.collection=new MediaCollection(null,{videoIds:e.videoIds,activeAccount:e.activeAccount,mediaCollectionViewType:e.mediaCollectionViewType}),this.listenTo(wpbc.broadcast,"playlist:moveUp",this.videoMoveUp),this.listenTo(wpbc.broadcast,"playlist:moveDown",this.videoMoveDown),this.listenTo(wpbc.broadcast,"playlist:remove",this.videoRemove),this.listenTo(wpbc.broadcast,"playlist:add",this.videoAdd)):this.collection||"libraryPlaylists"!==e.mediaCollectionViewType||(this.collection=new MediaCollection(null,{excludeVideoIds:e.excludeVideoIds,activeAccount:e.activeAccount,mediaCollectionViewType:e.mediaCollectionViewType}),this.listenTo(wpbc.broadcast,"playlist:remove",this.videoRemove),this.listenTo(wpbc.broadcast,"playlist:add",this.videoAdd)),_.defaults(this.options,{refreshSensitivity:wp.media.isTouchDevice?300:200,refreshThreshold:3,VideoView:wp.media.view.Video,sortable:!1,resize:!0,idealColumnWidth:202}),this._viewsByCid={},this.resizeEvent="resize.media-modal-columns",this.listenTo(this.collection,"add",function(e){this.views.add(this.createMediaView(e),{at:this.collection.indexOf(e)})},this),this.listenTo(this.collection,"remove",function(e){e&&(e.view?e.view.remove():e.cid&&this._viewsByCid[e.cid]&&this._viewsByCid[e.cid].remove())},this),this.listenTo(this.collection,"reset",this.render),this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,$(this.options.scrollElement).on("scroll",this.scroll),_.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),_.defer(this.setColumns,this))},handleAPIError:function(){this.el.innerText=wpbc.str_apifailure},render:function(){this.listenTo(wpbc.broadcast,"spinner:off",function(){$("#js-media-loading").css("display","none")}),this.$el.empty(),this.collection.each(function(e){e.view=new MediaView({model:e}),this.registerSubview(e.view),e.view.render(),e.view.delegateEvents(),e.view.$el.appendTo(this.$el),wpbc.broadcast.trigger("spinner:off")},this)},setViewType:function(t){this.collection.each(function(e){e.set("view",t)},this)},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,_.debounce(this.setColumns,50))},setColumns:function(){var e=this.columns,t=this.$el.width();t&&(this.columns=Math.min(Math.round(t/this.options.idealColumnWidth),12)||1,e&&e===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},createMediaView:function(e){e.set("viewType",this.collection.mediaCollectionViewType);var t=new MediaView({controller:this.controller,model:e,collection:this.collection,selection:this.options.selection});return this.registerSubview(t),this._viewsByCid[e.cid]=t},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createMediaView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var e,t=this,i=this.options.scrollElement,a=i.scrollTop;i===document&&(i=document.body,a=$(document).scrollTop()),"function"===this.collection.hasMore&&$(i).is(":visible")&&this.collection.hasMore()&&(e=this.views.parent.toolbar,i.scrollHeight-(a+i.clientHeight){let e=Object.keys(i);e.forEach(e=>{t.id===e&&(t.value=i[e])})}),this.model.set("custom",e)},render:function(e){this.listenTo(wpbc.broadcast,"save:media",this.saveSync),this.listenTo(wpbc.broadcast,"back:editvideo",this.back),this.listenTo(wpbc.broadcast,"insert:shortcode",this.insertShortcode),(e=this.model.toJSON()).folders=wpbc.preload.folders,e.text_tracks=e.text_tracks||[],this.model.set("old_folder_id",e.folder_id),this.$el.html(this.template(e)),this.$(".brightcove-datetime").datepicker(),this.renderCustomFields();var t,e=this.model.get("history");void 0!==e&&(t="",e=JSON.parse(e),_.each(e,function(e){t+=e.user+" - "+e.time+"\n"}),""!==t&&this.$el.find("textarea.brightcove-change-history").val(t));var i=this.$el.find(".spinner");if(this.listenTo(wpbc.broadcast,"spinner:on",function(){i.addClass("is-active").removeClass("hidden")}),this.listenTo(wpbc.broadcast,"spinner:off",function(){i.removeClass("is-active").addClass("hidden")}),this.model.get("poster")&&this.displayAttachment("poster"),this.model.get("thumbnail")&&this.displayAttachment("thumbnail"),this.model.get("captions"))for(var a=this.model.get("captions"),s=0,o=a.length;sthis.el.scrollHeight&&(this.collection.pageNumber+=1,this.loadMoreMediaItems())},initialize:function(e){this.fetchingResults=!1,this.listenTo(wpbc.broadcast,"fetch:finished",function(){this.fetchingResults=!1}),this.listenTo(wpbc.broadcast,"fetch:apiError",this.handleAPIError);var t=wp.media.isTouchDevice?300:200;this.scrollHandler=_.chain(this.scrollHandler).bind(this).throttle(t).value(),this.listenTo(wpbc.broadcast,"scroll:mediaGrid",this.scrollHandler),e=e||{},this.el.id=_.uniqueId("__attachments-view-"),!this.collection&&e.videoIds?(this.collection=new MediaCollection(null,{videoIds:e.videoIds,activeAccount:e.activeAccount,mediaCollectionViewType:e.mediaCollectionViewType}),this.listenTo(wpbc.broadcast,"playlist:moveUp",this.videoMoveUp),this.listenTo(wpbc.broadcast,"playlist:moveDown",this.videoMoveDown),this.listenTo(wpbc.broadcast,"playlist:remove",this.videoRemove),this.listenTo(wpbc.broadcast,"playlist:add",this.videoAdd)):this.collection||"libraryPlaylists"!==e.mediaCollectionViewType||(this.collection=new MediaCollection(null,{excludeVideoIds:e.excludeVideoIds,activeAccount:e.activeAccount,mediaCollectionViewType:e.mediaCollectionViewType}),this.listenTo(wpbc.broadcast,"playlist:remove",this.videoRemove),this.listenTo(wpbc.broadcast,"playlist:add",this.videoAdd)),_.defaults(this.options,{refreshSensitivity:wp.media.isTouchDevice?300:200,refreshThreshold:3,VideoView:wp.media.view.Video,sortable:!1,resize:!0,idealColumnWidth:202}),this._viewsByCid={},this.resizeEvent="resize.media-modal-columns",this.listenTo(this.collection,"add",function(e){this.views.add(this.createMediaView(e),{at:this.collection.indexOf(e)})},this),this.listenTo(this.collection,"remove",function(e){e&&(e.view?e.view.remove():e.cid&&this._viewsByCid[e.cid]&&this._viewsByCid[e.cid].remove())},this),this.listenTo(this.collection,"reset",this.render),this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,$(this.options.scrollElement).on("scroll",this.scroll),_.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),_.defer(this.setColumns,this))},handleAPIError:function(){this.el.innerText=wpbc.str_apifailure},render:function(){this.listenTo(wpbc.broadcast,"spinner:off",function(){$("#js-media-loading").css("display","none")}),this.$el.empty(),this.collection.each(function(e){e.view=new MediaView({model:e}),this.registerSubview(e.view),e.view.render(),e.view.delegateEvents(),e.view.$el.appendTo(this.$el),wpbc.broadcast.trigger("spinner:off")},this)},setViewType:function(t){this.collection.each(function(e){e.set("view",t)},this)},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,_.debounce(this.setColumns,50))},setColumns:function(){var e=this.columns,t=this.$el.width();t&&(this.columns=Math.min(Math.round(t/this.options.idealColumnWidth),12)||1,e&&e===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},createMediaView:function(e){e.set("viewType",this.collection.mediaCollectionViewType);var t=new MediaView({controller:this.controller,model:e,collection:this.collection,selection:this.options.selection});return this.registerSubview(t),this._viewsByCid[e.cid]=t},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createMediaView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var e,t=this,i=this.options.scrollElement,a=i.scrollTop;i===document&&(i=document.body,a=$(document).scrollTop()),"function"===this.collection.hasMore&&$(i).is(":visible")&&this.collection.hasMore()&&(e=this.views.parent.toolbar,i.scrollHeight-(a+i.clientHeight) array(
'type' => 'string',
),
+ 'application_id' => array(
+ 'type' => 'string',
+ ),
'height' => array(
'type' => 'string',
),
diff --git a/languages/brightcove.pot b/languages/brightcove.pot
index 046cf796..207c6798 100644
--- a/languages/brightcove.pot
+++ b/languages/brightcove.pot
@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: Brightcove Video Connect 2.7.0\n"
"Report-Msgid-Bugs-To: "
"https://wordpress.org/support/plugin/brightcove-video-connect\n"
-"POT-Creation-Date: 2022-06-29 17:53:29+00:00\n"
+"POT-Creation-Date: 2022-10-06 15:49:37+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,182 +14,182 @@ msgstr ""
"Language-Team: LANGUAGE \n"
"X-Generator: grunt-wp-i18n 1.0.3\n"
-#: includes/admin/api/class-bc-admin-media-api.php:40
+#: includes/admin/api/class-bc-admin-media-api.php:63
msgid "You do not have permission to use this Brightcove Account"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:81
-#: includes/admin/api/class-bc-admin-media-api.php:87
+#: includes/admin/api/class-bc-admin-media-api.php:110
+#: includes/admin/api/class-bc-admin-media-api.php:116
msgid "Invalid Request"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:204
+#: includes/admin/api/class-bc-admin-media-api.php:233
msgid "Type is not specified"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:210
-#: includes/admin/api/class-bc-admin-media-api.php:329
+#: includes/admin/api/class-bc-admin-media-api.php:239
+#: includes/admin/api/class-bc-admin-media-api.php:358
msgid "No such account exists"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:271
+#: includes/admin/api/class-bc-admin-media-api.php:300
msgid "Successfully updated "
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:275
+#: includes/admin/api/class-bc-admin-media-api.php:304
msgid "Failed to sync with WordPress!"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:279
+#: includes/admin/api/class-bc-admin-media-api.php:308
msgid "Failed to update "
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:306
+#: includes/admin/api/class-bc-admin-media-api.php:335
msgid "Type is not specified!"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:322
+#: includes/admin/api/class-bc-admin-media-api.php:351
msgid "Wrong type is specified!"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:345
+#: includes/admin/api/class-bc-admin-media-api.php:374
msgid "Unable to remove video from Brightcove!"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:349
+#: includes/admin/api/class-bc-admin-media-api.php:378
msgid "Successfully deleted your video."
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:359
+#: includes/admin/api/class-bc-admin-media-api.php:388
msgid "Unable to remove playlist from Brightcove!"
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:363
+#: includes/admin/api/class-bc-admin-media-api.php:392
msgid "Successfully deleted your playlist."
msgstr ""
-#: includes/admin/api/class-bc-admin-media-api.php:570
+#: includes/admin/api/class-bc-admin-media-api.php:522
msgid "Invalid Search Type"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:31
-#: includes/admin/class-bc-admin-menu.php:26
+#: includes/admin/class-bc-admin-labels-page.php:43
+#: includes/admin/class-bc-admin-menu.php:37
msgid "Edit Label"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:44
+#: includes/admin/class-bc-admin-labels-page.php:56
msgid "Enter the new label name."
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:67
-#: includes/admin/class-bc-admin-menu.php:22
+#: includes/admin/class-bc-admin-labels-page.php:79
+#: includes/admin/class-bc-admin-menu.php:33
msgid "Brightcove Labels"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:76
+#: includes/admin/class-bc-admin-labels-page.php:88
msgid "Add New Label"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:81
+#: includes/admin/class-bc-admin-labels-page.php:93
msgid "Label Name"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:83
+#: includes/admin/class-bc-admin-labels-page.php:95
msgid "The name of the label"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:86
+#: includes/admin/class-bc-admin-labels-page.php:98
msgid "Parent Label"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:88
+#: includes/admin/class-bc-admin-labels-page.php:100
msgid ""
"Type the hierarchy you want your label to have. Example "
"\"/animals/mammals/\" Leave blank if you do not wish to add a hierarchy."
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:108
-#: includes/admin/class-bc-admin-labels-page.php:157
+#: includes/admin/class-bc-admin-labels-page.php:120
+#: includes/admin/class-bc-admin-labels-page.php:169
msgid "Select bulk action"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:110
+#: includes/admin/class-bc-admin-labels-page.php:122
msgid "Bulk actions"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:111
-#: includes/admin/class-bc-templates.php:413
+#: includes/admin/class-bc-admin-labels-page.php:123
+#: includes/admin/class-bc-templates.php:425
msgid "Delete"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:119
-#: includes/admin/class-bc-admin-labels-page.php:150
+#: includes/admin/class-bc-admin-labels-page.php:131
+#: includes/admin/class-bc-admin-labels-page.php:162
msgid "Select All"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:119
-#: includes/admin/class-bc-admin-labels-page.php:151
-#: includes/admin/class-bc-templates.php:125
-#: includes/admin/class-bc-templates.php:572
-#: includes/admin/class-bc-templates.php:1346
+#: includes/admin/class-bc-admin-labels-page.php:131
+#: includes/admin/class-bc-admin-labels-page.php:163
+#: includes/admin/class-bc-templates.php:137
+#: includes/admin/class-bc-templates.php:581
+#: includes/admin/class-bc-templates.php:1362
msgid "Name"
msgstr ""
-#: includes/admin/class-bc-admin-labels-page.php:139
-#: includes/admin/class-bc-templates.php:679
-#: includes/admin/class-bc-templates.php:721
-#: includes/admin/class-bc-templates.php:724
-#: includes/admin/class-bc-templates.php:1036
+#: includes/admin/class-bc-admin-labels-page.php:151
+#: includes/admin/class-bc-templates.php:688
+#: includes/admin/class-bc-templates.php:730
+#: includes/admin/class-bc-templates.php:733
+#: includes/admin/class-bc-templates.php:1052
msgid "Edit"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:18
-#: includes/admin/class-bc-templates.php:469
+#: includes/admin/class-bc-admin-menu.php:29
+#: includes/admin/class-bc-templates.php:481
msgid "Brightcove"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:19
-#: includes/admin/class-bc-admin-videos-page.php:24
+#: includes/admin/class-bc-admin-menu.php:30
+#: includes/admin/class-bc-admin-videos-page.php:35
msgid "Brightcove Videos"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:19
-#: includes/admin/class-bc-templates.php:475
-#: includes/admin/class-bc-templates.php:664
-#: includes/admin/class-bc-templates.php:1025
+#: includes/admin/class-bc-admin-menu.php:30
+#: includes/admin/class-bc-templates.php:487
+#: includes/admin/class-bc-templates.php:673
+#: includes/admin/class-bc-templates.php:1041
msgid "Videos"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:20
-#: includes/admin/class-bc-admin-playlists-page.php:24
+#: includes/admin/class-bc-admin-menu.php:31
+#: includes/admin/class-bc-admin-playlists-page.php:34
msgid "Brightcove Playlists"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:20
-#: includes/admin/class-bc-templates.php:476
+#: includes/admin/class-bc-admin-menu.php:31
+#: includes/admin/class-bc-templates.php:488
msgid "Playlists"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:21
-#: includes/admin/class-bc-admin-settings-page.php:65
+#: includes/admin/class-bc-admin-menu.php:32
+#: includes/admin/class-bc-admin-settings-page.php:81
msgid "Brightcove Settings"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:21 includes/class-bc-utility.php:439
+#: includes/admin/class-bc-admin-menu.php:32 includes/class-bc-utility.php:533
msgid "Settings"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:22
-#: includes/admin/class-bc-templates.php:235
+#: includes/admin/class-bc-admin-menu.php:33
+#: includes/admin/class-bc-templates.php:247
msgid "Labels"
msgstr ""
-#: includes/admin/class-bc-admin-menu.php:25
+#: includes/admin/class-bc-admin-menu.php:36
msgid "Add Source"
msgstr ""
-#: includes/admin/class-bc-admin-playlists-page.php:49
-#: includes/class-bc-utility.php:980
+#: includes/admin/class-bc-admin-playlists-page.php:59
+#: includes/class-bc-utility.php:1094
msgid ""
"A specified Source does not have a playlist capable player file mode. Writing "
"to the syslog instead."
msgstr ""
-#: includes/class-bc-logging.php:40
+#: includes/class-bc-logging.php:49
+#. Translators: %s is the file.
msgid ""
"The file specified, %s does not exist. Writing to the syslog "
"instead."
msgstr ""
-#: includes/class-bc-logging.php:46
+#: includes/class-bc-logging.php:56
+#. Translators: %s is the file.
msgid ""
"The file specified, %s is not writable byt the web server. "
"Writing to the syslog instead."
msgstr ""
-#: includes/class-bc-setup.php:230
+#: includes/class-bc-setup.php:247
msgid "Brightcove Media"
msgstr ""
-#: includes/class-bc-setup.php:286
+#: includes/class-bc-setup.php:311
msgid "Allowed Files"
msgstr ""
-#: includes/class-bc-setup.php:299
+#: includes/class-bc-setup.php:324
msgid ""
"Deleting this video will prevent it from showing in any existing posts. Are "
"you sure you want to delete?"
msgstr ""
-#: includes/class-bc-setup.php:300
+#: includes/class-bc-setup.php:325
msgid ""
"We are currently performing a sync of your new Brightcove source, you may "
"not see all videos and playlists until that is complete."
msgstr ""
-#: includes/class-bc-setup.php:301
+#: includes/class-bc-setup.php:326
msgid "Successfully uploaded file with name %%s%%."
msgstr ""
-#: includes/class-bc-setup.php:302
+#: includes/class-bc-setup.php:327
msgid ""
"We were unable to upload the file with name %%s%%. Please try reuploading "
"it again."
msgstr ""
-#: includes/class-bc-setup.php:339
+#: includes/class-bc-setup.php:367
msgid ""
"This file is not the proper format. Please use .vtt files, for more "
"information visit"
msgstr ""
-#: includes/class-bc-setup.php:342
+#: includes/class-bc-setup.php:370
msgid "Add another remote file"
msgstr ""
-#: includes/class-bc-setup.php:344
+#: includes/class-bc-setup.php:372
msgid "Use a remote file instead"
msgstr ""
-#: includes/class-bc-setup.php:345
+#: includes/class-bc-setup.php:373
msgid ""
"Sorry! We weren't able to reach the Brightcove API even after trying a few "
"times. Please try refreshing the page."
msgstr ""
-#: includes/class-bc-setup.php:451
+#: includes/class-bc-setup.php:488
msgid ""
"It looks like one or more of your accounts API authentication changed "
"recently. Please update your settings "
msgstr ""
-#: includes/class-bc-setup.php:453 includes/class-bc-setup.php:471
+#: includes/class-bc-setup.php:490 includes/class-bc-setup.php:508
msgid "here"
msgstr ""
-#: includes/class-bc-setup.php:469
+#: includes/class-bc-setup.php:506
msgid "Please configure Brightcove settings from"
msgstr ""
-#: includes/class-bc-setup.php:488
+#: includes/class-bc-setup.php:525
msgid "BC In Process Videos"
msgstr ""
-#: includes/class-bc-setup.php:516
-msgid ""
-"Brightcove Video Cloud Enhanced "
-"has been deactivated because it's incompatibale with "
-"WordPress version %s! The minimum compatible WordPress version is "
-"4.2
"
-msgstr ""
-
-#: includes/class-bc-utility.php:1191
+#: includes/class-bc-utility.php:1305
msgid "English"
msgstr ""
-#: includes/class-bc-utility.php:1192
+#: includes/class-bc-utility.php:1306
msgid "Abkhaz"
msgstr ""
-#: includes/class-bc-utility.php:1193
+#: includes/class-bc-utility.php:1307
msgid "Afar"
msgstr ""
-#: includes/class-bc-utility.php:1194
+#: includes/class-bc-utility.php:1308
msgid "Afrikaans"
msgstr ""
-#: includes/class-bc-utility.php:1195
+#: includes/class-bc-utility.php:1309
msgid "Akan"
msgstr ""
-#: includes/class-bc-utility.php:1196
+#: includes/class-bc-utility.php:1310
msgid "Albanian"
msgstr ""
-#: includes/class-bc-utility.php:1197
+#: includes/class-bc-utility.php:1311
msgid "Amharic"
msgstr ""
-#: includes/class-bc-utility.php:1198
+#: includes/class-bc-utility.php:1312
msgid "Arabic"
msgstr ""
-#: includes/class-bc-utility.php:1199
+#: includes/class-bc-utility.php:1313
msgid "Aragonese"
msgstr ""
-#: includes/class-bc-utility.php:1200
+#: includes/class-bc-utility.php:1314
msgid "Armenian"
msgstr ""
-#: includes/class-bc-utility.php:1201
+#: includes/class-bc-utility.php:1315
msgid "Assamese"
msgstr ""
-#: includes/class-bc-utility.php:1202
+#: includes/class-bc-utility.php:1316
msgid "Avaric"
msgstr ""
-#: includes/class-bc-utility.php:1203
+#: includes/class-bc-utility.php:1317
msgid "Avestan"
msgstr ""
-#: includes/class-bc-utility.php:1204
+#: includes/class-bc-utility.php:1318
msgid "Aymara"
msgstr ""
-#: includes/class-bc-utility.php:1205
+#: includes/class-bc-utility.php:1319
msgid "Azerbaijani"
msgstr ""
-#: includes/class-bc-utility.php:1206
+#: includes/class-bc-utility.php:1320
msgid "Bambara"
msgstr ""
-#: includes/class-bc-utility.php:1207
+#: includes/class-bc-utility.php:1321
msgid "Bashkir"
msgstr ""
-#: includes/class-bc-utility.php:1208
+#: includes/class-bc-utility.php:1322
msgid "Basque"
msgstr ""
-#: includes/class-bc-utility.php:1209
+#: includes/class-bc-utility.php:1323
msgid "Belarusian"
msgstr ""
-#: includes/class-bc-utility.php:1210
+#: includes/class-bc-utility.php:1324
msgid "Bengali"
msgstr ""
-#: includes/class-bc-utility.php:1211
+#: includes/class-bc-utility.php:1325
msgid "Bihari"
msgstr ""
-#: includes/class-bc-utility.php:1212
+#: includes/class-bc-utility.php:1326
msgid "Bislama"
msgstr ""
-#: includes/class-bc-utility.php:1213
+#: includes/class-bc-utility.php:1327
msgid "Bosnian"
msgstr ""
-#: includes/class-bc-utility.php:1214
+#: includes/class-bc-utility.php:1328
msgid "Breton"
msgstr ""
-#: includes/class-bc-utility.php:1215
+#: includes/class-bc-utility.php:1329
msgid "Bulgarian"
msgstr ""
-#: includes/class-bc-utility.php:1216
+#: includes/class-bc-utility.php:1330
msgid "Burmese"
msgstr ""
-#: includes/class-bc-utility.php:1217
+#: includes/class-bc-utility.php:1331
msgid "Catalan"
msgstr ""
-#: includes/class-bc-utility.php:1218
+#: includes/class-bc-utility.php:1332
msgid "Chomorro"
msgstr ""
-#: includes/class-bc-utility.php:1219
+#: includes/class-bc-utility.php:1333
msgid "Chechen"
msgstr ""
-#: includes/class-bc-utility.php:1220
+#: includes/class-bc-utility.php:1334
msgid "Chichewa"
msgstr ""
-#: includes/class-bc-utility.php:1221
+#: includes/class-bc-utility.php:1335
msgid "Chinese"
msgstr ""
-#: includes/class-bc-utility.php:1222
+#: includes/class-bc-utility.php:1336
msgid "Chuvash"
msgstr ""
-#: includes/class-bc-utility.php:1223
+#: includes/class-bc-utility.php:1337
msgid "Cornish"
msgstr ""
-#: includes/class-bc-utility.php:1224
+#: includes/class-bc-utility.php:1338
msgid "Corsican"
msgstr ""
-#: includes/class-bc-utility.php:1225
+#: includes/class-bc-utility.php:1339
msgid "Cree"
msgstr ""
-#: includes/class-bc-utility.php:1226
+#: includes/class-bc-utility.php:1340
msgid "Croatian"
msgstr ""
-#: includes/class-bc-utility.php:1227
+#: includes/class-bc-utility.php:1341
msgid "Czech"
msgstr ""
-#: includes/class-bc-utility.php:1228
+#: includes/class-bc-utility.php:1342
msgid "Danish"
msgstr ""
-#: includes/class-bc-utility.php:1229
+#: includes/class-bc-utility.php:1343
msgid "Divehi"
msgstr ""
-#: includes/class-bc-utility.php:1230
+#: includes/class-bc-utility.php:1344
msgid "Dutch"
msgstr ""
-#: includes/class-bc-utility.php:1231
+#: includes/class-bc-utility.php:1345
msgid "Dzongkha"
msgstr ""
-#: includes/class-bc-utility.php:1232
+#: includes/class-bc-utility.php:1346
msgid "Esperanto"
msgstr ""
-#: includes/class-bc-utility.php:1233
+#: includes/class-bc-utility.php:1347
msgid "Estonian"
msgstr ""
-#: includes/class-bc-utility.php:1234
+#: includes/class-bc-utility.php:1348
msgid "Ewe"
msgstr ""
-#: includes/class-bc-utility.php:1235
+#: includes/class-bc-utility.php:1349
msgid "Faroese"
msgstr ""
-#: includes/class-bc-utility.php:1236
+#: includes/class-bc-utility.php:1350
msgid "Fijian"
msgstr ""
-#: includes/class-bc-utility.php:1237
+#: includes/class-bc-utility.php:1351
msgid "Finnish"
msgstr ""
-#: includes/class-bc-utility.php:1238
+#: includes/class-bc-utility.php:1352
msgid "French"
msgstr ""
-#: includes/class-bc-utility.php:1239
+#: includes/class-bc-utility.php:1353
msgid "Fula"
msgstr ""
-#: includes/class-bc-utility.php:1240
+#: includes/class-bc-utility.php:1354
msgid "Galician"
msgstr ""
-#: includes/class-bc-utility.php:1241
+#: includes/class-bc-utility.php:1355
msgid "Georgian"
msgstr ""
-#: includes/class-bc-utility.php:1242
+#: includes/class-bc-utility.php:1356
msgid "German"
msgstr ""
-#: includes/class-bc-utility.php:1243
+#: includes/class-bc-utility.php:1357
msgid "Greek"
msgstr ""
-#: includes/class-bc-utility.php:1244
+#: includes/class-bc-utility.php:1358
msgid "Guarani"
msgstr ""
-#: includes/class-bc-utility.php:1245
+#: includes/class-bc-utility.php:1359
msgid "Gujarati"
msgstr ""
-#: includes/class-bc-utility.php:1246
+#: includes/class-bc-utility.php:1360
msgid "Haitian"
msgstr ""
-#: includes/class-bc-utility.php:1247
+#: includes/class-bc-utility.php:1361
msgid "Hausa"
msgstr ""
-#: includes/class-bc-utility.php:1248
+#: includes/class-bc-utility.php:1362
msgid "Hebrew"
msgstr ""
-#: includes/class-bc-utility.php:1249
+#: includes/class-bc-utility.php:1363
msgid "Herero"
msgstr ""
-#: includes/class-bc-utility.php:1250
+#: includes/class-bc-utility.php:1364
msgid "Hindi"
msgstr ""
-#: includes/class-bc-utility.php:1251
+#: includes/class-bc-utility.php:1365
msgid "Hiri Motu"
msgstr ""
-#: includes/class-bc-utility.php:1252
+#: includes/class-bc-utility.php:1366
msgid "Hungarian"
msgstr ""
-#: includes/class-bc-utility.php:1253
+#: includes/class-bc-utility.php:1367
msgid "Interlingua"
msgstr ""
-#: includes/class-bc-utility.php:1254
+#: includes/class-bc-utility.php:1368
msgid "Indonesian"
msgstr ""
-#: includes/class-bc-utility.php:1255
+#: includes/class-bc-utility.php:1369
msgid "Irish"
msgstr ""
-#: includes/class-bc-utility.php:1256
+#: includes/class-bc-utility.php:1370
msgid "Igbo"
msgstr ""
-#: includes/class-bc-utility.php:1257
+#: includes/class-bc-utility.php:1371
msgid "Inupiaq"
msgstr ""
-#: includes/class-bc-utility.php:1258
+#: includes/class-bc-utility.php:1372
msgid "Icelandic"
msgstr ""
-#: includes/class-bc-utility.php:1259
+#: includes/class-bc-utility.php:1373
msgid "Italian"
msgstr ""
-#: includes/class-bc-utility.php:1260
+#: includes/class-bc-utility.php:1374
msgid "Inuktitut"
msgstr ""
-#: includes/class-bc-utility.php:1261
+#: includes/class-bc-utility.php:1375
msgid "Japanese"
msgstr ""
-#: includes/class-bc-utility.php:1262
+#: includes/class-bc-utility.php:1376
msgid "Javanese"
msgstr ""
-#: includes/class-bc-utility.php:1263
+#: includes/class-bc-utility.php:1377
msgid "Kalaallisut"
msgstr ""
-#: includes/class-bc-utility.php:1264
+#: includes/class-bc-utility.php:1378
msgid "Kannada"
msgstr ""
-#: includes/class-bc-utility.php:1265
+#: includes/class-bc-utility.php:1379
msgid "Kanuri"
msgstr ""
-#: includes/class-bc-utility.php:1266
+#: includes/class-bc-utility.php:1380
msgid "Kashmiri"
msgstr ""
-#: includes/class-bc-utility.php:1267
+#: includes/class-bc-utility.php:1381
msgid "Kazakh"
msgstr ""
-#: includes/class-bc-utility.php:1268
+#: includes/class-bc-utility.php:1382
msgid "Khmer"
msgstr ""
-#: includes/class-bc-utility.php:1269
+#: includes/class-bc-utility.php:1383
msgid "Kikuyu"
msgstr ""
-#: includes/class-bc-utility.php:1270
+#: includes/class-bc-utility.php:1384
msgid "Kinyarwanda"
msgstr ""
-#: includes/class-bc-utility.php:1271
+#: includes/class-bc-utility.php:1385
msgid "Kyrgyz"
msgstr ""
-#: includes/class-bc-utility.php:1272
+#: includes/class-bc-utility.php:1386
msgid "Komi"
msgstr ""
-#: includes/class-bc-utility.php:1273
+#: includes/class-bc-utility.php:1387
msgid "Kongo"
msgstr ""
-#: includes/class-bc-utility.php:1274
+#: includes/class-bc-utility.php:1388
msgid "Korean"
msgstr ""
-#: includes/class-bc-utility.php:1275
+#: includes/class-bc-utility.php:1389
msgid "Kurdish"
msgstr ""
-#: includes/class-bc-utility.php:1276
+#: includes/class-bc-utility.php:1390
msgid "Kwanyama"
msgstr ""
-#: includes/class-bc-utility.php:1277
+#: includes/class-bc-utility.php:1391
msgid "Latin"
msgstr ""
-#: includes/class-bc-utility.php:1278
+#: includes/class-bc-utility.php:1392
msgid "Luxembourgish"
msgstr ""
-#: includes/class-bc-utility.php:1279
+#: includes/class-bc-utility.php:1393
msgid "Ganda"
msgstr ""
-#: includes/class-bc-utility.php:1280
+#: includes/class-bc-utility.php:1394
msgid "Limburgish"
msgstr ""
-#: includes/class-bc-utility.php:1281
+#: includes/class-bc-utility.php:1395
msgid "Lingala"
msgstr ""
-#: includes/class-bc-utility.php:1282
+#: includes/class-bc-utility.php:1396
msgid "Lao"
msgstr ""
-#: includes/class-bc-utility.php:1283
+#: includes/class-bc-utility.php:1397
msgid "Lithuanian"
msgstr ""
-#: includes/class-bc-utility.php:1284
+#: includes/class-bc-utility.php:1398
msgid "Luba-Katanga"
msgstr ""
-#: includes/class-bc-utility.php:1285
+#: includes/class-bc-utility.php:1399
msgid "Latvian"
msgstr ""
-#: includes/class-bc-utility.php:1286
+#: includes/class-bc-utility.php:1400
msgid "Manx"
msgstr ""
-#: includes/class-bc-utility.php:1287
+#: includes/class-bc-utility.php:1401
msgid "Macedonian"
msgstr ""
-#: includes/class-bc-utility.php:1288
+#: includes/class-bc-utility.php:1402
msgid "Malagasy"
msgstr ""
-#: includes/class-bc-utility.php:1289
+#: includes/class-bc-utility.php:1403
msgid "Malay"
msgstr ""
-#: includes/class-bc-utility.php:1290
+#: includes/class-bc-utility.php:1404
msgid "Malayalam"
msgstr ""
-#: includes/class-bc-utility.php:1291
+#: includes/class-bc-utility.php:1405
msgid "Maltese"
msgstr ""
-#: includes/class-bc-utility.php:1292
+#: includes/class-bc-utility.php:1406
msgid "Maori"
msgstr ""
-#: includes/class-bc-utility.php:1293
+#: includes/class-bc-utility.php:1407
msgid "Marathi"
msgstr ""
-#: includes/class-bc-utility.php:1294
+#: includes/class-bc-utility.php:1408
msgid "Marshallese"
msgstr ""
-#: includes/class-bc-utility.php:1295
+#: includes/class-bc-utility.php:1409
msgid "Mongolian"
msgstr ""
-#: includes/class-bc-utility.php:1296
+#: includes/class-bc-utility.php:1410
msgid "Nauruan"
msgstr ""
-#: includes/class-bc-utility.php:1297
+#: includes/class-bc-utility.php:1411
msgid "Navajo"
msgstr ""
-#: includes/class-bc-utility.php:1298
+#: includes/class-bc-utility.php:1412
msgid "Northern Ndebele"
msgstr ""
-#: includes/class-bc-utility.php:1299
+#: includes/class-bc-utility.php:1413
msgid "Nepali"
msgstr ""
-#: includes/class-bc-utility.php:1300
+#: includes/class-bc-utility.php:1414
msgid "Ndonga"
msgstr ""
-#: includes/class-bc-utility.php:1301
+#: includes/class-bc-utility.php:1415
msgid "Norwegian Bokmal"
msgstr ""
-#: includes/class-bc-utility.php:1302
+#: includes/class-bc-utility.php:1416
msgid "Norwegian Nyorsk"
msgstr ""
-#: includes/class-bc-utility.php:1303
+#: includes/class-bc-utility.php:1417
msgid "Norwegian"
msgstr ""
-#: includes/class-bc-utility.php:1304
+#: includes/class-bc-utility.php:1418
msgid "Nuosu"
msgstr ""
-#: includes/class-bc-utility.php:1305
+#: includes/class-bc-utility.php:1419
msgid "Southern Ndebele"
msgstr ""
-#: includes/class-bc-utility.php:1306
+#: includes/class-bc-utility.php:1420
msgid "Occitan"
msgstr ""
-#: includes/class-bc-utility.php:1307
+#: includes/class-bc-utility.php:1421
msgid "Ojibwe"
msgstr ""
-#: includes/class-bc-utility.php:1308
+#: includes/class-bc-utility.php:1422
msgid "Oromo"
msgstr ""
-#: includes/class-bc-utility.php:1309
+#: includes/class-bc-utility.php:1423
msgid "Oriya"
msgstr ""
-#: includes/class-bc-utility.php:1310
+#: includes/class-bc-utility.php:1424
msgid "Ossetian"
msgstr ""
-#: includes/class-bc-utility.php:1311
+#: includes/class-bc-utility.php:1425
msgid "Panjabi"
msgstr ""
-#: includes/class-bc-utility.php:1312
+#: includes/class-bc-utility.php:1426
msgid "Pali"
msgstr ""
-#: includes/class-bc-utility.php:1313
+#: includes/class-bc-utility.php:1427
msgid "Persian"
msgstr ""
-#: includes/class-bc-utility.php:1314
+#: includes/class-bc-utility.php:1428
msgid "Polish"
msgstr ""
-#: includes/class-bc-utility.php:1315
+#: includes/class-bc-utility.php:1429
msgid "Pashto"
msgstr ""
-#: includes/class-bc-utility.php:1316
+#: includes/class-bc-utility.php:1430
msgid "Portuguese"
msgstr ""
-#: includes/class-bc-utility.php:1317
+#: includes/class-bc-utility.php:1431
msgid "Quechua"
msgstr ""
-#: includes/class-bc-utility.php:1318
+#: includes/class-bc-utility.php:1432
msgid "Romanian"
msgstr ""
-#: includes/class-bc-utility.php:1319
+#: includes/class-bc-utility.php:1433
msgid "Romanish"
msgstr ""
-#: includes/class-bc-utility.php:1320
+#: includes/class-bc-utility.php:1434
msgid "Russian"
msgstr ""
-#: includes/class-bc-utility.php:1321
+#: includes/class-bc-utility.php:1435
msgid "Sanskrit"
msgstr ""
-#: includes/class-bc-utility.php:1322
+#: includes/class-bc-utility.php:1436
msgid "Sardinian"
msgstr ""
-#: includes/class-bc-utility.php:1323
+#: includes/class-bc-utility.php:1437
msgid "Sindhi"
msgstr ""
-#: includes/class-bc-utility.php:1324
+#: includes/class-bc-utility.php:1438
msgid "Northern Sami"
msgstr ""
-#: includes/class-bc-utility.php:1325
+#: includes/class-bc-utility.php:1439
msgid "Samoan"
msgstr ""
-#: includes/class-bc-utility.php:1326
+#: includes/class-bc-utility.php:1440
msgid "Sango"
msgstr ""
-#: includes/class-bc-utility.php:1327
+#: includes/class-bc-utility.php:1441
msgid "Serbian"
msgstr ""
-#: includes/class-bc-utility.php:1328
+#: includes/class-bc-utility.php:1442
msgid "Scottish Gaelic"
msgstr ""
-#: includes/class-bc-utility.php:1329
+#: includes/class-bc-utility.php:1443
msgid "Shona"
msgstr ""
-#: includes/class-bc-utility.php:1330
+#: includes/class-bc-utility.php:1444
msgid "Sinhala"
msgstr ""
-#: includes/class-bc-utility.php:1331
+#: includes/class-bc-utility.php:1445
msgid "Slovak"
msgstr ""
-#: includes/class-bc-utility.php:1332
+#: includes/class-bc-utility.php:1446
msgid "Slovene"
msgstr ""
-#: includes/class-bc-utility.php:1333
+#: includes/class-bc-utility.php:1447
msgid "Somali"
msgstr ""
-#: includes/class-bc-utility.php:1334
+#: includes/class-bc-utility.php:1448
msgid "Southern Sotho"
msgstr ""
-#: includes/class-bc-utility.php:1335
+#: includes/class-bc-utility.php:1449
msgid "Spanish"
msgstr ""
-#: includes/class-bc-utility.php:1336
+#: includes/class-bc-utility.php:1450
msgid "Sudanese"
msgstr ""
-#: includes/class-bc-utility.php:1337
+#: includes/class-bc-utility.php:1451
msgid "Swahili"
msgstr ""
-#: includes/class-bc-utility.php:1338
+#: includes/class-bc-utility.php:1452
msgid "Swati"
msgstr ""
-#: includes/class-bc-utility.php:1339
+#: includes/class-bc-utility.php:1453
msgid "Swedish"
msgstr ""
-#: includes/class-bc-utility.php:1340
+#: includes/class-bc-utility.php:1454
msgid "Tamil"
msgstr ""
-#: includes/class-bc-utility.php:1341
+#: includes/class-bc-utility.php:1455
msgid "Telugu"
msgstr ""
-#: includes/class-bc-utility.php:1342
+#: includes/class-bc-utility.php:1456
msgid "Tajik"
msgstr ""
-#: includes/class-bc-utility.php:1343
+#: includes/class-bc-utility.php:1457
msgid "Thai"
msgstr ""
-#: includes/class-bc-utility.php:1344
+#: includes/class-bc-utility.php:1458
msgid "Tigrinya"
msgstr ""
-#: includes/class-bc-utility.php:1345
+#: includes/class-bc-utility.php:1459
msgid "Tibetan"
msgstr ""
-#: includes/class-bc-utility.php:1346
+#: includes/class-bc-utility.php:1460
msgid "Turkmen"
msgstr ""
-#: includes/class-bc-utility.php:1347
+#: includes/class-bc-utility.php:1461
msgid "Tagalog"
msgstr ""
-#: includes/class-bc-utility.php:1348
+#: includes/class-bc-utility.php:1462
msgid "Tswana"
msgstr ""
-#: includes/class-bc-utility.php:1349
+#: includes/class-bc-utility.php:1463
msgid "Tonga"
msgstr ""
-#: includes/class-bc-utility.php:1350
+#: includes/class-bc-utility.php:1464
msgid "Turkish"
msgstr ""
-#: includes/class-bc-utility.php:1351
+#: includes/class-bc-utility.php:1465
msgid "Tsonga"
msgstr ""
-#: includes/class-bc-utility.php:1352
+#: includes/class-bc-utility.php:1466
msgid "Tatar"
msgstr ""
-#: includes/class-bc-utility.php:1353
+#: includes/class-bc-utility.php:1467
msgid "Twi"
msgstr ""
-#: includes/class-bc-utility.php:1354
+#: includes/class-bc-utility.php:1468
msgid "Tahitian"
msgstr ""
-#: includes/class-bc-utility.php:1355
+#: includes/class-bc-utility.php:1469
msgid "Uyghur"
msgstr ""
-#: includes/class-bc-utility.php:1356
+#: includes/class-bc-utility.php:1470
msgid "Ukrainian"
msgstr ""
-#: includes/class-bc-utility.php:1357
+#: includes/class-bc-utility.php:1471
msgid "Urdu"
msgstr ""
-#: includes/class-bc-utility.php:1358
+#: includes/class-bc-utility.php:1472
msgid "Uzbek"
msgstr ""
-#: includes/class-bc-utility.php:1359
+#: includes/class-bc-utility.php:1473
msgid "Venda"
msgstr ""
-#: includes/class-bc-utility.php:1360
+#: includes/class-bc-utility.php:1474
msgid "Vietnamese"
msgstr ""
-#: includes/class-bc-utility.php:1361
+#: includes/class-bc-utility.php:1475
msgid "Volapuk"
msgstr ""
-#: includes/class-bc-utility.php:1362
+#: includes/class-bc-utility.php:1476
msgid "Walloon"
msgstr ""
-#: includes/class-bc-utility.php:1363
+#: includes/class-bc-utility.php:1477
msgid "Welsh"
msgstr ""
-#: includes/class-bc-utility.php:1364
+#: includes/class-bc-utility.php:1478
msgid "Wolof"
msgstr ""
-#: includes/class-bc-utility.php:1365
+#: includes/class-bc-utility.php:1479
msgid "Western Frisian"
msgstr ""
-#: includes/class-bc-utility.php:1366
+#: includes/class-bc-utility.php:1480
msgid "Xhosa"
msgstr ""
-#: includes/class-bc-utility.php:1367
+#: includes/class-bc-utility.php:1481
msgid "Yiddish"
msgstr ""
-#: includes/class-bc-utility.php:1368
+#: includes/class-bc-utility.php:1482
msgid "Yoruba"
msgstr ""
-#: includes/class-bc-utility.php:1369
+#: includes/class-bc-utility.php:1483
msgid "Zhuang"
msgstr ""
-#: includes/class-bc-utility.php:1370
+#: includes/class-bc-utility.php:1484
msgid "Zulu"
msgstr ""
-#: includes/class-bc-video-upload.php:46
+#: includes/class-bc-video-upload.php:70
msgid "Invalid account"
msgstr ""
-#: includes/class-bc-video-upload.php:54
+#: includes/class-bc-video-upload.php:78
msgid "Video type is not supported"
msgstr ""
-#: includes/class-bc-video-upload.php:87
+#: includes/class-bc-video-upload.php:90
+#. translators: %s is the error message.
+msgid "VIDEO UPLOAD ERROR: %s"
+msgstr ""
+
+#: includes/class-bc-video-upload.php:111
msgid "Unable to create a video on brightcove side"
msgstr ""
-#: includes/sync/class-bc-videos.php:175
+#: includes/sync/class-bc-videos.php:202
msgid "The video has not been created in WordPress"
msgstr ""
-#: includes/sync/class-bc-videos.php:182
+#: includes/sync/class-bc-videos.php:210
+#. Translators: #%d is the video ID.
msgid "BC WordPress: Video with ID #%d has been created"
msgstr ""
@@ -1918,7 +1923,7 @@ msgstr ""
msgid "http://10up.com"
msgstr ""
-#: includes/admin/class-bc-templates.php:610
+#: includes/admin/class-bc-templates.php:619
msgctxt "Uploader: Drop files here - or - Select Files"
msgid "or"
msgstr ""
\ No newline at end of file
From b63aa06d73dc4869bc1438df245c47df0d1aa7d7 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Fri, 7 Oct 2022 14:14:39 -0500
Subject: [PATCH 61/66] Release 2.8.0
---
CHANGELOG.md | 19 +++++++++++++++++++
assets/css/jquery-ui-datepicker.min.css | 4 ++++
brightcove-video-connect.php | 4 ++--
languages/brightcove.pot | 4 ++--
package.json | 2 +-
readme.txt | 24 +++++++++++++++++++++++-
6 files changed, 51 insertions(+), 6 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5edb671..7e17b34b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,24 @@ All notable changes to this project will be documented in this file, per [the Ke
## [Unreleased] - TBD
+## [2.8.0] - 2022-10-10
+
+### Deprecated
+- BC_Oauth_API::Method _request_access_token() in favor of BC_Oauth_API::request_access_token()
+- Action brightcove/admin/settings_page in favor of brightcove_admin_settings_page
+- Action brightcove/admin/videos_page in favor of brightcove_admin_videos_page
+- Action brightcove/admin/playlists_page in favor of brightcove_admin_playlists_page
+- Action brightcove/admin/edit_source_page in favor of brightcove_admin_edit_source_page
+- Action brightcove/admin/labels_page in favor of brightcove_admin_labels_page
+- Action brightcove/admin/edit_label_page in favor of brightcove_admin_edit_label_page
+
+### Added
+- Ability to add Application ID parameter to video player. Props [@oscarssanchez](https://github.com/oscarssanchez), and [@felipeelia](https://github.com/felipeelia), via [#295](https://github.com/10up/brightcove-video-connect/pull/295).
+- Initial E2E tests. Props [@oscarssanchez](https://github.com/oscarssanchez), and [@felipeelia](https://github.com/felipeelia), via [#288](https://github.com/10up/brightcove-video-connect/pull/288).
+
+### Fixed
+- PHPCS Fixes. Props [@oscarssanchez](https://github.com/oscarssanchez), and [@felipeelia](https://github.com/felipeelia), via [#286](https://github.com/10up/brightcove-video-connect/pull/286).
+
## [2.7.0] - 2022-06-29
### Fixed
@@ -381,6 +399,7 @@ All notable changes to this project will be documented in this file, per [the Ke
- First release
[Unreleased]: https://github.com/10up/brightcove-video-connect/compare/master...develop
+[2.8.0]: https://github.com/10up/brightcove-video-connect/compare/2.7.0...2.8.0
[2.7.0]: https://github.com/10up/brightcove-video-connect/compare/2.6.1...2.7.0
[2.6.1]: https://github.com/10up/brightcove-video-connect/compare/2.6.0...2.6.1
[2.6.0]: https://github.com/10up/brightcove-video-connect/compare/2.5.2...2.6.0
diff --git a/assets/css/jquery-ui-datepicker.min.css b/assets/css/jquery-ui-datepicker.min.css
index c92b9653..10b6a7dc 100644
--- a/assets/css/jquery-ui-datepicker.min.css
+++ b/assets/css/jquery-ui-datepicker.min.css
@@ -50,4 +50,8 @@
* http://jqueryui.com
* Includes: core.css, datepicker.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:700}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;font-weight:400;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #999;background:#dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;font-weight:400;color:#212121}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:400;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_888888_256x240.png")}.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}/*! jQuery UI - v1.11.4 - 2021-11-11
+* http://jqueryui.com
+* Includes: core.css, datepicker.css, theme.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:700}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;font-weight:400;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #999;background:#dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;font-weight:400;color:#212121}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:400;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_888888_256x240.png")}.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
\ No newline at end of file
diff --git a/brightcove-video-connect.php b/brightcove-video-connect.php
index c39a0de2..3da931f4 100644
--- a/brightcove-video-connect.php
+++ b/brightcove-video-connect.php
@@ -3,7 +3,7 @@
* Plugin Name: Brightcove Video Connect
* Plugin URI: https://wordpress.org/plugins/brightcove-video-connect/
* Description: A Brightcoveâ„¢ Connector for WordPress that leverages enhanced APIs and Brightcoveâ„¢ Capabilities
- * Version: 2.7.0
+ * Version: 2.8.0
* Author: 10up
* Author URI: http://10up.com
* License: GPLv2+
@@ -31,7 +31,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 021.0.2301 USA
*/
-define( 'BRIGHTCOVE_VERSION', '2.7.0' );
+define( 'BRIGHTCOVE_VERSION', '2.8.0' );
define( 'BRIGHTCOVE_URL', plugin_dir_url( __FILE__ ) );
define( 'BRIGHTCOVE_PATH', dirname( __FILE__ ) . '/' );
define( 'BRIGHTCOVE_BASENAME', plugin_basename( __FILE__ ) );
diff --git a/languages/brightcove.pot b/languages/brightcove.pot
index 207c6798..68e67ad3 100644
--- a/languages/brightcove.pot
+++ b/languages/brightcove.pot
@@ -2,10 +2,10 @@
# This file is distributed under the GPLv2+.
msgid ""
msgstr ""
-"Project-Id-Version: Brightcove Video Connect 2.7.0\n"
+"Project-Id-Version: Brightcove Video Connect 2.8.0\n"
"Report-Msgid-Bugs-To: "
"https://wordpress.org/support/plugin/brightcove-video-connect\n"
-"POT-Creation-Date: 2022-10-06 15:49:37+00:00\n"
+"POT-Creation-Date: 2022-10-07 19:13:07+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
diff --git a/package.json b/package.json
index 38fda5e6..c918063a 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"private": true,
"title": "brightcove-video-connect",
"description": "A Brightcove plugin for WordPress.",
- "version": "2.7.0",
+ "version": "2.8.0",
"homepage": "https://wordpress.org/plugins/brightcove-video-connect/",
"author": {
"name": "10up",
diff --git a/readme.txt b/readme.txt
index 060c48d7..cfbcc680 100644
--- a/readme.txt
+++ b/readme.txt
@@ -5,7 +5,7 @@ Donate link: https://supporters.eff.org/donate
Tags: brightcove, 10up, videos, video
Requires at least: 4.2
Tested up to: 6.0
-Stable tag: 2.7.0
+Stable tag: 2.8.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -41,6 +41,28 @@ For installation, usage, and Frequently Asked Question please see the [Brightcov
= 2.7.0 =
+Deprecated
+
+* BC_Oauth_API::Method _request_access_token() in favor of BC_Oauth_API::request_access_token()
+*Action brightcove/admin/settings_page in favor of brightcove_admin_settings_page
+* Action brightcove/admin/videos_page in favor of brightcove_admin_videos_page
+* Action brightcove/admin/playlists_page in favor of brightcove_admin_playlists_page
+* Action brightcove/admin/edit_source_page in favor of brightcove_admin_edit_source_page
+* Action brightcove/admin/labels_page in favor of brightcove_admin_labels_page
+* Action brightcove/admin/edit_label_page in favor of brightcove_admin_edit_label_page
+
+Fixed
+
+* PHPCS Fixes.
+
+Added
+
+* Ability to add Application ID parameter to video player.
+
+* Enable audio track language detection based on browser language if video has multiple audio tracks.
+
+= 2.7.0 =
+
Fixed
* Picture in Picture not working.
From 4a19d33691ffaebb35b3ca0badc83fc701672ff3 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 13 Oct 2022 14:30:12 -0500
Subject: [PATCH 62/66] Revert action_init method
---
includes/class-bc-setup.php | 4 ----
1 file changed, 4 deletions(-)
diff --git a/includes/class-bc-setup.php b/includes/class-bc-setup.php
index e8dd5c34..7160feb9 100644
--- a/includes/class-bc-setup.php
+++ b/includes/class-bc-setup.php
@@ -14,10 +14,6 @@ class BC_Setup {
* Generic bootstrap function that is hooked into the default `init` method
*/
public static function action_init() {
- if ( ! is_admin() ) {
- add_action( 'wp_enqueue_scripts', array( 'BC_Setup', 'frontend_enqueue_scripts' ) );
- return;
- }
global $bc_accounts;
require_once BRIGHTCOVE_PATH . 'includes/class-bc-errors.php';
From 1ba9459ffbd43383640797aeb679271d54e72d57 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Thu, 13 Oct 2022 14:31:54 -0500
Subject: [PATCH 63/66] Delete return statement
---
includes/class-bc-setup.php | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/includes/class-bc-setup.php b/includes/class-bc-setup.php
index 7160feb9..ddcdbb08 100644
--- a/includes/class-bc-setup.php
+++ b/includes/class-bc-setup.php
@@ -16,6 +16,10 @@ class BC_Setup {
public static function action_init() {
global $bc_accounts;
+ if ( ! is_admin() ) {
+ add_action( 'wp_enqueue_scripts', array( 'BC_Setup', 'frontend_enqueue_scripts' ) );
+ }
+
require_once BRIGHTCOVE_PATH . 'includes/class-bc-errors.php';
require_once BRIGHTCOVE_PATH . 'includes/class-bc-logging.php';
require_once BRIGHTCOVE_PATH . 'includes/class-bc-playlist-shortcode.php';
From 58f89337f78a60cee96eb847fbc3c23682356eeb Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Mon, 17 Oct 2022 12:56:19 -0500
Subject: [PATCH 64/66] Update release date
---
CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7e17b34b..31bfb567 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file, per [the Ke
## [Unreleased] - TBD
-## [2.8.0] - 2022-10-10
+## [2.8.0] - 2022-10-17
### Deprecated
- BC_Oauth_API::Method _request_access_token() in favor of BC_Oauth_API::request_access_token()
From 17cc917e7d4500b02a010d1129e52c2039cefa72 Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Mon, 17 Oct 2022 13:01:33 -0500
Subject: [PATCH 65/66] Update version in readme.txt
---
readme.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/readme.txt b/readme.txt
index cfbcc680..1c91cb13 100644
--- a/readme.txt
+++ b/readme.txt
@@ -39,7 +39,7 @@ For installation, usage, and Frequently Asked Question please see the [Brightcov
== Changelog ==
-= 2.7.0 =
+= 2.8.0 =
Deprecated
From c96dd2be29ff55b7a8730414c0871a0a7369eeac Mon Sep 17 00:00:00 2001
From: Oscar Sanchez S
Date: Mon, 17 Oct 2022 13:05:51 -0500
Subject: [PATCH 66/66] Add space and remove extra line
---
readme.txt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/readme.txt b/readme.txt
index 1c91cb13..e4534baa 100644
--- a/readme.txt
+++ b/readme.txt
@@ -44,7 +44,7 @@ For installation, usage, and Frequently Asked Question please see the [Brightcov
Deprecated
* BC_Oauth_API::Method _request_access_token() in favor of BC_Oauth_API::request_access_token()
-*Action brightcove/admin/settings_page in favor of brightcove_admin_settings_page
+* Action brightcove/admin/settings_page in favor of brightcove_admin_settings_page
* Action brightcove/admin/videos_page in favor of brightcove_admin_videos_page
* Action brightcove/admin/playlists_page in favor of brightcove_admin_playlists_page
* Action brightcove/admin/edit_source_page in favor of brightcove_admin_edit_source_page
@@ -58,7 +58,6 @@ Fixed
Added
* Ability to add Application ID parameter to video player.
-
* Enable audio track language detection based on browser language if video has multiple audio tracks.
= 2.7.0 =