Postado Janeiro 21, 2015 10 anos 1. Crie um arquivo chamado changename.php. 2. Cole este conteúdo: <?php if(!defined('INITIALIZED')) exit; $changeNameCost = 600; //preço do changename em premium points if($logged) { if($account_logged->getCustomField('premium_points') >= $changeNameCost) { if($action == "") { echo '<span style="color:red;font-weight:bold">CHANGE NAME COSTS ' . $changeNameCost . ' PREMIUM POINTS!</span><br />'; echo '<form action="" mathod="post">'; echo '<input type="hidden" name="subtopic" value="changename" />'; echo '<input type="hidden" name="action" value="change" />'; echo '<b>Select player: </b><select name="player_id">'; $account_players = $account_logged->getPlayersList(); foreach($account_players as $player) { echo '<option value="' . $player->getID() . '">' . htmlspecialchars($player->getName()) . '</option>'; } echo '</select><br />'; echo '<b>New name: </b><input type="text" name="new_name" value="" /><br />'; echo '<input type="submit" value="Change name" />'; echo '</form>'; } elseif($action == "change") { $newchar_errors = array(); $newchar_name = ucwords(strtolower(trim($_REQUEST['new_name']))); if(empty($newchar_name)) $newchar_errors[] = 'Please enter a new name for your character!'; if(!check_name_new_char($newchar_name)) $newchar_errors[] = 'This name contains invalid letters, words or format. Please use only a-Z, - , \' and space.'; $check_name_in_database = new Player(); $check_name_in_database->find($newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] = 'This name is already used. Please choose another name!'; $charToEdit = new Player($_REQUEST['player_id']); if(!$charToEdit->isLoaded()) $newchar_errors[] = 'This player does not exist.'; if($charToEdit->isOnline()) $newchar_errors[] = 'This player is ONLINE. Logout first.'; elseif($account_logged->getID() != $charToEdit->getAccountID()) $newchar_errors[] = 'This player is not on your account.'; if(empty($newchar_errors)) { echo 'Name of character <b>' . htmlspecialchars($charToEdit->getName()) . '</b> changed to <b>' . htmlspecialchars($newchar_name) . '</b>'; $charToEdit->setName($newchar_name); $charToEdit->save(); $account_logged->setCustomField('premium_points', $account_logged->getCustomField('premium_points') - $changeNameCost); } else { echo 'Some errors occured:<br />'; foreach($newchar_errors as $e) { echo '<li>' . $e . '</li>'; } echo '<br /><a href="?subtopic=changename"><b>BACK</b></a>'; } } } else echo 'You don\'t have premium points. You need ' . $changeNameCost . '.'; } else echo 'You must login first.'; 3. Coloque o link no seu layout onde desejar: index.php?subtopic=changenameCréditos: Gesior.pl Editado Janeiro 21, 2015 10 anos por Bruno Minervino (veja o histórico de edições) Atenciosamente, Bruno Minervino
Postado Janeiro 21, 2015 10 anos Autor mais esse é oque vem no site do liane certo ? ele coloca o antigo nome na coluna old_name ? nao vi no script isso
Postado Janeiro 21, 2015 10 anos mais esse é oque vem no site do liane certo ? ele coloca o antigo nome na coluna old_name ? nao vi no script isso Este é para o Gesior 2012. Me mande o que você já tem que eu edito. Atenciosamente, Bruno Minervino
Postado Janeiro 21, 2015 10 anos Autor queria que esse script alem de mudar o nome ele mandasse o antigo nome para a coluna old_name <?php if(!defined('INITIALIZED')) exit; $changeNameCost = 5; if($logged) { if($account_logged->getCustomField('premium_points') >= $changeNameCost) { if($action == "") { echo ' CHANGE NAME COSTS ' . $changeNameCost . ' PREMIUM POINTS!'; echo ''; echo ''; echo ''; echo 'Select player: '; $account_players = $account_logged->getPlayersList(); foreach($account_players as $player) { echo '' . htmlspecialchars($player->getName()) . ''; } echo ' '; echo 'New name: '; echo ''; echo ''; } elseif($action == "change") { $newchar_errors = array(); $newchar_name = ucwords(strtolower(trim($_REQUEST['new_name']))); if(empty($newchar_name)) $newchar_errors[] = 'Please enter a new name for your character!'; if(!check_name_new_char($newchar_name)) $newchar_errors[] = 'This name contains invalid letters, words or format. Please use only a-Z, - , \' and space.'; $check_name_in_database = new Player(); $check_name_in_database->find($newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] = 'This name is already used. Please choose another name!'; $charToEdit = new Player($_REQUEST['player_id']); if(!$charToEdit->isLoaded()) $newchar_errors[] = 'This player does not exist.'; if($charToEdit->isOnline()) $newchar_errors[] = 'This player is ONLINE. Logout first.'; elseif($account_logged->getID() != $charToEdit->getAccountID()) $newchar_errors[] = 'This player is not on your account.'; if(empty($newchar_errors)) { echo 'Name of character ' . htmlspecialchars($charToEdit->getName()) . ' changed to ' . htmlspecialchars($newchar_name) . ''; $sql= 'UPDATE players SET oldname=unforce'; $charToEdit->setName($newchar_name); $charToEdit->save(); $account_logged->setCustomField('premium_points', $account_logged->getCustomField('premium_points') - $changeNameCost); } else { echo 'Some errors occured: '; foreach($newchar_errors as $e) { echo '' . $e . ''; } echo ' BACK'; } } } else echo 'You don\'t have premium points. You need ' . $changeNameCost . '.'; } else echo 'Por favor logue-se.';
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.