/** * 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'; }