More changes to deleted characters (Account, guilds)

Account: Cannot change name, comment, gender
+ Cannot be deleted if owns a guild
Guilds: Cannot create, cannot be invited, cannot accept invite, cannot be passed leadership to
This commit is contained in:
slawkens
2023-06-27 17:41:04 +02:00
parent aab62fb724
commit 24ff5684cd
12 changed files with 51 additions and 20 deletions

View File

@@ -28,15 +28,22 @@ if($player_name != null) {
if ($player->isLoaded()) {
$player_account = $player->getAccount();
if ($account_logged->getId() == $player_account->getId()) {
if ($player->isDeleted()) {
$errors[] = 'This character is deleted.';
$player = null;
}
if (isset($_POST['changecommentsave']) && $_POST['changecommentsave'] == 1) {
$player->setCustomField("hidden", $new_hideacc);
$player->setCustomField("comment", $new_comment);
$account_logged->logAction('Changed comment for character <b>' . $player->getName() . '</b>.');
$twig->display('success.html.twig', array(
'title' => 'Character Information Changed',
'description' => 'The character information has been changed.'
));
$show_form = false;
if(empty($errors)) {
$player->setCustomField("hidden", $new_hideacc);
$player->setCustomField("comment", $new_comment);
$account_logged->logAction('Changed comment for character <b>' . $player->getName() . '</b>.');
$twig->display('success.html.twig', array(
'title' => 'Character Information Changed',
'description' => 'The character information has been changed.'
));
$show_form = false;
}
}
} else {
$errors[] = 'Error. Character <b>' . $player_name . '</b> is not on your account.';

View File

@@ -50,6 +50,10 @@ else
if($player->isLoaded()) {
$player_account = $player->getAccount();
if($account_logged->getId() == $player_account->getId()) {
if ($player->isDeleted()) {
$errors[] = 'This character is deleted.';
}
if($player->isOnline()) {
$errors[] = 'This character is online.';
}
@@ -91,7 +95,7 @@ else
}
}
else {
$errors[] = 'Character <b>' . $player_name . '</b> is not on your account.';
$errors[] = 'Character is not on your account.';
}
}
else {

View File

@@ -41,6 +41,10 @@ else
$player_account = $player->getAccount();
if($account_logged->getId() == $player_account->getId()) {
if ($player->isDeleted()) {
$errors[] = 'This character is deleted.';
}
if($player->isOnline()) {
$errors[] = 'This character is online.';
}
@@ -71,7 +75,7 @@ else
}
}
else {
$errors[] = 'Character <b>'.$player_name.'</b> is not on your account.';
$errors[] = 'Character is not on your account.';
}
}
else {
@@ -85,7 +89,7 @@ else
$twig->display('error_box.html.twig', array('errors' => $errors));
}
$twig->display('account.change_sex.html.twig', array(
'players' => $account_logged->getPlayersList(),
'players' => $account_logged->getPlayersList(false),
'player_sex' => isset($player) ? $player->getSex() : -1,
'points' => $points
));

View File

@@ -61,6 +61,14 @@ if(isset($_POST['deletecharactersave']) && $_POST['deletecharactersave'] == 1) {
}
}
$ownerid = 'ownerid';
if($db->hasColumn('guilds', 'owner_id'))
$ownerid = 'owner_id';
$guild = $db->query('SELECT `name` FROM `guilds` WHERE `' . $ownerid . '` = '.$player->getId());
if($guild->rowCount() > 0) {
$errors[] = 'You cannot delete a character when they own a guild.';
}
if(empty($errors)) {
//dont show table "delete character" again
$show_form = false;