/** * Frigjør en spiller fra aktive auksjoner * @param player $up * @param int $up_id * @param int $type skal dette kun gjelde en bestemt type auksjon? */ public static function player_release(player $up = null, $up_id = null, $type = null) { if ($up) { $up_id = $up->id; } $type = $type ? " AND a_type = " . (int) $type : ""; // hent auksjonene spilleren selv holder $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT a_id\n\t\t\tFROM auksjoner\n\t\t\tWHERE a_completed = 0 AND a_up_id = {$up_id}{$type}"); while ($row = $result->fetch()) { $a = auksjon::get($row['a_id']); if ($a) { $a->handle_delete(); } } // hent budene vi har og sett de som inaktive $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT ab_id, ab_up_id, ab_bid, a_id, a_type, a_params\n\t\t\tFROM auksjoner_bud JOIN auksjoner ON a_id = ab_a_id\n\t\t\tWHERE a_completed = 0 AND ab_up_id = {$up_id} AND ab_active != 0{$type}"); while ($row = $result->fetch()) { self::set_bud_inactive($row, null, $up); } }
/** * Construct */ public function __construct($a_id, player $up) { parent::__construct($up); $this->auksjon = auksjon::get($a_id); if (!$this->auksjon) { ess::$b->page->add_message("Fant ikke auksjonen du lette etter.", "error"); redirect::handle(); } redirect::store("auksjoner?a_id={$this->auksjon->id}"); $this->handle(); }