diff --git a/system/pages/account/delete_character.php b/system/pages/account/delete_character.php
index 0dd9b3b4..25fef4c5 100644
--- a/system/pages/account/delete_character.php
+++ b/system/pages/account/delete_character.php
@@ -10,65 +10,64 @@
*/
defined('MYAAC') or die('Direct access not allowed!');
-$player_name = isset($_POST['delete_name']) ? stripslashes($_POST['delete_name']) : NULL;
-$password_verify = isset($_POST['delete_password']) ? $_POST['delete_password'] : NULL;
+$player_name = isset($_POST['delete_name']) ? stripslashes($_POST['delete_name']) : null;
+$password_verify = isset($_POST['delete_password']) ? $_POST['delete_password'] : null;
$password_verify = encrypt(($config_salt_enabled ? $account_logged->getCustomField('salt') : '') . $password_verify);
if(isset($_POST['deletecharactersave']) && $_POST['deletecharactersave'] == 1) {
- if(!empty($player_name) && !empty($password_verify)) {
- if(Validator::characterName($player_name)) {
- $player = new OTS_Player();
- $player->find($player_name);
- if($player->isLoaded()) {
- $player_account = $player->getAccount();
- if($account_logged->getId() == $player_account->getId()) {
- if($password_verify == $account_logged->getPassword()) {
- if(!$player->isOnline()) {
- if(!$player->isDeleted()) {
- //dont show table "delete character" again
- $show_form = false;
- //delete player
- if ($db->hasColumn('players', 'deletion'))
- $player->setCustomField('deletion', 1);
- else
- $player->setCustomField('deleted', 1);
- $account_logged->logAction('Deleted character ' . $player->getName() . '.');
- $twig->display('success.html.twig', array(
- 'title' => 'Character Deleted',
- 'description' => 'The character ' . $player_name . ' has been deleted.'
- ));
- }
- else {
- $errors[] = 'This player has been already deleted.';
- }
- }
- else {
- $errors[] = 'This character is online.';
- }
- }
- else {
- $errors[] = 'Wrong password to account.';
- }
- }
- else {
- $errors[] = 'Character '.$player_name.' is not on your account.';
- }
- }
- else {
- $errors[] = 'Character with this name doesn\'t exist.';
- }
- }
- else {
- $errors[] = 'Name contain illegal characters.';
- }
- }
- else {
+ if(empty($player_name) || empty($password_verify)) {
$errors[] = 'Character name or/and password is empty. Please fill in form.';
}
+
+ if(empty($errors) && !Validator::characterName($player_name)) {
+ $errors[] = 'Name contain illegal characters.';
+ }
+
+ $player = new OTS_Player();
+ $player->find($player_name);
+ if(empty($errors) && !$player->isLoaded()) {
+ $errors[] = 'Character with this name doesn\'t exist.';
+ }
+
+ if(empty($errors)) {
+ $player_account = $player->getAccount();
+ if($account_logged->getId() != $player_account->getId()) {
+ $errors[] = 'Character ' . $player_name . ' is not on your account.';
+ }
+ }
+
+ if(empty($errors) && $password_verify != $account_logged->getPassword()) {
+ $errors[] = 'Wrong password to account.';
+ }
+
+ if(empty($errors) && $player->isOnline()) {
+ $errors[] = 'This character is online.';
+ }
+
+ if(empty($errors) && $player->isDeleted()) {
+ $errors[] = 'This player has been already deleted.';
+ }
+
+ if(empty($errors)) {
+ //dont show table "delete character" again
+ $show_form = false;
+ /** @var OTS_DB_MySQL $db */
+ if ($db->hasColumn('players', 'deletion'))
+ $player->setCustomField('deletion', 1);
+ else
+ $player->setCustomField('deleted', 1);
+
+ $account_logged->logAction('Deleted character ' . $player->getName() . '.');
+ $twig->display('success.html.twig', [
+ 'title' => 'Character Deleted',
+ 'description' => 'The character ' . $player_name . ' has been deleted.'
+ ]);
+ }
}
+
if($show_form) {
if(!empty($errors)) {
$twig->display('error_box.html.twig', array('errors' => $errors));
}
+
$twig->display('account.delete_character.html.twig');
}
-?>