public static function action_init()
 {
     global $bc_accounts;
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-errors.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-callbacks.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-logging.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-playlist-shortcode.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-video-shortcode.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-video-upload.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/sync/class-bc-playlists.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/sync/class-bc-videos.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/sync/class-bc-players.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-accounts.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/api/class-bc-api.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/api/class-bc-cms-api.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/api/class-bc-oauth.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/api/class-bc-player-management-api.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-notifications.php';
     require_once BRIGHTCOVE_PATH . 'includes/classes/class-bc-tags.php';
     $locale = apply_filters('plugin_locale', get_locale(), 'brightcove');
     load_textdomain('brightcove', WP_LANG_DIR . '/brightcove/brightcove-' . $locale . '.mo');
     load_plugin_textdomain('brightcove', false, 'languages');
     // Preload Errors Class First
     new BC_Errors();
     new BC_Callbacks();
     $bc_accounts = new BC_Accounts();
     // Load Administrative Resources
     if (BC_Utility::current_user_can_brightcove()) {
         require_once BRIGHTCOVE_PATH . 'includes/classes/admin/api/class-bc-admin-media-api.php';
         require_once BRIGHTCOVE_PATH . 'includes/classes/admin/class-bc-admin-settings-page.php';
         require_once BRIGHTCOVE_PATH . 'includes/classes/admin/class-bc-admin-playlists-page.php';
         require_once BRIGHTCOVE_PATH . 'includes/classes/admin/class-bc-admin-videos-page.php';
         require_once BRIGHTCOVE_PATH . 'includes/classes/admin/class-bc-admin-sources.php';
         require_once BRIGHTCOVE_PATH . 'includes/classes/admin/class-bc-admin-user-profile.php';
         require_once BRIGHTCOVE_PATH . 'includes/classes/admin/class-bc-templates.php';
         // Load Brightcove API resources
         if ($bc_accounts->get_account_details_for_user()) {
             $cms_api = new BC_CMS_API();
             new BC_Notifications($cms_api);
         }
         new BC_Admin_Media_API();
         new BC_Admin_Settings_Page();
         new BC_Admin_Playlists_Page();
         new BC_Admin_Videos_Page();
         new BC_Admin_Sources();
         new BC_Admin_Templates();
         new BC_Admin_User_Profile();
     }
     new BC_Playlists();
     new BC_Videos();
     new BC_Players();
     add_action('admin_enqueue_scripts', array('BC_Setup', 'admin_enqueue_scripts'));
     add_action('wp_enqueue_scripts', array('BC_Setup', 'frontend_enqueue_scripts'));
     add_filter('upload_mimes', array('BC_Setup', 'mime_types'));
     add_action('media_buttons', array('BC_Setup', 'add_brightcove_media_button'));
     add_action('admin_footer', array('BC_Setup', 'add_brightcove_media_modal_container'));
     // Show admin notice only if there are not sources
     add_action('admin_notices', array('BC_Setup', 'bc_activation_admin_notices'));
 }