/**
  * Init parts of the plugin that requires certain dependencies (such as
  * authenticated user) that are available only after WordPress fires the
  * "init" action.
  */
 public function init()
 {
     $this->bridge->do_action($this->plugin_key . '_pre_init');
     $this->build_constants();
     $this->init_shared_properties();
     $this->init_properties();
     $this->init_load_libraries();
     $this->init_update_plugin();
     $this->init_hooks();
     $this->register_framework_media();
     $this->enqueue_media();
     if ($this->is_admin_page()) {
         // @since rev 164 enqueue common javascript when inside an admin
         // page by default
         $this->bridge->wp_enqueue_script('bwp-op');
         // @since rev 164 split the sidebar
         $this->bridge->add_action('bwp_option_action_before_main', array($this, 'show_sidebar_right'), 12);
         $this->bridge->add_action('bwp_option_action_before_tabs', array($this, 'show_header'), 12);
     }
     $this->bridge->do_action($this->plugin_key . '_loaded');
 }