Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix: Prevent API calls when Brightcove has not been configured yet #323

Merged
merged 5 commits into from
Jun 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion brightcove-video-connect.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ function brightcove_activate() {
* Uninstall routines should be in uninstall.php
*/
function brightcove_deactivate() {

BC_Utility::deactivate();
}

Expand Down
57 changes: 34 additions & 23 deletions includes/class-bc-setup.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,25 +52,28 @@ public static function action_init() {

// Load Administrative Resources.
if ( BC_Utility::current_user_can_brightcove() ) {

require_once BRIGHTCOVE_PATH . 'includes/admin/api/class-bc-admin-media-api.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-settings-page.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-labels-page.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-playlists-page.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-videos-page.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-sources.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-user-profile.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-templates.php';

// Load Brightcove API resources.
new BC_Admin_Media_API();
new BC_Admin_Settings_Page();
new BC_Admin_Labels_Page();
new BC_Admin_Playlists_Page();
new BC_Admin_Videos_Page();
new BC_Admin_Sources();
new BC_Admin_Templates();
new BC_Admin_User_Profile();

if ( get_option( '_brightcove_accounts' ) ) {
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-labels-page.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-playlists-page.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-videos-page.php';

require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-admin-user-profile.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/class-bc-templates.php';
require_once BRIGHTCOVE_PATH . 'includes/admin/api/class-bc-admin-media-api.php';
add_action( 'admin_enqueue_scripts', array( 'BC_Setup', 'brightcove_enqueue_assets' ) );
// Load Brightcove API resources.
new BC_Admin_Media_API();
new BC_Admin_Labels_Page();
new BC_Admin_Playlists_Page();
new BC_Admin_Videos_Page();
new BC_Admin_Templates();
new BC_Admin_User_Profile();
}
}

new BC_Playlists();
Expand Down Expand Up @@ -334,22 +337,22 @@ public static function preload_params() {
$params['mimeTypes'] = BC_Utility::get_all_brightcove_mimetypes();

$default_account = $bc_accounts->get_account_details_for_user();
$params['defaultAccount'] = $default_account['hash'];
$params['defaultAccountId'] = $default_account['account_id'];
$params['defaultAccount'] = ! empty( $default_account['hash'] ) ? $default_account['hash'] : '';
$params['defaultAccountId'] = ! empty( $default_account['account_id'] ) ? $default_account['account_id'] : '';

return $params;

}

/**
* Enqueue the admin scripts and styles.
* Enqueue brightcove functionality dependent assets.
*
* @return void
*/
public static function admin_enqueue_scripts() {

public static function brightcove_enqueue_assets() {
global $wp_version;

// Use minified libraries if SCRIPT_DEBUG is turned off.
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
$suffix = BC_Utility::get_suffix();

$player_api = new BC_Player_Management_API2();
$players = $player_api->get_all_players();
Expand Down Expand Up @@ -412,6 +415,14 @@ public static function admin_enqueue_scripts() {
} else {
wp_enqueue_media();
}
}

/**
* Enqueue the admin scripts and styles.
*/
public static function admin_enqueue_scripts() {
// Use minified libraries if SCRIPT_DEBUG is turned off.
$suffix = BC_Utility::get_suffix();

wp_register_style( 'brightcove-video-connect', esc_url( BRIGHTCOVE_URL . 'assets/css/brightcove_video_connect' . $suffix . '.css' ), array(), BRIGHTCOVE_VERSION );
wp_enqueue_style( 'brightcove-video-connect' );
Expand All @@ -424,7 +435,7 @@ public static function admin_enqueue_scripts() {
*/
public static function frontend_enqueue_scripts() {
// Use minified libraries if SCRIPT_DEBUG is turned off.
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
$suffix = BC_Utility::get_suffix();

wp_enqueue_style( 'brightcove-pip-css', 'https://players.brightcove.net/videojs-pip/1/videojs-pip.css', [], BRIGHTCOVE_VERSION );
wp_register_style( 'brightcove-playlist', BRIGHTCOVE_URL . 'assets/css/brightcove_playlist' . $suffix . '.css', array(), BRIGHTCOVE_VERSION );
Expand Down
9 changes: 9 additions & 0 deletions includes/class-bc-utility.php
Original file line number Diff line number Diff line change
Expand Up @@ -1525,4 +1525,13 @@ public static function compare_player_update_date( $player1, $player2 ) {
public static function build_brightcove_src( $account_id, $extra_params = '' ) {
return 'https://players.brightcove.net/' . trailingslashit( $account_id ) . $extra_params;
}

/**
* Utility function to get suffix for assets. For development purposes.
*
* @return string
*/
public static function get_suffix() {
return ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
}
}
Loading