install(); // Declare constants and load dependencies. $this->define_constants(); $this->load_dependencies(); add_action('lr_admin_page', array($this, 'create_loginradius_menu'), 10); } function create_loginradius_menu() { add_submenu_page('LoginRadius', 'SSO Settings', 'Single sign-on', 'manage_options', 'loginradius_sso', array('LR_SSO_Admin', 'options_page')); } /** * Function for setting default options while plgin is activating. */ public static function install() { global $wpdb; require_once( dirname(__FILE__) . '/install.php' ); if (function_exists('is_multisite') && is_multisite()) { // check if it is a network activation - if so, run the activation function for each blog id $old_blog = $wpdb->blogid; // Get all blog ids $blogids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs"); foreach ($blogids as $blog_id) { switch_to_blog($blog_id); LR_SSO_Install::set_default_options(); } switch_to_blog($old_blog); return; } else { LR_SSO_Install::set_default_options(); } } /** * Define constants needed across the plug-in. */ private function define_constants() { define('LR_SSO_DIR', plugin_dir_path(__FILE__)); define('LR_SSO_URL', plugin_dir_url(__FILE__)); } /** * Loads PHP files that required by the plug-in */ public static function load_dependencies() { global $lr_sso_settings; // Get LoginRadius commenting settings $lr_sso_settings = get_option('LR_SSO_Settings'); // Load required files. require_once(LR_SSO_DIR."admin/class-lr-sso-admin.php"); require_once(LR_SSO_DIR."includes/front/class-lr-sso-front.php"); } } new LR_SSO(); }