init_settings(); // Possibly do additional admin_init tasks } // END public static function activate /** * Initialize some custom settings */ public function init_settings() { // register the settings for this plugin register_setting('alertwire-group', 'alertwireToken'); register_setting('alertwire-group', 'alertwireTarget'); register_setting('alertwire-group', 'alertwireOnHome'); register_setting('alertwire-group', 'alertwireOnSinglePost'); } // END public function init_custom_settings() /** * add a menu */ public function add_menu() { add_options_page('AlertWire Settings', 'AlertWire', 'manage_options', 'alertwire', array(&$this, 'plugin_settings_page')); } // END public function add_menu() /** * Menu Callback */ public function plugin_settings_page() { if(!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } // Render the settings template include(sprintf("%s/settings.php", dirname(__FILE__))); } // END public function plugin_settings_page() function insert_snippet() { if(!is_admin()) { if((is_home() || is_front_page()) && !get_option('alertwireOnHome')) return; if(is_single() && !get_option('alertwireOnSinglePost')) return; $alertwireToken = htmlspecialchars(get_option('alertwireToken')); $alertwireTarget = htmlspecialchars(get_option('alertwireTarget')); define('SRC', '//api.alertwire.com/Core/AWCore.min.js'); if ($alertwireTarget !== '') { echo '' . PHP_EOL; } else { echo '' . PHP_EOL; } } } } // END class AlertWire_Plugin } // END if(!class_exists('AlertWire_Plugin')) if(class_exists('AlertWire_Plugin')) { // Installation and uninstallation hooks register_activation_hook(__FILE__, array('AlertWire_Plugin', 'activate')); register_deactivation_hook(__FILE__, array('AlertWire_Plugin', 'deactivate')); // instantiate the plugin class $alertwire = new AlertWire_Plugin(); } // Add a link to the settings page onto the plugin page if(isset($alertwire)) { // Add the settings link to the plugins page function plugin_settings_link($links) { $settings_link = 'Settings'; array_unshift($links, $settings_link); return $links; } $plugin = plugin_basename(__FILE__); add_filter("plugin_action_links_$plugin", 'plugin_settings_link'); } ?>