if (!$xmember_handler->isAdmin($uid) && !$admin_xgroup_handler->isGroupAdmin($uid, $gid)) { xoonips_group_error('groupadmin.php', 'select'); } $gids = array($gid); $xg_obj =& $admin_xgroup_handler->getGroupObject($gid); $breadcrumbs[] = array('name' => $xg_obj->getVar('gname', 's'), 'url' => XOOPS_URL . '/modules/xoonips/groupadmin.php?op=edit&gid=' . $gid); break; case 'update': $gid = $formdata->getValue('post', 'gid', 'i', true); if (!$xmember_handler->isAdmin($uid) && !$admin_xgroup_handler->isGroupAdmin($uid, $gid)) { xoonips_group_error('groupadmin.php', 'select'); } $mode = $formdata->getValue('post', 'mode', 's', true); $guids = $formdata->getValueArray('post', 'uids', 'i', false); if (!in_array($mode, array('add', 'delete'))) { xoonips_group_error('groupadmin.php', 'update'); } foreach ($guids as $guid) { if ($admin_xgroup_handler->isGroupAdmin($guid, $gid)) { // ignore if group administrator continue; } if ($mode == 'add') { // subscribe to group $admin_xgroup_handler->addUserToXooNIpsGroup($gid, $guid, false); } else { // unsubscribe from group $admin_xgroup_handler->deleteUserFromXooNIpsGroup($gid, $guid); } } $gids = array($gid);
break; case 'delete': if (!$xoopsGTicket->check(true, $ticket_area, false)) { redirect_header('editgroups.php', 3, $xoopsGTicket->getErrors()); exit; } $gid = $formdata->getValue('post', 'gid', 'i', true); $xg_obj =& $admin_xgroup_handler->getGroupObject($gid); if (!is_object($xg_obj)) { xoonips_group_error('editgroups.php', 'select'); } if (!xoonips_group_check_perm($gid, 'delete')) { xoonips_group_error('editgroups.php', 'lock_delete'); } if (!$admin_xgroup_handler->deleteGroup($gid)) { xoonips_group_error('editgroups.php', 'delete'); } $op = ''; break; } if ($op == '') { $gid = 0; $gname = ''; $gdesc = ''; $gilimit = $xconfig_handler->getValue('group_item_number_limit'); $gxlimit = $xconfig_handler->getValue('group_index_number_limit'); $gslimit = $xconfig_handler->getValue('group_item_storage_limit') / 1000 / 1000; $gadmin_uids = array(); } $groups = $groups_show ? xoonips_group_get_groups($uid) : array(); $gadmins = xoonips_group_get_users($gadmin_uids);