} header('Content-Type: text/x-vcard; charset=iso-8859-1'); header('Content-Disposition: attachment; filename="' . $filename . '.vcf"'); // necessary for IE, because without it the download with SSL has problems header('Cache-Control: private'); header('Pragma: public'); // create vcard and check if user is allowed to edit profile, so he can see more data echo $user->getVCard($gCurrentUser->hasRightEditProfile($user)); } elseif ($getMode === 2) { // Cancel membership of role $member = new TableMembers($gDb, $getMemberId); $role = new TableRoles($gDb, $member->getValue('mem_rol_id')); // if user has the right then cancel membership if ($role->allowedToAssignMembers($gCurrentUser)) { try { $member->stopMembership(); } catch (AdmException $e) { $e->showText(); } // Beendigung erfolgreich -> Rueckgabe fuer XMLHttpRequest echo 'done'; } else { echo $gL10n->get('SYS_NO_RIGHTS'); } } elseif ($getMode === 3) { // Remove former membership of role if ($gCurrentUser->isWebmaster()) { $member = new TableMembers($gDb, $getMemberId); $member->delete(); // Entfernen erfolgreich -> Rueckgabe fuer XMLHttpRequest echo 'done';
$membership = 1; } if (isset($_POST['leader_' . $getUserId]) && $_POST['leader_' . $getUserId] == 'true') { $membership = 1; $leadership = 1; } // Member $member = new TableMembers($gDb); // Datensatzupdate $mem_count = $role->countMembers($getUserId); // Wenn Rolle weniger mitglieder hätte als zugelassen oder Leiter hinzugefügt werden soll if ($leadership == 1 || $leadership == 0 && $membership == 1 && ($role->getValue('rol_max_members') > $mem_count || $role->getValue('rol_max_members') == 0 || $role->getValue('rol_max_members') == 0)) { $member->startMembership($role->getValue('rol_id'), $getUserId, $leadership); echo 'success'; } elseif ($leadership == 0 && $membership == 0) { $member->stopMembership($role->getValue('rol_id'), $getUserId); echo 'success'; } else { $gMessage->show($gL10n->get('SYS_ROLE_MAX_MEMBERS', $role->getValue('rol_name'))); } } catch (AdmException $e) { $e->showText(); } } else { // show html list with all users and their membership to this role // set headline of the script $headline = $gL10n->get('LST_MEMBER_ASSIGNMENT') . ' - ' . $role->getValue('rol_name'); // add current url to navigation stack if last url was not the same page if (strpos($gNavigation->getUrl(), 'members_assignment.php') === false) { $gNavigation->addUrl(CURRENT_URL, $headline); }
$member = new TableMembers($gDb); $sql = 'SELECT mem_id, mem_rol_id, mem_usr_id, mem_begin, mem_end, mem_leader FROM ' . TBL_ROLES . ', ' . TBL_CATEGORIES . ', ' . TBL_MEMBERS . ' WHERE rol_valid = 1 AND rol_cat_id = cat_id AND ( cat_org_id = ' . $gCurrentOrganization->getValue('org_id') . ' OR cat_org_id IS NULL ) AND mem_rol_id = rol_id AND mem_begin <= \'' . DATE_NOW . '\' AND mem_end > \'' . DATE_NOW . '\' AND mem_usr_id = ' . $getUserId; $mglStatement = $gDb->query($sql); while ($row = $mglStatement->fetch()) { // alle Rollen der aktuellen Gliedgemeinschaft auf ungueltig setzen $member->setArray($row); $member->stopMembership($row['mem_rol_id'], $row['mem_usr_id']); } $gMessage->setForwardUrl($gNavigation->getUrl(), 2000); $gMessage->show($gL10n->get('MEM_REMOVE_MEMBERSHIP_OK', $gCurrentOrganization->getValue('org_longname'))); } elseif ($getMode === 3) { // User aus der Datenbank loeschen // nur Webmaster duerfen dies if (!$gCurrentUser->isWebmaster()) { $gMessage->show($gL10n->get('SYS_NO_RIGHTS')); } // User darf in keiner anderen Orga aktiv sein // kein Suizid ermoeglichen if ($other_orga > 0 || $gCurrentUser->getValue('usr_id') == $getUserId) { $gMessage->show($gL10n->get('SYS_NO_RIGHTS')); } $phrase = $gL10n->get('SYS_DELETE_DATA');