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)); }
/** 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); }
/** * 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'); }
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();
* 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 {