$house = new House((int) $_REQUEST['house']); if ($house->isLoaded()) { if ($house->getOwner() == 0) { if ($house->getBidEnd() == 0 || $house->getBidEnd() > time()) { $houseBidded = $SQL->query('SELECT `houses`.`id` house_id, `players`.`id` bidder_id FROM `houses`, `players` WHERE `players`.`id` = `houses`.`highest_bidder` AND `players`.`account_id` = ' . Visitor::getAccount()->getID())->fetch(); if ($houseBidded === false || $houseBidded['house_id'] == $house->getID()) { $bidded = false; if (isset($_REQUEST['do_bid'])) { if (isset($_REQUEST['bid']) && isset($_REQUEST['bidder'])) { $bidder = new Player($_REQUEST['bidder']); $bid = (int) $_REQUEST['bid']; if ($bidder->isLoaded() && $bidder->getAccountID() == Visitor::getAccount()->getID()) { if ($bidder->getBalance() >= $bid) { // jesli przebija swoja oferte to nie musi dawac wiecej // moze tylko zmieniac postac ktora zostanie, a nawet obnizac maksymalna if ($bid > 0 && ($bid > $house->getBid() || $houseBidded !== false)) { // jesli przebija sam siebie to nie podnosi ceny aktualnej if ($houseBidded === false) { // ustawia cene na cene przed przebiciem + 1 gold // moze to podniesc z 0 do 1 gold przy nowym domku // lub ustawic wartosc maksymalna osoby co licytowala wczesniej + 1 $house->setLastBid($house->getBid() + 1); } // ustawic najwyzsza oferowana kwote na podana // jesli przebija swoja aukcje kwota mniejsza niz aktualna to nie zmieniaj! // jak ktos inny przebija to i tak bid bedzie wiekszy-rowny od aktualnego // (nawet jak o 1 gp przebija - 6 linijek wyzej ustawia ... // na kwote mniejsza niz bid + 1, wiec bedzie rowny) if ($bid >= $house->getLastBid()) { $house->setBid($bid); }