also take the amount from the inverse auction into acount for the user available money

main
hecht 7 years ago
parent 49292f2650
commit 1049e7b620

@ -315,15 +315,13 @@ function renovate($user, $arena, $vermoegen){
$arena = getArena($user_ida['id']); $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); $unterhalt = calculateUnterhaltsKosten($arena);
if($action == 'miete'){ if($action == 'miete'){
// Zahle Miete // Zahle Miete
if($vermoegen < $unterhalt){ if($user_geld < $unterhalt){
displayErrorMessage(NULL, 'Du hast nicht genug Geld um die Unterhaltskosten zu bezahlen!', displayHistoryBackLink()); displayErrorMessage(NULL, 'Du hast nicht genug Geld um die Unterhaltskosten zu bezahlen!', displayHistoryBackLink());
} else{ } else{
db_query('Update user set geld = geld - '.$unterhalt.' WHERE id = '.$user_ida['id']); db_query('Update user set geld = geld - '.$unterhalt.' WHERE id = '.$user_ida['id']);
@ -334,11 +332,11 @@ if($action == 'miete'){
} else if($action == 'ausbau1'){ } else if($action == 'ausbau1'){
displayAusbau($arena); displayAusbau($arena);
} else if($action == 'ausbau2'){ } 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'){ } else if($action == 'skill1'){
displaySkillen($user, $arena, $charmax, $hausmeister, $luxus); displaySkillen($user, $arena, $charmax, $hausmeister, $luxus);
} else if($action == 'renovieren'){ } else if($action == 'renovieren'){
renovate($user, $arena, $vermoegen); renovate($user, $arena, $user_geld);
}else{ }else{
displayArena($arena); displayArena($arena);
} }

@ -45,8 +45,8 @@ if ($charm == 1) {
$error .= 'Sie haben schon einen Clan.<br>'; $error .= 'Sie haben schon einen Clan.<br>';
} }
$money = getRelevantMoney($user['id']); $user_geld = getRelevantMoney($user['id']);
if ($money < CLAN_CREATION_FEE) { if ($user_geld < CLAN_CREATION_FEE) {
$error .= 'Sie haben nicht genug Geld um einen Clan gr&uuml;nden zu k&ouml;nnen.<br>'; $error .= 'Sie haben nicht genug Geld um einen Clan gr&uuml;nden zu k&ouml;nnen.<br>';
} }

@ -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/designfunctions.inc.php');
include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php'); include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php');
include_once (ROOT_PATH . '/include/parse.inc.php'); include_once (ROOT_PATH . '/include/parse.inc.php');
include_once(ROOT_PATH.'/include/user.inc.php');
// GET-Section // GET-Section
// Kritisch (SQL-Injections) // Kritisch (SQL-Injections)
$clan_geld=validateUnsignedInteger($_GET['clan_geld'], null); $clan_geld=validateUnsignedInteger($_GET['clan_geld'], null);
@ -44,12 +46,9 @@ if($clan_geld <= 0) {
exit; exit;
} }
// Damit das minus nicht ausgenutzt wird!! $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'];
if($clan_geld+$auktionensumme>$user['geld']) { if ($user_geld < $clan_geld) {
displayErrorMessage(NULL,'Sie haben nicht genug Geld.', '<a href="index.php?as=clan/spende">weiter...</a>'); displayErrorMessage(NULL,'Sie haben nicht genug Geld.', '<a href="index.php?as=clan/spende">weiter...</a>');
exit; exit;
} }

@ -110,13 +110,12 @@ if ($name AND $passwort) {
<a href=index.php?as=halloffame>Halle der Helden</a><br> <a href=index.php?as=halloffame>Halle der Helden</a><br>
<a href=index.php?as=last_fight>Letzten 20 K&auml;mpfe</a><br>"; <a href=index.php?as=last_fight>Letzten 20 K&auml;mpfe</a><br>";
$auktionensumme = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = ' . $user_ida['id'] . ' GROUP BY bieter')); $user_geld = getRelevantMoney($user_ida['id']);
$auktionensumme = $auktionensumme['summe'];
if ($auktionensumme == 0) { if ($user_info_test['geld']== $user_geld) {
$geldstring = $user_info_test2['geld']; $geldstring = $user_info_test2['geld'];
} else { } else {
$geldstring = displayMoney($user_info_test['geld'] - $auktionensumme) . ' (' . $user_info_test2['geld'] . ')'; $geldstring = displayMoney($user_geld) . ' (' . $user_info_test2['geld'] . ')';
} }

@ -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/semaphore.inc.php');
include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php'); include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php');
include_once(ROOT_PATH.'/include/defines.inc.php'); include_once(ROOT_PATH.'/include/defines.inc.php');
include_once(ROOT_PATH.'/include/user.inc.php');
defineIfNotDefined('AUCTION_FEE_FACTOR', 0.05); defineIfNotDefined('AUCTION_FEE_FACTOR', 0.05);
@ -44,6 +45,7 @@ function aktuellesMindestgebot($auktionsid){
} }
} }
/** /**
* *
* siehe user.inc.php getRelevantMoney() * siehe user.inc.php getRelevantMoney()
@ -51,13 +53,7 @@ function aktuellesMindestgebot($auktionsid){
* @deprecated * @deprecated
*/ */
function getUserAvailableMoney($userid) { 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 return getRelevantMoney($userid);
$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;
} }
@ -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 //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)); $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!'; return 'Nicht genug Geld!';
} }
@ -165,19 +160,13 @@ function biete_inverse($userid, $auktionsdaten, $gebot, $gebot2) {
$fee = ($gebot2 - $gebot + 1) * $startgebot * AUCTION_FEE_FACTOR; $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 //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 = getRelevantMoney($userid);
$usermoney = $user_a['geld']; $required_money = $gebot2 + $fee;
$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;
if($usermoney < $required_money){ if($usermoney < $required_money){
return 'Nicht genug Geld!'; return 'Nicht genug Geld!';
} }
db_query('UPDATE user SET geld = geld - '.$fee.' WHERE geld >= '.$required_money); db_query('UPDATE user SET geld = geld - '.$fee.' WHERE geld >= '.$required_money);
if (db_affected_rows() == 0) { if (db_affected_rows() == 0) {

@ -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 = mysqli_fetch_assoc(db_query('SELECT SUM(aktuellesgebot) as summe FROM auktion WHERE bieter = ' . $user['id'] . ' GROUP BY bieter'));
$auktionensumme = $auktionensumme['summe']; $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) { if ($auktionensumme == 0) {
$money = $user['geld']; $money = $user['geld'];
} else { } else {

@ -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']); $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')); $user_geld = getRelevantMoney($user_ida['id']);
$auktionensumme = $auktionensumme['summe'];
if($user['geld']<$item_preis+$auktionensumme) { if ($user_geld < $item_preis) {
$fehler = "Sie haben nicht genug Geld!"; $fehler = "Sie haben nicht genug Geld!";
$link = $back; $link = $back;

@ -76,8 +76,7 @@ if ($charm == 1) {
} }
$city = mysqli_fetch_assoc(db_query('SELECT * FROM quest_ort WHERE stadt=\'' . $stadt_name . '\'')); $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')); $user_geld = getRelevantMoney($user_ida['id']);
$auktionensumme = $auktionensumme['summe'];
$coords2[0] = $city['x_coord']; $coords2[0] = $city['x_coord'];
$coords2[1] = $city['y_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); $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()); displayErrorMessage(NULL, 'Du hast nicht genug Geld!!', displayHistoryBackLink());
semaphoreDown($ressource); // Gebe die Useraktionen wieder frei :) semaphoreDown($ressource); // Gebe die Useraktionen wieder frei :)
exit; exit;

Loading…
Cancel
Save