예제 #1
0
파일: Biome.php 프로젝트: mermetbt/biome
 protected static function declareServices()
 {
     /* Registering default services. */
     /**
      * Autoload
      */
     Autoload::register();
     /**
      * Biome default logger service.
      */
     if (!Biome::hasService('logger')) {
         Biome::registerService('logger', function () {
             return new \Psr\Log\NullLogger();
         });
     }
     /**
      * Biome default request.
      */
     if (!Biome::hasService('request')) {
         Biome::registerService('request', function () {
             return Request::createFromGlobals();
         });
     }
     /**
      * Biome default lang service.
      */
     if (!Biome::hasService('lang')) {
         Biome::registerService('lang', function () {
             $languages = Biome::getService('request')->getLanguages();
             $lang = new \Biome\Core\Lang\XMLLang($languages);
             return $lang;
         });
     }
     /**
      * Biome default view service.
      */
     if (!Biome::hasService('view')) {
         Biome::registerService('view', function () {
             $view = new \Biome\Core\View();
             $app_name = Biome::getService('lang')->get('app_name');
             $view->setTitle($app_name);
             return $view;
         });
     }
     /**
      * Biome default rights service.
      */
     if (!Biome::hasService('rights')) {
         Biome::registerService('rights', function () {
             $auth = \Biome\Core\Collection::get('auth');
             if ($auth->isAuthenticated()) {
                 $admin_id = 1;
                 // Default value of the Admin role id.
                 if (Biome::hasService('config')) {
                     $admin_id = Biome::getService('config')->get('ADMIN_ROLE_ID', 1);
                 }
                 $roles = $auth->user->roles;
                 foreach ($roles as $role) {
                     /* If Admin. */
                     if ($role->role_id == $admin_id) {
                         return new \Biome\Core\Rights\FreeRights();
                     }
                     $rights = AccessRights::loadFromJSON($role->role_rights);
                 }
                 return $rights;
             }
             $rights = AccessRights::loadFromArray(array());
             $rights->setAttribute('User', 'firstname', TRUE, TRUE)->setAttribute('User', 'lastname', TRUE, TRUE)->setAttribute('User', 'mail', TRUE, TRUE)->setAttribute('User', 'password', TRUE, TRUE)->setRoute('GET', 'index', 'index')->setRoute('GET', 'auth', 'login')->setRoute('POST', 'auth', 'signin')->setRoute('POST', 'auth', 'signup');
             return $rights;
         });
     }
     /**
      * Biome default route service.
      */
     if (!Biome::hasService('router')) {
         Biome::registerService('router', function () {
             $router = new Route();
             $router->autoroute();
             return $router;
         });
     }
     /**
      * Biome default dispatch service.
      */
     if (!Biome::hasService('dispatcher')) {
         Biome::registerService('dispatcher', function () {
             return Biome::getService('router')->getDispatcher();
         });
     }
     Logger::info('Services registered!');
 }
예제 #2
0
<?php

$objects = \Biome\Core\ORM\ObjectLoader::getObjects();
$router = \Biome\Biome::getService('router');
$routes = $router->getRoutes();
$rights = \Biome\Core\Rights\AccessRights::loadFromJSON($this->getValue());
?>
<div id="<?php 
echo $this->getId();
?>
">
<ul class="nav nav-tabs" role="tablist">
	<li role="presentation" class="active"><a href="#role_routes" aria-controls="role_routes" role="tab" data-toggle="tab">Routes</a></li>
	<li role="presentation"><a href="#role_objects" aria-controls="role_objects" role="tab" data-toggle="tab">Objects</a></li>
</ul>
<div class="tab-content">

<div role="tabpanel" class="tab-pane fade in active" id="role_routes">
<table id="table_routes" class="table table-striped table-hover table-condensed">
	<thead>
		<tr>
			<th>Method</th>
			<th>Route</th>
			<th>Description</th>
			<th><input type="checkbox" onClick="toggleCheckboxColumn(this, 'table_routes', 'rights-routes');"/> <span> Access</span></th>
		</tr>
	</thead>
	<tbody>
		<?php 
foreach ($routes as $r) {
    $method = $r['method'];