}
    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';
示例#2
0
            $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);
    }
示例#3
0
    $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');