private function __construct()
{
// Enqueue essential assets
add_action('admin_enqueue_scripts', array($this, 'admin_enqueue'));
// Add the Ooyala media button
add_action('media_buttons', array($this, 'media_buttons'), 20);
// Emit configuration nag
add_action('admin_notices', array($this, 'admin_notices'));
// Create view templates used by the Ooyala media manager
add_action('print_media_templates', array($this, 'print_media_templates'));
// Register shorcodes
add_action('init', array($this, 'action_init'));
// Do not texturize our shortcode content!
add_filter('no_texturize_shortcodes', function ($codes) {
$codes[] = Ooyala::shortcode;
return $codes;
});
// Register settings screen
add_action('admin_init', array($this, 'admin_init'));
// Handle signing requests
add_action('wp_ajax_ooyala_sign_request', array($this, 'ajax_sign_request'));
// Handle image downloads
add_action('wp_ajax_ooyala_download', array($this, 'ajax_download'));
// Handle thumbnail lookups
add_action('wp_ajax_ooyala_get_image_id', array($this, 'ajax_get_image_id'));
}