doAction('uam_init', [$userAccessManager]); //install if (function_exists('register_activation_hook') === true) { register_activation_hook($file, [$setupHandler, 'install']); } //uninstall if (function_exists('register_uninstall_hook')) { function uninstallUserAccessManager() { $file = str_replace('init.php', 'user-access-manager.php', __FILE__); $php = new Php(); $wordpress = new Wordpress(); $util = new Util($php); $configParameterFactory = new ConfigParameterFactory(); $database = new Database($wordpress); $objectHandler = new ObjectHandler($wordpress, $database); $config = new Config($wordpress, $objectHandler, $configParameterFactory, $file); $fileProtectionFactory = new FileProtectionFactory( $php, $wordpress, $config, $util ); $fileHandler = new FileHandler( $php, $wordpress, $config, $fileProtectionFactory ); $setupHandler = new SetupHandler( $wordpress, $database, $objectHandler, $fileHandler ); $setupHandler->uninstall(); } register_uninstall_hook($file, 'uninstallUserAccessManager'); } //deactivation if (function_exists('register_deactivation_hook')) { register_deactivation_hook($file, [$setupHandler, 'deactivate']); } $userAccessManager->addActionsAndFilters(); //Add the cli interface to the known commands if (defined('WP_CLI') === true && WP_CLI === true) { $cliWrapper = new \UserAccessManager\Wrapper\WordpressCli(); $groupCommand = new \UserAccessManager\Command\GroupCommand($cliWrapper, $accessHandler, $userGroupFactory); \WP_CLI::add_command('uam groups', $groupCommand); $objectCommand = new \UserAccessManager\Command\ObjectCommand($cliWrapper, $accessHandler); \WP_CLI::add_command('uam objects', $objectCommand); } return $userAccessManager; }