Example #1
0
 /**
  * Constructor, init on defined hooks of WP and include second class
  * @access  public
  * @since   0.0.2
  * @uses    register_activation_hook, register_uninstall_hook, add_action
  * @return  \Add_Quicktag_Settings
  */
 private function __construct()
 {
     if (!is_admin()) {
         return;
     }
     // textdomain from parent class
     self::$textdomain = parent::get_textdomain();
     self::$option_string = parent::get_option_string();
     self::$plugin = parent::get_plugin_string();
     self::$post_types_for_js = parent::get_post_types_for_js();
     self::$nonce_string = 'addquicktag_nonce';
     register_uninstall_hook(__FILE__, array('Add_Quicktag_Settings', 'unregister_settings'));
     // settings for an active multisite
     if (is_multisite() && is_plugin_active_for_network(self::$plugin)) {
         add_action('network_admin_menu', array($this, 'add_settings_page'));
         // add settings link
         add_filter('network_admin_plugin_action_links', array($this, 'network_admin_plugin_action_links'), 10, 2);
         // save settings on network
         add_action('network_admin_edit_' . self::$option_string, array($this, 'save_network_settings_page'));
         // return message for update settings
         add_action('network_admin_notices', array($this, 'get_network_admin_notices'));
         // add script on settings page
     } else {
         add_action('admin_menu', array($this, 'add_settings_page'));
         // add settings link
         add_filter('plugin_action_links', array($this, 'plugin_action_links'), 10, 2);
         // use settings API
         add_action('admin_init', array($this, 'register_settings'));
     }
     // include js
     add_action('admin_print_scripts-settings_page_' . str_replace('.php', '', plugin_basename(__FILE__)), array($this, 'print_scripts'));
     // add meta boxes on settings pages
     add_action('addquicktag_settings_page_sidebar', array($this, 'get_plugin_infos'));
     add_action('addquicktag_settings_page_sidebar', array($this, 'get_about_plugin'));
     // include class for remove core quicktags
     require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class-remove-quicktags.php';
     // include class for add enhanced code quicktags
     // @TODO Solution for special code tags in quicktags
     require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class-code-quicktags.php';
     // include class for im/export
     require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class-imexport.php';
 }