productName = Emb_WpPlugin::PRODUCT_NAME; $this->emailOptionKey = "emb_activate_email-{$this->productName}"; $this->email = is_multisite() ? get_blog_option( get_main_site_id(), $this->emailOptionKey, NULL ) : get_option( $this->emailOptionKey, NULL ); $this->activated = !is_null($this->email); if (!$this->activated) { // Abort normal activation $options->continue = FALSE; add_action('admin_menu', array($this, 'registerMenu')); } } public function registerMenu() { add_menu_page(Emb_WpPlugin::TITLE, Emb_WpPlugin::MENU_LABEL, Emb_WpPlugin::CAPABILITY, Emb_WpPlugin::SLUG, array($this, 'dispatchActivate'), Emb_WpPlugin::getPluginBaseUrl() . '/images/icon.png' ); add_submenu_page(Emb_WpPlugin::SLUG, 'Activate', 'Activate', Emb_WpPlugin::CAPABILITY, Emb_WpPlugin::SLUG, array($this, 'dispatchActivate') ); } // // Activation methods // public function activate($activateEmail) { if (is_multisite()) { update_blog_option( get_main_site_id(), $this->emailOptionKey, $activateEmail ); } else { update_option( $this->emailOptionKey, $activateEmail ); } $this->email = $activateEmail; $this->activated = TRUE; } public function deactivate() { delete_option($this->emailOptionKey); } public function dispatchActivate() { Emb_WpPlugin::getInstance()->dispatch('activate'); } }