/** This function sets the changed data specified by the user. */ function profile_update($db_login) { global $params, $db; $playerID = $params->SESSION->player->playerID; $data = $params->POST->data; $password = $params->POST->password; // list of fields, that should be inserted into the player record $fields = array("origin", "icq", "avatar", "description", "template", "language", "gfxpath", "email2"); // validate language code $uaLanguageNames = LanguageNames::getLanguageNames(); if (!array_key_exists($data['language'], $uaLanguageNames)) { unset($data['language']); } // recode description $data['description'] = nl2br($data['description']); if ($set = db_makeSetStatementSecure($data, $fields)) { $query = sprintf('UPDATE Player SET %s WHERE playerID = %d', $set, $playerID); if (!$db->query($query)) { return _('Die Daten konnten gar nicht oder zumindest nicht vollständig aktualisiert werden.'); } } // ***** now update the password, if it is set **** ************************** if (strlen($password['password1'])) { // typo? if (strcmp($password['password1'], $password['password2']) != 0) { return _('Das Paßwort stimmt nicht mit der Wiederholung überein.'); } // password too short? if (!preg_match('/^\\w{6,}$/', unhtmlentities($password['password1']))) { return _('Das Passwort muss mindestens 6 Zeichen lang sein!'); } // set password $query = sprintf("UPDATE Login SET password = '******' WHERE LoginID = %d", $password['password1'], $playerID); if (!$db_login->query($query)) { return _('Die Daten konnten gar nicht oder zumindest nicht vollständig aktualisiert werden.'); } } return _('Die Daten wurden erfolgreich aktualisiert.'); }
/** This function sets the changed data specified by the user. */ function profile_processUpdate($playerID, $data, $password, $cave_prio, $db_game, $db_login) { // list of fields, that should be inserted into the player record $fields = array("sex", "origin", "age", "icq", "avatar", "description", "template", "show_unqualified", "show_ticker", "show_returns", "urlaub", "gfxpath", "email2"); // ADDED by chris--- for ticker: show_ticker // ADDED by chris--- for returns: show_returns // ADDED by chris--- for urlaub: urlaub // ADDED by chris--- for urlaubmodus ----------------------------------- if ($data['urlaub'] == 1) { // check ob Clan im Krieg $sql = "SELECT tribe FROM Player WHERE playerID = " . $playerID; if (!($result = $db_game->query($sql))) { return 8; } if (!$result->isEmpty()) { // Spieler hat nen clan $game = $result->nextRow(); $tribe = $game['tribe']; $sql = "SELECT relationType FROM relation WHERE tribe = '" . $tribe . "'"; if (!($result = $db_game->query($sql))) { return 8; } if (!$result->isEmpty()) { // Clan hat Beziehungen $war = FALSE; while ($game = $result->nextRow()) { if ($game['relationType'] == 2) { $war = TRUE; } } // end while if ($war) { return 6; } } // end if beziehung } // end if clan // check ob Spieler kürzlich im Urlaub // Username holen $sql = "SELECT Name FROM Player WHERE playerID = " . $playerID . " LIMIT 0,1"; if (!($result = $db_game->query($sql))) { return 8; } if ($result->isEmpty()) { return 8; } $game = $result->nextRow(); $sql = "SELECT urlaub_begin, urlaub_end FROM Login WHERE user = '******'Name'] . "'"; if (!($result = $db_login->query($sql))) { return 8; } if ($result->isEmpty()) { return 8; } $login = $result->nextRow(); $urlaub_begin = $login['urlaub_begin']; $urlaub_end = $login['urlaub_end']; $jetzt = time(); $diff = $urlaub_end - $urlaub_begin; $sperre = $jetzt + $diff; if ($jetzt < $sperre) { return 7; } else { // Alles ok, aktiviere Urlaubsmodus // Alle Siedlungen des Spieler auf urlaub = 1 setzen, protection_end auf jetzt+1monat, evt. secure_cave ändern? Falls ja muß der vorige Zustand gespeichert werden $sql = "UPDATE Cave SET secureCave_was = secureCave WHERE playerID = " . $playerID; if (!$db_game->query($sql)) { return 8; } $endtime = date("YmdHis", time() + 31 * 24 * 60 * 60); $sql = "UPDATE Cave SET urlaub = 1, protection_end = " . $endtime . ", secureCave = 1 WHERE playerID = " . $playerID; if (!$db_game->query($sql)) { return 8; } // Player Tabelle updaten $sql = "UPDATE Player SET urlaub = 1 WHERE playerID = " . $playerID; if (!$db_game->query($sql)) { return 8; } // Username holen $sql = "SELECT Name FROM Player WHERE playerID = " . $playerID . " LIMIT 0,1"; if (!($result = $db_game->query($sql))) { return 8; } if ($result->isEmpty()) { return 8; } $game = $result->nextRow(); // Login Tabelle updaten $sql = "UPDATE Login SET urlaub = 1, urlaub_begin = " . time() . ", urlaub_end = 0 WHERE user = '******'Name'] . "'"; if (!$db_login->query($sql)) { return 8; } } } // END urlaubsmodus ---------------------------------------------- // first update data $data['description'] = nl2br($data['description']); if ($set = db_makeSetStatementSecure($data, $fields)) { $query = "UPDATE Player SET {$set} WHERE playerID = '{$playerID}'"; if (!$db_game->query($query)) { return 2; } } // now update the password, if it is set if (strlen($password['password1'])) { // typo? if (strcmp($password['password1'], $password['password2']) != 0) { return 1; } // password too short? if (strlen($password['password1']) <= 4) { return 3; } // set password $query = "UPDATE Login SET password = '******'password1']}' " . "WHERE LoginID = '{$playerID}'"; if (!$db_login->query($query)) { return 4; } } // ADDED by chris--- for cave sorting // Processing the cave priorities $meineHoehlen = getCaves($playerID); if (sizeof($meineHoehlen) > 1) { // We should check the values here foreach ($cave_prio as $key => $value) { if ($value > 10 || $value < 0) { return 5; } // Wrong value // if we have 2 or more of the same values here // it doesnt matter cause it doesnt affect the game // the priority is undefined then } // Updating the table foreach ($cave_prio as $key => $value) { $query = "UPDATE cave SET priority = " . $value . " WHERE caveID = " . $key . " AND playerID = " . $playerID; if (!$db_game->query($query)) { return 2; } // Database error } } // end if return 0; }
function tribe_processAdminUpdate($leaderID, $tag, $data, $db) { // list of fields, that should be inserted into the player record if (!tribe_isLeaderOrJuniorLeader($leaderID, $tag, $db)) { return 2; } if (!tribe_validatePassword($data["password"])) { return 2; } $fields = array("name", "password", "description"); // first update data $data['description'] = nl2br($data['description']); if ($set = db_makeSetStatementSecure($data, $fields)) { if (!$db->query("UPDATE Tribe " . "SET " . $set . " " . "WHERE tag = '{$tag}'")) { return 2; } } return 0; }
function tribe_processAdminUpdate($leaderID, $tag, $data, $db) { // list of fields, that should be inserted into the player record $fields = array("name", "password", "description"); // first update data $data[description] = nl2br($data[description]); if ($set = db_makeSetStatementSecure($data, $fields)) { if (!$db->query($query = "UPDATE Tribe " . "SET " . $set . " " . "WHERE tag = '{$tag}' " . "AND leaderID = '{$leaderID}'")) { return 2; } } return 0; }