/** * Instantiates the plugin and setups all modules. * * @since 3.5 */ function membership_launch() { // setup environment membership_setup_contsants(); // database tables membership_setup_db_table_constants(); // plugin setup $plugin = Membership_Plugin::instance(); $plugin->set_factory(new Membership_Factory()); $plugin->set_module(Membership_Module_System::NAME); $plugin->set_module(Membership_Module_Upgrade::NAME); $plugin->set_module(Membership_Module_Menu::NAME); if (Membership_Plugin::is_enabled()) { $plugin->set_module(Membership_Module_Protection::NAME); } $plugin->set_module(Membership_Module_Adminbar::NAME); $plugin->set_module(Membership_Module_Frontend_Registration::NAME); if (is_admin()) { // $plugin->set_module( Membership_Module_Backend_Rules_Metabox::NAME ); // temporary deactivated, not ready to release } else { $plugin->set_module(Membership_Module_Frontend::NAME); } // take care of new users Membership_Plugin::factory()->hook_new_user_registration(); do_action('membership_loaded', $plugin); }