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');
}
?>