public function update_memberships() { global $user, $db; //$memb = $db->selectObject('groupmembership','member_id='.$user->id.' AND group_id='.$this->params['id'].' AND is_admin=1'); $group = $db->selectObject('group', 'id=' . intval($this->params['id'])); $db->delete('groupmembership', 'group_id=' . $group->id); $memb = null; $memb->group_id = $group->id; if ($this->params['memdata'] != "") { foreach ($this->params['memdata'] as $u => $str) { $memb->member_id = $u; $memb->is_admin = $str['is_admin']; $db->insertObject($memb, 'groupmembership'); } } expPermissions::triggerRefresh(); expHistory::back(); }
//$groups = explode(';',$_POST['permdata']); $locarray = array(); // if ($loc->mod == 'navigationmodule' && (isset($_POST['permdata'][1]['manage']) && $_POST['permdata'][1]['manage'] || isset($_POST['permdata'][1]['administrate']) && $_POST['permdata'][1]['administrate'])) { // $sections = navigationmodule::levelTemplate($loc->int); // $locarray[] = $loc; // foreach ($sections as $section) { // $locarray[] = expCore::makeLocation('navigationmodule', null, $section->id); // } // } else { $locarray[] = $loc; // } $groups = group::getAllGroups(); foreach ($locarray as $location) { foreach ($groups as $g) { expPermissions::revokeAllGroup($g, $location); } } foreach ($_POST['permdata'] as $k => $group_str) { $perms = array_keys($group_str); $g = group::getGroupById($k); foreach ($locarray as $location) { for ($i = 0; $i < count($perms); $i++) { expPermissions::grantGroup($g, $perms[$i], $location); } } } expPermissions::triggerRefresh(); expHistory::back(); } else { echo SITE_403_HTML; }