15 public $displayParentType =
false;
20 private $_permissions;
35 foreach ($config as $key => $value) {
66 $this->_roles = $this->_authorizer->getRoles(
false);
86 $type = array(CAuthItem::TYPE_OPERATION, CAuthItem::TYPE_TASK);
87 $this->_items = $this->_authorizer->getAuthItems($type);
97 $allPermissions = $this->_authorizer->getPermissions();
99 $permissions = array();
100 foreach ($this->_roles as $roleName => $role) {
101 $permissions[$roleName] = array();
102 foreach ($this->_items as $itemName => $item) {
103 $permissions[$roleName][$itemName] = $this->_authorizer->hasPermission($itemName, null, $allPermissions[$roleName]);
108 $this->_permissions = $permissions;
119 foreach ($this->_permissions as $roleName => $rolePermissions) {
120 foreach ($rolePermissions as $itemName => $permission) {
121 if ($permission===Rights::PERM_INHERITED) {
122 $parents[$roleName][$itemName] = $this->_authorizer->getAuthItemParents($itemName, null, $roleName,
true);
128 $this->_parents = $parents;
139 $permissions = $this->_permissions;
140 $parents = $this->_parents;
141 foreach ($this->_items as $itemName => $item) {
143 $row[
'description'] = $item->getNameLink();
145 foreach ($this->_roles as $roleName => $role) {
147 if ($permissions[$roleName][$itemName]===Rights::PERM_DIRECT) {
148 $permissionColumn = $item->getRevokePermissionLink($role);
151 }
else if ($permissions[$roleName][$itemName]===Rights::PERM_INHERITED && isset($parents[$roleName][$itemName])===
true) {
152 $permissionColumn = $item->getInheritedPermissionText($parents[$roleName][$itemName], $this->displayParentType);
155 $permissionColumn = $item->getAssignPermissionLink($role);
159 $row[strtolower($roleName)] = isset($permissionColumn)===
true ? $permissionColumn :
'';
166 $this->setData($data);
176 return $this->getData();
187 foreach ($this->getData() as $key => $value) {
201 return count($this->getData());