echo htmlentities($role->getName(), ENT_COMPAT, \thebuggenie\core\framework\Context::getI18n()->getCharset()); ?> " style="width: 300px;"><br> <div style="margin-top: 10px; font-weight: bold;"><?php echo __('Role permissions'); ?> </div> <ul class="simple_list" style="display: block; width: auto;"> <?php include_component('configuration/rolepermissionseditlist', array('role' => $role, 'permissions_list' => \thebuggenie\core\framework\Context::getAvailablePermissions('project'), 'module' => 'core', 'target_id' => null)); ?> <?php include_component('configuration/rolepermissionseditlist', array('role' => $role, 'permissions_list' => \thebuggenie\core\framework\Context::getAvailablePermissions('project_pages'), 'module' => 'core', 'target_id' => null)); ?> <?php include_component('configuration/rolepermissionseditlist', array('role' => $role, 'permissions_list' => \thebuggenie\core\framework\Context::getAvailablePermissions('issues'), 'module' => 'core', 'target_id' => null)); ?> <?php \thebuggenie\core\framework\Event::createNew('core', 'rolepermissionsedit', $role)->trigger(); ?> </ul> <input type="submit" value="<?php echo __('Save role'); ?> " style="float: right;"> <?php echo image_tag('spinning_16.gif', array('id' => "role_{$role->getID()}_form_indicator", 'style' => 'display: none; float: right; margin-right: 5px;')); ?> <br style="clear: both;"> </form>
</span></a> <ul style="display: none;" id="<?php echo $base_id; ?> _project_permission_details_<?php echo $project->getID(); ?> "> <?php include_component('configuration/permissionsblock', array('base_id' => $base_id . 'project_' . $project->getID() . '_project_permissions', 'permissions_list' => \thebuggenie\core\framework\Context::getAvailablePermissions('project'), 'mode' => 'general', 'target_id' => $project->getID(), 'module' => 'core', 'user_id' => $user_id, 'access_level' => $access_level)); ?> <?php include_component('configuration/permissionsblock', array('base_id' => $base_id . 'project_' . $project->getID() . '_page_permissions', 'permissions_list' => \thebuggenie\core\framework\Context::getAvailablePermissions('project_pages'), 'mode' => 'project_pages', 'target_id' => $project->getID(), 'module' => 'core', 'user_id' => $user_id, 'access_level' => $access_level)); ?> <?php include_component('configuration/permissionsblock', array('base_id' => $base_id . 'project_' . $project->getID() . '_issue_permissions', 'permissions_list' => \thebuggenie\core\framework\Context::getAvailablePermissions('issues'), 'mode' => 'general', 'target_id' => $project->getID(), 'module' => 'core', 'user_id' => $user_id, 'access_level' => $access_level)); ?> </ul> </li> <?php } ?> </ul> <?php } else { ?> <div class="faded_out" style="padding: 2px;"><?php echo __('There are no projects'); ?> </div> <?php
protected function _getPermissionListFromKey($key, $permissions = null) { if ($permissions === null) { $permissions = framework\Context::getAvailablePermissions(); } foreach ($permissions as $pkey => $permission) { if ($pkey == $key) { return array_key_exists('details', $permission) ? $permission['details'] : array(); } elseif (array_key_exists('details', $permission) && count($permission['details']) > 0 && ($plist = $this->_getPermissionListFromKey($key, $permission['details']))) { return $plist; } } return array(); }