General fixes

+Fixed a bug that permitted to invite players already in an alliance
+Fixed a bug that didn't delete the alliance permissions when the
alliance was dispanded/dispersed or the user left the alliance by
destroying his embassy
+Added a new error which shows up when trying to invite someone already
in an alliance
This commit is contained in:
iopietro
2018-06-01 17:14:24 +02:00
parent b717c0cdf4
commit 693d29c0f8
4 changed files with 18 additions and 10 deletions
+8 -6
View File
@@ -224,17 +224,19 @@ class Alliance {
if($session->access != BANNED){
$UserData = $database->getUserArray(stripslashes($post['a_name']), 0);
if($this->userPermArray['opt4'] == 0) {
$form->addError("perm", NO_PERMISSION);
$form->addError("name", NO_PERMISSION);
}elseif(!isset($post['a_name']) || $post['a_name'] == "") {
$form->addError("name1", NAME_EMPTY);
$form->addError("name", NAME_EMPTY);
}elseif(!User::exists($database, $post['a_name'])) {
$form->addError("name2", NAME_NO_EXIST."".stripslashes(stripslashes($post['a_name'])));
$form->addError("name", NAME_NO_EXIST."".stripslashes(stripslashes($post['a_name'])));
}elseif($UserData['id'] == $session->uid) {
$form->addError("name3", SAME_NAME);
$form->addError("name", SAME_NAME);
}elseif($database->getInvitation2($UserData['id'],$session->alliance)) {
$form->addError("name4", $post['a_name'].ALREADY_INVITED);
$form->addError("name", $post['a_name'].ALREADY_INVITED);
}elseif($UserData['alliance'] == $session->alliance) {
$form->addError("name5", $post['a_name'].ALREADY_IN_ALLY);
$form->addError("name", $post['a_name'].ALREADY_IN_ALLY);
}elseif($UserData['alliance'] > 0) {
$form->addError("name", $post['a_name'].ALREADY_IN_AN_ALLY);
}else{
// Obtenemos la informacion necesaria
$aid = $session->alliance;
+7 -2
View File
@@ -4766,6 +4766,7 @@ References: User ID/Message ID, Mode
0,
0,
true);
$this->deleteAlliPermissions($userData['id']);
} else {
// player has been removed from the alliance
$this->sendMessage(
@@ -4779,7 +4780,7 @@ References: User ID/Message ID, Mode
0,
0,
true);
$this->deleteAlliPermissions($userData['id']);
return 0;
}
@@ -4841,6 +4842,7 @@ References: User ID/Message ID, Mode
0,
0,
true);
$this->deleteAlliPermissions($member['id']);
}
mysqli_query($this->dblink, 'UPDATE '.TB_PREFIX.'users SET alliance = 0 WHERE id IN('.implode(',', $evicts).")");
@@ -4918,6 +4920,7 @@ References: User ID/Message ID, Mode
0,
true);
}
$this->deleteAlliPermissions($member['id']);
} else {
// let's determine whether to keep currently attacked player
// in the alliance or not
@@ -4953,6 +4956,7 @@ References: User ID/Message ID, Mode
0,
true);
}
$this->deleteAlliPermissions($member['id']);
}
// evict current player from the alliance
@@ -4979,6 +4983,7 @@ References: User ID/Message ID, Mode
0,
true);
}
$this->deleteAlliPermissions($userData['id']);
}
}
@@ -4986,7 +4991,7 @@ References: User ID/Message ID, Mode
// if no members are left in it
$this->deleteAlliance($userData['alliance']);
return ((isset($newLeaderFound) && $newLeaderFound === true) ? true : false);
return (isset($newLeaderFound) && $newLeaderFound === true;
}
}
}
+2 -1
View File
@@ -98,7 +98,8 @@ define("NAME_NO_EXIST","There is no user with the name ");
define("ID_NO_EXIST","There is no user with the id ");
define("SAME_NAME","You can't invite yourself");
define("ALREADY_INVITED"," already invited");
define("ALREADY_IN_ALLY"," already in this alliance");
define("ALREADY_IN_ALLY"," is already in this alliance");
define("ALREADY_IN_AN_ALLY"," is already in an alliance");
define("VAC_MODE_WRONG_DAYS","You've inserted a wrong number of days");
//COPYRIGHT
+1 -1
View File
@@ -23,7 +23,7 @@ include("alli_menu.tpl");
</tbody></table>
<p><button value="ok" name="s1" id="btn_ok" class="trav_buttons" alt="OK" onclick="this.disabled=true;this.form.submit();" /> Ok </button></form> </p>
<p class="error"><?php echo $form->getError("name1"); ?><br /><?php echo $form->getError("name2"); ?><br /><?php echo $form->getError("name3"); ?><br /><?php echo $form->getError("name4"); ?><br /><?php echo $form->getError("name5"); ?><br /><?php echo $form->getError("perm"); ?></p><br />
<p class="error"><?php echo $form->getError("name"); ?></p><br />
<table cellpadding="1" cellspacing="1" id="invitations" class="small_option"><thead>
<tr>