mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-06-30 09:34:28 +00:00
fix: maximum alliance members update on building demolition
Now saves correct data (was saving maximum for 1 level above the after-demolition level).
This commit is contained in:
+28
-26
@@ -205,32 +205,34 @@ class Alliance {
|
||||
*****************************************/
|
||||
private function acceptInvite($get) {
|
||||
global $form, $database, $session;
|
||||
if($session->access != BANNED){
|
||||
foreach($this->inviteArray as $invite) {
|
||||
if($session->alliance == 0){
|
||||
if($invite['id'] == $get['d'] && $invite['uid'] == $session->uid) {
|
||||
$memberlist = $database->getAllMember($invite['alliance']);
|
||||
$alliance_info = $database->getAlliance($invite['alliance']);
|
||||
if(count($memberlist) < $alliance_info['max']){
|
||||
$database->removeInvitation($get['d']);
|
||||
$database->updateUserField($invite['uid'], "alliance", $invite['alliance'], 1);
|
||||
$database->createAlliPermissions($invite['uid'], $invite['alliance'], '', '0', '0', '0', '0', '0', '0', '0', '0');
|
||||
// Log the notice
|
||||
$database->insertAlliNotice($invite['alliance'], '<a href="spieler.php?uid=' . $session->uid . '">' . addslashes($session->username) . '</a> has joined the alliance.');
|
||||
}else{
|
||||
$accept_error = 1;
|
||||
$max = $alliance_info['max'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if($accept_error == 1){
|
||||
$form->addError("ally_accept", "The alliance can contain only ".$max." peoples right now.");
|
||||
}else{
|
||||
header("Location: build.php?id=" . $get['id']);
|
||||
exit;
|
||||
}
|
||||
}else{
|
||||
|
||||
if ($session->access != BANNED) {
|
||||
foreach ($this->inviteArray as $invite) {
|
||||
if ($session->alliance == 0) {
|
||||
if ($invite['id'] == $get['d'] && $invite['uid'] == $session->uid) {
|
||||
$memberlist = $database->getAllMember($invite['alliance']);
|
||||
$alliance_info = $database->getAlliance($invite['alliance']);
|
||||
if (count($memberlist) < $alliance_info['max']) {
|
||||
$database->removeInvitation($get['d']);
|
||||
$database->updateUserField($invite['uid'], "alliance", $invite['alliance'], 1);
|
||||
$database->createAlliPermissions($invite['uid'], $invite['alliance'], '', 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
// Log the notice
|
||||
$database->insertAlliNotice($invite['alliance'], '<a href="spieler.php?uid=' . $session->uid . '">' . addslashes($session->username) . '</a> has joined the alliance.');
|
||||
} else {
|
||||
$accept_error = 1;
|
||||
$max = $alliance_info['max'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($accept_error == 1){
|
||||
$form->addError("ally_accept", "The alliance can contain only ".$max." members at this moment.");
|
||||
}else{
|
||||
header("Location: build.php?id=" . $get['id']);
|
||||
exit;
|
||||
}
|
||||
} else{
|
||||
header("Location: banned.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -4238,9 +4238,6 @@ class Automation {
|
||||
$q = "UPDATE ".TB_PREFIX."vdata SET `maxcrop`=800 WHERE `maxcrop`<=800 AND wref=".(int) $vil['vref'];
|
||||
$database->query($q);
|
||||
}
|
||||
if ($type==18){
|
||||
Automation::updateMax($database->getVillageField($vil['vref'],'owner'));
|
||||
}
|
||||
if ($level==1) { $clear=",f".$vil['buildnumber']."t=0"; } else { $clear=""; }
|
||||
if ($village->natar==1 && $type==40) $clear=""; //fix by ronix
|
||||
$q = "UPDATE ".TB_PREFIX."fdata SET f".$vil['buildnumber']."=".($level-1).$clear." WHERE vref=".(int) $vil['vref'];
|
||||
@@ -4249,6 +4246,9 @@ class Automation {
|
||||
$database->modifyPop($vil['vref'],$pop[0],1);
|
||||
$this->procClimbers($database->getVillageField($vil['vref'],'owner'));
|
||||
$database->delDemolition($vil['vref'], true);
|
||||
if ($type==18){
|
||||
Automation::updateMax($database->getVillageField($vil['vref'],'owner'));
|
||||
}
|
||||
}
|
||||
}
|
||||
if(file_exists("GameEngine/Prevention/demolition.txt")) {
|
||||
@@ -4880,8 +4880,8 @@ class Automation {
|
||||
|
||||
public static function updateMax($leader) {
|
||||
global $bid18, $database;
|
||||
$q = mysqli_query($GLOBALS['link'],"SELECT * FROM " . TB_PREFIX . "alidata where leader = ". (int) $leader);
|
||||
if(mysqli_num_rows($q) > 0){
|
||||
$q = mysqli_fetch_array(mysqli_query($GLOBALS['link'],"SELECT Count(*) as Total FROM " . TB_PREFIX . "alidata where leader = ". (int) $leader), MYSQLI_ASSOC);
|
||||
if ($q['Total'] > 0) {
|
||||
$villages = $database->getVillagesID2($leader);
|
||||
$max = 0;
|
||||
foreach($villages as $village){
|
||||
|
||||
Reference in New Issue
Block a user