Location: PHPKode > scripts > Admidio > admidio-2.2.9/adm_program/modules/profile/profile_function.php
<?php
/******************************************************************************
 * verschiedene Funktionen fuer das Profil
 *
 * Copyright    : (c) 2004 - 2011 The Admidio Team
 * Homepage     : http://www.admidio.org
 * License      : GNU Public License 2 http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Uebergaben:
 *
 * mode   :  1 - User als vCard exportieren
 *           2 - Mitgliedschaft bei einer Rolle entfernen
 *           3 - Ehemalige Rollenzuordnung entfernen
 * user_id: Id des Users, der bearbeitet werden soll
 * rol_id : Rollen-ID der Rolle, die geloescht werden soll
 *
 *****************************************************************************/

require_once("../../system/common.php");
require_once("../../system/login_valid.php");
require_once("../../system/classes/table_members.php");

// Uebergabevariablen pruefen

if(isset($_REQUEST['user_id']) && is_numeric($_REQUEST['user_id']) == false)
{
    $g_message->show($g_l10n->get('SYS_INVALID_PAGE_VIEW'));
}

if(isset($_REQUEST['rol_id']) && is_numeric($_REQUEST['rol_id']) == false)
{
    $g_message->show($g_l10n->get('SYS_INVALID_PAGE_VIEW'));
}

if(is_numeric($_REQUEST['mode']) == false
|| $_REQUEST['mode'] < 1 || $_REQUEST['mode'] > 3)
{
    $g_message->show($g_l10n->get('SYS_INVALID_PAGE_VIEW'));
}

if($_REQUEST['mode'] == 1)
{
    // Userdaten aus Datenbank holen
    $user = new User($g_db, $_REQUEST['user_id']);

    header('Content-Type: text/x-vcard; charset=iso-8859-1');
    header('Content-Disposition: attachment; filename="'. urlencode($user->getValue('FIRST_NAME'). ' '. $user->getValue('LAST_NAME')). '.vcf"');
	// noetig fuer IE, da ansonsten der Download mit SSL nicht funktioniert
	header('Cache-Control: private');
	header('Pragma: public');

    echo $user->getVCard();
}
elseif($_REQUEST['mode'] == 2)
{
    // Mitgliedschaft bei einer aktuellen Rolle beenden
    if($g_current_user->assignRoles())
    {
        $member = new TableMembers($g_db);
        $member->stopMembership($_REQUEST['rol_id'], $_REQUEST['user_id']);

        // Beendigung erfolgreich -> Rueckgabe fuer XMLHttpRequest
        echo "done";
    }
}
elseif($_REQUEST['mode'] == 3)
{
    // Ehemalige Rollenzuordnung entfernen
    if($g_current_user->isWebmaster())
    {
        $member = new TableMembers($g_db);
        $member->readData(array('rol_id' => $_REQUEST['rol_id'], 'usr_id' => $_REQUEST['user_id']));
        $member->delete();

        // Entfernen erfolgreich -> Rueckgabe fuer XMLHttpRequest
        echo "done";
    }
}

?>
Return current item: Admidio