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();
 }
Beispiel #2
0
    //$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;
}