} // Quick perms load {{{ //Quickperm groups stuff if ($prefs['feature_quick_object_perms'] == 'y') { $groupNames = array(); foreach ($groups['data'] as $key => $group) { $groupNames[] = $group['groupName']; } $qperms = quickperms_get_data(); $smarty->assign('quickperms', $qperms); $quickperms = new Perms_Reflection_Quick(); foreach ($qperms as $type => $data) { $quickperms->configure($type, $data['data']); } $displayedPermissions = get_displayed_permissions(); $map = $quickperms->getAppliedPermissions($displayedPermissions, $groupNames); foreach ($groups['data'] as $key => $group) { $groups['data'][$key]['groupSumm'] = $map[$group['groupName']]; } } //Quickperm END }}} // get groupNames etc - TODO: jb will tidy... //$checkboxInfo = array(); $permGroups = array(); $groupNames = array(); $groupIndices = array(); $groupInheritance = array(); foreach ($groups['data'] as &$row) { if ($group_filter !== false && in_array($row['id'], $group_filter)) { $groupNames[] = $row['groupName']; $permGroups[] = 'perm[' . $row['groupName'] . ']';
function testInheritenceAppiesInMatching() { $quick = new Perms_Reflection_Quick(); $quick->configure('basic', array('view')); $quick->configure('registered', array('edit')); $permissions = new Perms_Reflection_PermissionSet(); $permissions->add('Registered', 'view'); $permissions->add('Registered', 'edit'); $expect = array('Registered' => 'registered'); $obtained = $quick->getAppliedPermissions($permissions, array('Registered')); $this->assertEquals($expect, $obtained); }