diff --git a/ag/arena.php b/ag/arena.php
index 8074930..09768a9 100644
--- a/ag/arena.php
+++ b/ag/arena.php
@@ -315,15 +315,13 @@ function renovate($user, $arena, $vermoegen){
$arena = getArena($user_ida['id']);
+$user_geld = getRelevantMoney($user_ida['id']);
-$auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = '.$user_ida['id'].' GROUP BY bieter'));
-$auktionensumme = $auktionensumme['summe'];
-$vermoegen = $user['geld'] - $auktionensumme;
$unterhalt = calculateUnterhaltsKosten($arena);
if($action == 'miete'){
// Zahle Miete
- if($vermoegen < $unterhalt){
+ if($user_geld < $unterhalt){
displayErrorMessage(NULL, 'Du hast nicht genug Geld um die Unterhaltskosten zu bezahlen!', displayHistoryBackLink());
} else{
db_query('Update user set geld = geld - '.$unterhalt.' WHERE id = '.$user_ida['id']);
@@ -334,11 +332,11 @@ if($action == 'miete'){
} else if($action == 'ausbau1'){
displayAusbau($arena);
} else if($action == 'ausbau2'){
- displayAusbau2($user, $arena, $arena_name, $steh, $sitz, $loge, $vermoegen, $confirm);
+ displayAusbau2($user, $arena, $arena_name, $steh, $sitz, $loge, $user_geld, $confirm);
} else if($action == 'skill1'){
displaySkillen($user, $arena, $charmax, $hausmeister, $luxus);
} else if($action == 'renovieren'){
- renovate($user, $arena, $vermoegen);
+ renovate($user, $arena, $user_geld);
}else{
displayArena($arena);
}
diff --git a/ag/clan/new.php b/ag/clan/new.php
index ecdb6b2..785fb96 100644
--- a/ag/clan/new.php
+++ b/ag/clan/new.php
@@ -45,8 +45,8 @@ if ($charm == 1) {
$error .= 'Sie haben schon einen Clan.
';
}
- $money = getRelevantMoney($user['id']);
- if ($money < CLAN_CREATION_FEE) {
+ $user_geld = getRelevantMoney($user['id']);
+ if ($user_geld < CLAN_CREATION_FEE) {
$error .= 'Sie haben nicht genug Geld um einen Clan gründen zu können.
';
}
diff --git a/ag/clan/spende.php b/ag/clan/spende.php
index aaab231..b12c1fd 100644
--- a/ag/clan/spende.php
+++ b/ag/clan/spende.php
@@ -10,6 +10,8 @@ include_once(ROOT_PATH.'/include/config.inc.php');
include_once(ROOT_PATH.'/include/designfunctions.inc.php');
include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php');
include_once (ROOT_PATH . '/include/parse.inc.php');
+include_once(ROOT_PATH.'/include/user.inc.php');
+
// GET-Section
// Kritisch (SQL-Injections)
$clan_geld=validateUnsignedInteger($_GET['clan_geld'], null);
@@ -44,12 +46,9 @@ if($clan_geld <= 0) {
exit;
}
-// Damit das minus nicht ausgenutzt wird!!
-$auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = '.$user_ida['id'].' GROUP BY bieter'));
-$auktionensumme = $auktionensumme['summe'];
-
+$user_geld = getRelevantMoney($user_ida['id']);
-if($clan_geld+$auktionensumme>$user['geld']) {
+if ($user_geld < $clan_geld) {
displayErrorMessage(NULL,'Sie haben nicht genug Geld.', 'weiter...');
exit;
}
diff --git a/ag/inclu/user-controll.php b/ag/inclu/user-controll.php
index c925c29..592ea6d 100644
--- a/ag/inclu/user-controll.php
+++ b/ag/inclu/user-controll.php
@@ -110,13 +110,12 @@ if ($name AND $passwort) {
Halle der Helden
Letzten 20 Kämpfe
";
- $auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = ' . $user_ida['id'] . ' GROUP BY bieter'));
- $auktionensumme = $auktionensumme['summe'];
-
- if ($auktionensumme == 0) {
+ $user_geld = getRelevantMoney($user_ida['id']);
+
+ if ($user_info_test['geld']== $user_geld) {
$geldstring = $user_info_test2['geld'];
} else {
- $geldstring = displayMoney($user_info_test['geld'] - $auktionensumme) . ' (' . $user_info_test2['geld'] . ')';
+ $geldstring = displayMoney($user_geld) . ' (' . $user_info_test2['geld'] . ')';
}
diff --git a/ag/include/auktion_functions.inc.php b/ag/include/auktion_functions.inc.php
index d19d6fb..def9e77 100644
--- a/ag/include/auktion_functions.inc.php
+++ b/ag/include/auktion_functions.inc.php
@@ -23,6 +23,7 @@ include_once(ROOT_PATH.'/include/messagefunctions.inc.php');
include_once(ROOT_PATH.'/include/semaphore.inc.php');
include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php');
include_once(ROOT_PATH.'/include/defines.inc.php');
+include_once(ROOT_PATH.'/include/user.inc.php');
defineIfNotDefined('AUCTION_FEE_FACTOR', 0.05);
@@ -44,6 +45,7 @@ function aktuellesMindestgebot($auktionsid){
}
}
+
/**
*
* siehe user.inc.php getRelevantMoney()
@@ -51,13 +53,7 @@ function aktuellesMindestgebot($auktionsid){
* @deprecated
*/
function getUserAvailableMoney($userid) {
- //Nun muss noch geprueft werden ob der User genug Geld hat und auch mit allen Geboten gesamt nicht in den Minusbereich kommt
- $user_a = mysqli_fetch_assoc(db_query('SELECT nickname, geld FROM user WHERE id = '.$userid));
- $usermoney = $user_a['geld'];
- $auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = '.$userid));
- $auktionensumme = $auktionensumme['summe'];
- return $usermoney - $auktionensumme;
-
+ return getRelevantMoney($userid);
}
@@ -115,11 +111,10 @@ function biete_normal($userid, $auktionsdaten, $gebot) {
//Nun muss noch geprueft werden ob der User genug Geld hat und auch mit allen Geboten gesamt nicht in den Minusbereich kommt
$user_a = mysqli_fetch_assoc(db_query('SELECT nickname, geld FROM user WHERE id = '.$userid));
- $usermoney = $user_a['geld'];
- $auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = '.$userid.' AND auktionsid != '.$auktionsid.' GROUP BY bieter'));
- $auktionensumme = $auktionensumme['summe'];
-
- if($usermoney < $auktionensumme + $gebot){
+
+ $usermoney = getRelevantMoney($userid);
+
+ if($usermoney < $gebot){
return 'Nicht genug Geld!';
}
@@ -165,19 +160,13 @@ function biete_inverse($userid, $auktionsdaten, $gebot, $gebot2) {
$fee = ($gebot2 - $gebot + 1) * $startgebot * AUCTION_FEE_FACTOR;
//Nun muss noch geprueft werden ob der User genug Geld hat und auch mit allen Geboten gesamt nicht in den Minusbereich kommt
- $user_a = mysqli_fetch_assoc(db_query('SELECT nickname, geld FROM user WHERE id = '.$userid));
- $usermoney = $user_a['geld'];
- $auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = '.$userid.' AND auktionsid != '.$auktionsid.' GROUP BY bieter'));
- $auktionensumme = $auktionensumme['summe'];
-
- $required_money = $auktionensumme + $gebot + $fee;
+ $usermoney = getRelevantMoney($userid);
+ $required_money = $gebot2 + $fee;
if($usermoney < $required_money){
return 'Nicht genug Geld!';
}
-
-
db_query('UPDATE user SET geld = geld - '.$fee.' WHERE geld >= '.$required_money);
if (db_affected_rows() == 0) {
diff --git a/ag/include/user.inc.php b/ag/include/user.inc.php
index 7c46bb5..e05ad0d 100644
--- a/ag/include/user.inc.php
+++ b/ag/include/user.inc.php
@@ -59,6 +59,12 @@ function getRelevantMoney($userid) {
$auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = ' . $user['id'] . ' GROUP BY bieter'));
$auktionensumme = $auktionensumme['summe'];
+ $qry = db_query('SELECT max(range_to) FROM test_ag.inverse_auktion_gebote WHERE bieter = '.$userid.' group by auktionsid');
+
+ while( $inverse_summe = mysqli_fetch_row($qry) ) {
+ $auktionensumme += $inverse_summe[0];
+ }
+
if ($auktionensumme == 0) {
$money = $user['geld'];
} else {
diff --git a/ag/markt.php b/ag/markt.php
index 1445c8f..7f4b7a9 100644
--- a/ag/markt.php
+++ b/ag/markt.php
@@ -134,10 +134,9 @@ $user = mysqli_fetch_array(db_query("SELECT geld, item_res FROM user WHERE id='$
$item_preis = ($item_preis / 100) * (100 - $user['item_res']);
-$auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = '.$user_ida['id'].' GROUP BY bieter'));
-$auktionensumme = $auktionensumme['summe'];
+$user_geld = getRelevantMoney($user_ida['id']);
-if($user['geld']<$item_preis+$auktionensumme) {
+if ($user_geld < $item_preis) {
$fehler = "Sie haben nicht genug Geld!";
$link = $back;
diff --git a/ag/schatz.php b/ag/schatz.php
index 2b1fa5b..e6fffdf 100644
--- a/ag/schatz.php
+++ b/ag/schatz.php
@@ -76,9 +76,8 @@ if ($charm == 1) {
}
$city = mysqli_fetch_assoc(db_query('SELECT * FROM quest_ort WHERE stadt=\'' . $stadt_name . '\''));
- $auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = ' . $user_ida['id'] . ' GROUP BY bieter'));
- $auktionensumme = $auktionensumme['summe'];
-
+ $user_geld = getRelevantMoney($user_ida['id']);
+
$coords2[0] = $city['x_coord'];
$coords2[1] = $city['y_coord'];
@@ -86,7 +85,7 @@ if ($charm == 1) {
$kosten = $city['kosten']+round(log($std*0.1+1.25)*$city['kosten'],0);
- if ($user_ida['geld'] < $kosten + $auktionensumme) {
+ if ($user_geld < $kosten) {
displayErrorMessage(NULL, 'Du hast nicht genug Geld!!', displayHistoryBackLink());
semaphoreDown($ressource); // Gebe die Useraktionen wieder frei :)
exit;