Example #1
0
 $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);
                                     }