示例#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 gets the players data out of the game and login
 *  database.
 */
function profile_change($db_login)
{
    global $params;
    // proccess form data
    $message = profile_update($db_login);
    // update player's data
    page_refreshUserData();
    // show new data
    return profile_show($db_login, $message);
}
示例#3
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);
}
     } else {
         print_header_redirect('account_prof_menu_page.php');
     }
     break;
 case 'update':
     $f_platform = gpc_get_string('platform');
     $f_os = gpc_get_string('os');
     $f_os_build = gpc_get_string('os_build');
     $f_description = gpc_get_string('description');
     if (profile_is_global($f_profile_id)) {
         access_ensure_global_level(config_get('manage_global_profile_threshold'));
         profile_update(ALL_USERS, $f_profile_id, $f_platform, $f_os, $f_os_build, $f_description);
         form_security_purge('profile_update');
         print_header_redirect('manage_prof_menu_page.php');
     } else {
         profile_update(auth_get_current_user_id(), $f_profile_id, $f_platform, $f_os, $f_os_build, $f_description);
         form_security_purge('profile_update');
         print_header_redirect('account_prof_menu_page.php');
     }
     break;
 case 'delete':
     if (profile_is_global($f_profile_id)) {
         access_ensure_global_level(config_get('manage_global_profile_threshold'));
         profile_delete(ALL_USERS, $f_profile_id);
         form_security_purge('profile_update');
         print_header_redirect('manage_prof_menu_page.php');
     } else {
         profile_delete(auth_get_current_user_id(), $f_profile_id);
         form_security_purge('profile_update');
         print_header_redirect('account_prof_menu_page.php');
     }
示例#5
0
protect(1);
global $page_owner, $metatags, $CFG, $data;
if (isset($_SESSION['profile:preload'])) {
    $data['profile:preload'] = $_SESSION['profile:preload'];
    unset($_SESSION['profile:preload']);
}
if (isset($_SESSION['profile:preload:access'])) {
    $data['profile:preload:access'] = $_SESSION['profile:preload:access'];
    unset($_SESSION['profile:preload:access']);
}
$title = user_name($page_owner) . " :: " . __gettext("Edit profile") . "";
templates_page_setup();
$metatags .= "<script type=\"text/javascript\" src=\"" . $CFG->wwwroot . "mod/profile/tabber/tabber.js\"></script>";
$metatags .= "<link rel=\"stylesheet\" href=\"" . $CFG->wwwroot . "mod/profile/tabber/example.css\" type=\"text/css\" media=\"screen\" />";
if ($profile_new = data_submitted()) {
    $body = profile_update($profile_new);
} else {
    $body = $profile->display_form();
}
templates_page_output($title, $body);
function profile_update($profile_new)
{
    global $CFG;
    global $data;
    global $messages;
    global $page_owner;
    global $profile_name;
    $profiledetails = optional_param('profiledetails', array());
    if (count($profiledetails) > 0) {
        // delete_records('profile_data','owner',$page_owner);
        $insertvalues = array();
示例#6
0
文件: put.php 项目: alxmslwork/order
          *  1. Выполняем получение данных заказа указанного заказчика и исполнителя по идентификатору
          *      заказа
          *  2. Вычисляем зарплату
          *  3. Сохраняем данные о платеже пользователя на всякий случай
          *  4. Атомарно инкрементим баланс исполнителя
          */
         $order = order_get($orderId, $ownerId, $_SESSION['profile']['user_id']);
         if ($order !== false) {
             $salary = $order['price'] * 0.9;
             $interest = $order['price'] - $salary;
             includeModule('payment');
             if (payment_add($_SESSION['profile']['user_id'], $order['order_id'], $salary) && payment_add(0, $order['order_id'], $interest)) {
                 includeModule('balance');
                 balance_increment($interest);
                 includeModule('profile');
                 if (profile_update($_SESSION['profile']['user_id'], $salary)) {
                     $_SESSION['profile']['money'] += $salary;
                     return ['completed' => true];
                 } else {
                     return ['error' => 'technical error 1'];
                 }
             } else {
                 return ['error' => 'technical error 2'];
             }
         } else {
             return ['error' => 'technical error 3'];
         }
     } else {
         return ['error' => 'order not found'];
     }
 } else {