public static function loadComponent($folder, $moduleName, $componentName = 'index') { $user = App::user(); if (empty($componentName)) { $componentName = 'index'; } App::log($moduleName, $componentName); if ($user->hasPerm($moduleName, $componentName)) { $module = new Modules\Module($folder, $moduleName); $component = new Modules\Component($module, $componentName); define('moduleName', $moduleName); define('componentName', $componentName); self::$module = $module; self::$component = $component; return $component; } return null; }
//throw new Exception('modules/setup folder needs write permission'); } if (!file_exists($dir . '/config.php')) { throw new Exception('You must first create modules/setup/config.php'); } require_once $dir . '/../../vendor/autoload.php'; require_once $dir . '/../setup/config.php'; use RedBeanPHP\R; use Enpowi\Users\Group; use Enpowi\Users\User; use Enpowi\Users\Perm; use Enpowi\App; use Enpowi\Modules\Module; Module::run(); R::nuke(); App::log('setup', 'newSite'); //create groups $everyoneGroup = Group::create('Everyone', false, false, true); $anonymousGroup = Group::create('Anonymous', false, true); $registeredGroup = Group::create('Registered', true); $administratorGroup = Group::create('Administrator', false, false, false, true); //create first user & put him in admin group $administratorUser = User::create('admin', 'admin', true); $administratorGroup->addUser($administratorUser); //give Anonymous abilities Perm::create('user', 'login', $anonymousGroup); Perm::create('user', 'register', $anonymousGroup); Perm::create('user', 'forgot', $anonymousGroup); Perm::create('user', 'confirm', $anonymousGroup); //give registered abilities Perm::create('gallery', '*', $registeredGroup);