예제 #1
0
function profile_main()
{
    global $template;
    // open template
    $template->setFile('profile.tmpl');
    // connect to login db
    if (!($db_login = DbConnect(Config::DB_LOGIN_HOST, Config::DB_LOGIN_USER, Config::DB_LOGIN_PWD, Config::DB_LOGIN_NAME))) {
        $template->throwError('Datenbankverbindungsfehler. Bitte wende dich an einen Administrator.');
        return;
    }
    $action = Request::getVar('action', '');
    switch ($action) {
        /****************************************************************************************************
        *
        * Profil aktualisieren
        *
        ****************************************************************************************************/
        case 'change':
            // proccess form data
            $message = profile_update($db_login);
            // update player's data
            page_refreshUserData();
            break;
            /****************************************************************************************************
            *
            * Account "löschen"
            *
            ****************************************************************************************************/
        /****************************************************************************************************
        *
        * Account "löschen"
        *
        ****************************************************************************************************/
        case 'delete':
            if (Request::isPost('postConfirm')) {
                if (profile_processDeleteAccount($db_login, $_SESSION['player']->playerID)) {
                    session_destroy();
                    die(json_encode(array('mode' => 'finish', 'title' => 'Account gelöscht', 'msg' => _('Ihr Account wurde zur Löschung vorgemerkt. Sie sind jetzt ausgeloggt und können das Fenster schließen.'))));
                } else {
                    $message = array('type' => 'error', 'message' => _('Das löschen Ihres Accounts ist fehlgeschlagen. Bitte wenden Sie sich an das Support Team.'));
                }
            } else {
                $template->addVars(array('cancelOrder_box' => true, 'confirm_action' => 'delete', 'confirm_id' => $_SESSION['player']->playerID, 'confirm_mode' => USER_PROFILE, 'confirm_msg' => _('Möchtest du deinen Account wirklich löschen?')));
            }
            break;
    }
    // get login data
    $playerData = profile_getPlayerData($db_login);
    if (!$playerData) {
        $template->throwError('Datenbankfehler. Bitte wende dich an einen Administrator');
        return;
    }
    /****************************************************************************************************
    *
    * Übergeben ans Template
    *
    ****************************************************************************************************/
    $template->addVars(array('status_msg' => isset($message) && !empty($message) ? $message : '', 'player' => $playerData['game'], 'language' => LanguageNames::getLanguageNames(), 'template' => Config::$template_paths));
}
예제 #2
0
/**
 * This function delegates the task at issue to the respective function.
 */
function profile_main()
{
    global $template;
    // connect to login db
    if (!($db_login = DbConnect(Config::DB_LOGIN_HOST, Config::DB_LOGIN_USER, Config::DB_LOGIN_PWD, Config::DB_LOGIN_NAME))) {
        $template->throwError('Datenbankverbindungsfehler. Bitte wende dich an einen Administrator.');
        return;
    }
    $action = Request::getVar('action', '');
    switch ($action) {
        // change cave page
        case 'change':
            // proccess form data
            $message = profile_update($db_login);
            // update player's data
            page_refreshUserData();
            break;
            // change cave page
        // change cave page
        case 'delete':
            if (Request::isPost('cancelOrderConfirm')) {
                if (profile_processDeleteAccount($db_login, $_SESSION['player']->playerID)) {
                    session_destroy();
                    $message = array('type' => 'success', 'message' => _('Ihr Account wurde zur Löschung vorgemerkt. Sie sind jetzt ausgeloggt und können das Fenster schließen.'));
                } else {
                    $message = array('type' => 'error', 'message' => _('Das löschen Ihres Accounts ist fehlgeschlagen. Bitte wenden Sie sich an das Support Team.'));
                }
            } else {
                $template->addVars(array('cancelOrder_box' => true, 'confirm_action' => 'delete', 'confirm_id' => $_SESSION['player']->playerID, 'confirm_mode' => USER_PROFILE, 'confirm_msg' => _('Möchtest du deinen Account wirklich löschen?')));
            }
            break;
    }
    // open template
    $template->setFile('profile.tmpl');
    // get login data
    $playerData = profile_getPlayerData($db_login);
    if (!$playerData) {
        $template->throwError('Datenbankfehler. Bitte wende dich an einen Administrator');
        return;
    }
    // show message
    if (isset($message) && !empty($message)) {
        $template->addVar('status_msg', $message);
    }
    // show the profile's data
    profile_fillUserData($template, $playerData);
}
예제 #3
0
function profile_show($db_login, $feedback = NULL)
{
    global $params;
    // get login data
    $playerData = profile_getPlayerData($db_login);
    if (!$playerData) {
        page_dberror();
    }
    // open template
    $template = tmpl_open($params->SESSION->player->getTemplatePath() . 'profile.ihtml');
    // show message
    if ($feedback) {
        tmpl_set($template, '/MESSAGE/message', $feedback);
    }
    // show the profile's data
    profile_fillUserData($template, $playerData);
    return tmpl_parse($template);
}
예제 #4
0
function profile_getContent($playerID)
{
    global $config, $params, $db, $no_resource_flag;
    $no_resource_flag = 1;
    // try to connect to login db
    if (!($db_login = new DB($config->DB_LOGIN_HOST, $config->DB_LOGIN_USER, $config->DB_LOGIN_PWD, $config->DB_LOGIN_NAME))) {
        page_dberror();
    }
    // messages
    $messageText = array(0 => "Die Daten wurden erfolgreich aktualisiert.", 1 => "Das Paßwort stimmt nicht mit der Wiederholung überein.", 2 => "Die Daten konnten gar nicht oder zumindest nicht vollständig " . "aktualisiert werden.", 3 => "Das Passwort muss mindestens 4 Zeichen lang sein!", 5 => "Die Priorität muß zwischen 0 und 10 liegen!", 6 => "Dein Clan ist im Krieg und du kannst darum den Urlaubsmodus nicht aktivieren!", 7 => "Du warst erst kürzlich im Urlaub und mußt mindestens die gleiche Zeitspanne warten!", 8 => "Fehler beim Aktivieren des Urlaubsmodus", 10 => "Dieser Clanname ist nicht erlaubt!");
    // proccess form data
    if ($params->POST->data || $params->POST->password) {
        // insert necessary fields
        $messageID = profile_processUpdate($playerID, $params->POST->data, $params->POST->password, $params->POST->cave_prio, $db, $db_login);
    }
    // get the user data
    if (!($playerData = profile_getPlayerData($playerID, $db, $db_login))) {
        page_dberror();
    }
    $template = @tmpl_open("./templates/" . $config->template_paths[$params->SESSION->user['template']] . "/profile.ihtml");
    // Show a special message
    if (isset($messageID)) {
        tmpl_set($template, '/MESSAGE/message', $messageText[$messageID]);
        page_refreshUserData();
    }
    // show the profile's data
    tmpl_set($template, 'modus_name', 'modus');
    tmpl_set($template, 'modus_value', USER_PROFILE);
    ////////////// user data //////////////////////
    tmpl_set($template, 'DATA_GROUP/heading', 'Benutzerdaten');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INFO/name', 'Name');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INFO/value', $playerData['game']['name']);
    tmpl_iterate($template, 'DATA_GROUP/ENTRY_INFO');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INFO/name', 'Email');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INFO/value', $playerData['game']['email']);
    tmpl_iterate($template, 'DATA_GROUP/ENTRY_INFO');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/name', 'Email 2');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataentry', 'email2');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/value', $playerData['game']['email2']);
    tmpl_iterate($template, 'DATA_GROUP/ENTRY_INPUT');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/name', 'Geschlecht (m/w)');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataentry', 'sex');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/value', $playerData['game']['sex']);
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/size', '1');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/maxlength', '1');
    tmpl_iterate($template, 'DATA_GROUP/ENTRY_INPUT');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/name', 'Herkunft');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataentry', 'origin');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/value', $playerData['game']['origin']);
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/size', '30');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/maxlength', '30');
    tmpl_iterate($template, 'DATA_GROUP/ENTRY_INPUT');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/name', 'Alter');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataentry', 'age');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/value', $playerData['game']['age']);
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/size', '2');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/maxlength', '2');
    tmpl_iterate($template, 'DATA_GROUP/ENTRY_INPUT');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/name', 'ICQ#');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataentry', 'icq');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/value', $playerData['game']['icq']);
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/size', '15');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/maxlength', '15');
    tmpl_iterate($template, 'DATA_GROUP/ENTRY_INPUT');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/name', 'Avatar URL (max ' . AVATAR_X . 'x' . AVATAR_Y . ')');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataentry', 'avatar');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/value', $playerData['game']['avatar']);
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/size', '30');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/maxlength', '90');
    tmpl_set($template, 'DATA_GROUP/ENTRY_MEMO/name', 'Beschreibung');
    tmpl_set($template, 'DATA_GROUP/ENTRY_MEMO/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_MEMO/dataentry', 'description');
    tmpl_set($template, 'DATA_GROUP/ENTRY_MEMO/value', $playerData['game']['description']);
    tmpl_set($template, 'DATA_GROUP/ENTRY_MEMO/cols', '25');
    tmpl_set($template, 'DATA_GROUP/ENTRY_MEMO/rows', '8');
    // ADDED by chris--- for cave sorting
    ////////////// cave sorting //////////////////////
    $meineHoehlen = getCaves($playerID);
    // only show this if there is more than one cave
    if (sizeof($meineHoehlen) > 1) {
        tmpl_iterate($template, 'DATA_GROUP');
        tmpl_set($template, 'DATA_GROUP/heading', 'Siedlungspriorität (1=hoch, 10=niedrig)');
        $i = 0;
        $select = array();
        foreach ($meineHoehlen as $key => $value) {
            tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/name', lib_shorten_html($value['name'], 17));
            tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataarray', 'cave_prio');
            tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataentry', $key);
            tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/value', $meineHoehlen[$key][priority]);
            tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/size', '2');
            tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/maxlength', '2');
            if ($i + 1 < sizeof($meineHoehlen)) {
                tmpl_iterate($template, 'DATA_GROUP/ENTRY_INPUT');
            }
            $i++;
        }
    }
    // end if
    // ---------------------------------------------------------------------------------------------
    ////////////// template //////////////////////
    /* DISABLED
    
      tmpl_iterate($template, 'DATA_GROUP');
    
      tmpl_set($template, 'DATA_GROUP/heading', 'Template ausw&auml;hlen');
    
      tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/name',      'W&auml;hlen Sie ein Template (erneutes einloggen erforderlich!):');
      tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataarray', 'data');
      tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataentry', 'template');
      
      $selector = array();
      foreach ($config->template_paths as $key => $value){
        if ($key == $params->SESSION->user['template'])
          array_push($selector, array('value' => $key, 'selected' => "selected", 'text' => $value));
        else
          array_push($selector, array('value' => $key, 'text' => $value));
      }
      tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/SELECTOR', $selector);
    */
    ////////////// show_unqualified //////////////////////
    tmpl_iterate($template, 'DATA_GROUP');
    tmpl_set($template, 'DATA_GROUP/heading', "Erweiterte Ansicht");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/name', "Sollen auch Einheiten, Erweiterungen etc. angezeigt werden, die noch nicht gebaut werden k&ouml;nnen:");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataentry', 'show_unqualified');
    $selector = array();
    $selector[0] = array('value' => 0, 'selected' => $params->SESSION->user['show_unqualified'] == 0 ? "selected" : "", 'text' => "nein");
    $selector[1] = array('value' => 1, 'selected' => $params->SESSION->user['show_unqualified'] == 1 ? "selected" : "", 'text' => "ja");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/SELECTOR', $selector);
    // ADDED by chris--- for urlaubsmod:
    ////////////// urlaub //////////////////////
    tmpl_iterate($template, 'DATA_GROUP');
    tmpl_set($template, 'DATA_GROUP/heading', "Urlaubsmodus");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/name', "Soll der Urlaubsmodus eingeschaltet werden:<br>ACHTUNG: Lest vorher die Hilfe unten genau durch!");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataentry', 'urlaub');
    $selector = array();
    $selector[0] = array('value' => 0, 'selected' => $params->SESSION->user['urlaub'] == 0 ? "selected" : "", 'text' => "nein");
    $selector[1] = array('value' => 1, 'selected' => $params->SESSION->user['urlaub'] == 1 ? "selected" : "", 'text' => "ja");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/SELECTOR', $selector);
    // ADDED by chris--- for ticker:
    ////////////// show_ticker //////////////////////
    tmpl_iterate($template, 'DATA_GROUP');
    tmpl_set($template, 'DATA_GROUP/heading', "Nachrichten Ticker");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/name', "Soll der Nachrichten Ticker angezeigt werden:");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataentry', 'show_ticker');
    $selector = array();
    $selector[0] = array('value' => 0, 'selected' => $params->SESSION->user['show_ticker'] == 0 ? "selected" : "", 'text' => "nein");
    $selector[1] = array('value' => 1, 'selected' => $params->SESSION->user['show_ticker'] == 1 ? "selected" : "", 'text' => "ja");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/SELECTOR', $selector);
    // ADDED by chris--- for returns:
    ////////////// show_returns //////////////////////
    tmpl_iterate($template, 'DATA_GROUP');
    tmpl_set($template, 'DATA_GROUP/heading', "R&uuml;ckkehrbewegungen");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/name', "Sollen R&uuml;ckkehrbewegungen im Terminkalender angezeigt werden:");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/dataentry', 'show_returns');
    $selector = array();
    $selector[0] = array('value' => 0, 'selected' => $params->SESSION->user['show_returns'] == 0 ? "selected" : "", 'text' => "nein");
    $selector[1] = array('value' => 1, 'selected' => $params->SESSION->user['show_returns'] == 1 ? "selected" : "", 'text' => "ja");
    tmpl_set($template, 'DATA_GROUP/ENTRY_SELECTION/SELECTOR', $selector);
    ////////////// gfxpath //////////////////////
    tmpl_iterate($template, 'DATA_GROUP');
    tmpl_set($template, 'DATA_GROUP/heading', "Grafikpack");
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/name', 'Pfad zum Grafikpack (default:' . DEFAULT_GFX_PATH . '):');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataarray', 'data');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/dataentry', 'gfxpath');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/value', $playerData['game']['gfxpath']);
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/size', '30');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT/maxlength', '200');
    ////////////// password //////////////////////
    tmpl_iterate($template, 'DATA_GROUP');
    tmpl_set($template, 'DATA_GROUP/heading', 'Passwort &Auml;nderung');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/name', 'Neues Passwort');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/dataarray', 'password');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/dataentry', 'password1');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/size', '15');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/maxlength', '15');
    tmpl_iterate($template, 'DATA_GROUP/ENTRY_INPUT_PWD');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/name', 'Neues Passwort Wiederholung');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/dataarray', 'password');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/dataentry', 'password2');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/size', '15');
    tmpl_set($template, 'DATA_GROUP/ENTRY_INPUT_PWD/maxlength', '15');
    ////////////// delete account ////////////////////
    tmpl_set($template, 'DELETE/modus_name', 'modus');
    tmpl_set($template, 'DELETE/modus', DELETE_ACCOUNT);
    tmpl_set($template, 'DELETE/heading', 'Account L&ouml;schen');
    tmpl_set($template, 'DELETE/text', 'Ich habe keine Lust mehr!');
    return tmpl_parse($template);
}