Example #1
0
 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;
 }
Example #2
0
    //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);