/**
  * Initialize the plugin by setting localization, filters, and administration functions.
  *
  * @since    1.0.0
  */
 private function __construct()
 {
     $plugin = Flowplayer5::get_instance();
     // Call $plugin_version from public plugin class.
     $this->plugin_version = $plugin->get_plugin_version();
     // Call $plugin_slug from public plugin class.
     $this->plugin_slug = $plugin->get_plugin_slug();
     // Add the options page and menu item.
     add_action('admin_menu', array($this, 'add_plugin_admin_menu'));
     // Load admin style sheet and JavaScript.
     add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_styles'));
     add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts'));
     // Add action & meta links
     $plugin_basename = plugin_basename(plugin_dir_path(FP5_PLUGIN_FILE) . 'flowplayer.php');
     add_filter('plugin_action_links_' . $plugin_basename, array($this, 'add_action_links'));
     add_filter('plugin_row_meta', array($this, 'add_plugin_row_meta'), 10, 2);
     // Edit update messages
     add_filter('post_updated_messages', array($this, 'set_messages'), 10, 2);
     // Add column and rows
     add_filter('manage_flowplayer5_posts_columns', array($this, 'shortcode_column'), 5, 2);
     add_action('manage_flowplayer5_posts_custom_column', array($this, 'shortcode_row'), 5, 2);
     // Add dashboard counts
     add_action('dashboard_glance_items', array($this, 'add_dashboard_counts'));
     add_action('right_now_content_table_end', array($this, 'add_dashboard_counts_old'));
     // Delete cache on update
     add_action('save_post_flowplayer5', array($this, 'delete_cache_post'), 10, 3);
     add_action('edited_playlist', array($this, 'delete_cache_tax'), 10, 2);
 }
 /**
  * Initialize Flowplayer Drive
  *
  * @since    1.2.0
  */
 public function run()
 {
     $plugin = Flowplayer5::get_instance();
     // Call $plugin_version from public plugin class.
     $this->plugin_version = $plugin->get_plugin_version();
     // Add content to footer bottom
     add_action('admin_footer', array($this, 'fp5_drive_content'));
 }
 /**
  * Initialize the flowplayer5 widget.
  *
  * @since    1.4.0
  */
 public function __construct()
 {
     $plugin = Flowplayer5::get_instance();
     // Call $plugin_slug from public plugin class.
     $this->plugin_slug = $plugin->get_plugin_slug();
     // Default widget option values.
     $this->defaults = array('id' => '');
     $widget_ops = array('classname' => 'flowplayer5-video-widget', 'description' => __('Display your Flowplayer Videos in a Widget.', $this->plugin_slug));
     parent::__construct('flowplayer5-video-widget', __('Flowplayer Video Widget', $this->plugin_slug), $widget_ops);
 }
 /**
  * Initializes the meta boxes
  *
  * @since     1.0.0
  */
 public function __construct()
 {
     $flowplayer5 = Flowplayer5::get_instance();
     $this->plugin_slug = $flowplayer5->get_plugin_slug();
     $this->player_version = $flowplayer5->get_player_version();
     // Setup the meta boxes for the video and shortcode
     add_action('add_meta_boxes', array($this, 'add_shortcode_meta_box'));
     add_action('add_meta_boxes', array($this, 'add_video_meta_box'));
     // Setup the function responsible for saving
     add_action('save_post', array($this, 'save_fp5_video_details'));
 }
 /**
  * Initialize the plugin by setting localization, filters, and administration functions.
  *
  * @since    1.0.0
  */
 public function __construct()
 {
     global $flowplayer5_shortcode;
     $plugin = Flowplayer5::get_instance();
     // Call $plugin_version from public plugin class.
     $this->plugin_version = $plugin->get_plugin_version();
     // Call $player_version from public plugin class.
     $this->player_version = $plugin->get_player_version();
     // Pull options
     $options = fp5_get_settings();
     $cdn = isset($options['cdn_option']);
     $key = !empty($options['key']) ? $options['key'] : '';
     $directory = !empty($options['directory']) ? $options['directory'] : '';
     $fp_version = isset($options['fp_version']) && 'fp6' === $options['fp_version'] ? '-6' : '';
     $flowplayer5_commercial = trailingslashit(WP_CONTENT_DIR) . 'flowplayer-commercial';
     if (is_file($flowplayer5_commercial) && !$cdn && $key) {
         $this->flowplayer5_directory = $flowplayer5_commercial;
     } elseif ($directory) {
         $this->flowplayer5_directory = $directory;
     } elseif ($cdn && !$key) {
         $this->flowplayer5_directory = plugins_url('/assets/flowplayer' . $fp_version, __FILE__);
     } else {
         $this->flowplayer5_directory = '//releases.flowplayer.org/' . $this->player_version . '/' . ($key ? 'commercial' : '');
     }
     if ($directory) {
         $this->plugin_directory = $directory;
     } elseif ($cdn) {
         $this->plugin_directory = plugins_url('/assets', __FILE__);
     } else {
         $this->plugin_directory = '//releases.flowplayer.org/';
     }
     // Start check if posts have videos
     add_action('wp_enqueue_scripts', array($this, 'has_flowplayer_video'));
     // Load public-facing style sheet and JavaScript.
     add_action('wp_enqueue_scripts', array($this, 'enqueue_styles'));
     add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'));
     // Filter video output to video post
     add_filter('the_content', array($this, 'get_video_output'));
     // Load script for Flowplayer global configuration
     add_action('wp_head', array($this, 'global_config_script'));
 }
 /**
  * Return an instance of this class.
  *
  * @since    1.0.0
  *
  * @return   object    A single instance of this class.
  */
 public static function get_instance()
 {
     // If the single instance hasn't been set, set it now.
     if (null == self::$instance) {
         self::$instance = new self();
     }
     return self::$instance;
 }
    require_once plugin_dir_path(__FILE__) . 'admin/flowplayer-drive/class-flowplayer-drive-error.php';
    require_once plugin_dir_path(__FILE__) . 'admin/insert-video-button.php';
    if (!class_exists('Gamajo_Dashboard_Glancer')) {
        require plugin_dir_path(__FILE__) . 'admin/includes/class-gamajo-dashboard-glancer.php';
    }
    if (!class_exists('Gamajo_Dashboard_RightNow')) {
        require plugin_dir_path(__FILE__) . 'admin/includes/class-gamajo-dashboard-rightnow.php';
    }
} else {
    require_once plugin_dir_path(__FILE__) . 'frontend/class-flowplayer5-frontend.php';
    require_once plugin_dir_path(__FILE__) . 'frontend/class-flowplayer5-playlist.php';
    require_once plugin_dir_path(__FILE__) . 'frontend/class-flowplayer5-output.php';
    require_once plugin_dir_path(__FILE__) . 'frontend/class-flowplayer5-shortcode.php';
}
// Register hooks that are fired when the plugin is activated, deactivated, and uninstalled, respectively.
register_activation_hook(__FILE__, array('Flowplayer5', 'activate'));
register_deactivation_hook(__FILE__, array('Flowplayer5', 'deactivate'));
Flowplayer5::get_instance();
Flowplayer5_Post_Type::get_instance();
Flowplayer5_Taxonomy::get_instance();
new Flowplayer5_Sanitize_Settings();
if (is_admin()) {
    Flowplayer5_Admin::get_instance();
    Flowplayer5_Video_Meta_Box::get_instance();
    $flowplayer_drive = new Flowplayer_Drive();
    add_action('plugins_loaded', array($flowplayer_drive, 'run'));
    new Flowplayer5_Taxonomy_Meta();
} else {
    new Flowplayer5_Frontend();
    new Flowplayer5_Shortcode();
}