0, "crystal" => 0, "energy" => 0, "energy_max" => 0, "arena_energy" => 0, "arena_energy_max" => 0, "darkportal_energy" => 0, "darkportal_energy_max" => 0, "dimension_energy" => 0, "dimension_energy_max" => 0, "honor_point" => 0, "guild_point" => 0, "honor_medal" => 0, "honor_mark" => 0, "event_coin" => 0, "social_point" => 0, "ancient_stone" => 0, "costume_point" => 0, ]; /** * @var \Building[] List of Buildings. */ public $building = []; /** * @var \Decoration[] List of Decorations. */ public $decoration = []; /** * @var \Inventory[] List of Scrolls in Inventory. */ public $inventory_scroll = []; /** * @var \Inventory[] List of rune crafting items in Inventory. */ public $inventory_craft_rune = []; /** * @var \Inventory[] List of rune crafting items in Inventory. */ public $inventory_craft = []; /** * @var \Inventory[] List of rune crafting items in Inventory. */ public $inventory_essence = []; /** * Constructor. * * Retrieves the data and initializes the variables. * * @param resource $db Connection to the database. * @global int Player ID. */ public function __construct($db){ global $INVENTORY_TYPE; global $UID; parent::__construct($db); $this->view = PATH::VIEW . "home.php"; $s = " SELECT uid, name, level, country, experience, rep, mana, crystal, energy, energy_max, arena_energy, arena_energy_max, darkportal_energy, darkportal_energy_max, dimension_energy, dimension_energy_max, honor_point, guild_point, honor_medal, honor_mark, event_coin, social_point, costume_point FROM player WHERE uid = '$UID'; "; $q = $this->db->query($s); $r = $q->fetchArray(SQLITE3_ASSOC); if ($r){ $this->uid = $r["uid"]; $this->name = $r["name"]; $this->level = $r["level"]; $this->country = $r["country"]; $this->experience = $r["experience"]; if (strlen($r["rep"]) > 0){ $this->rep = new Unit($this->db, $r["rep"]); } $this->currency["mana"] = $r["mana"]; $this->currency["crystal"] = $r["crystal"]; $this->currency["energy"] = $r["energy"]; $this->currency["energy_max"] = $r["energy_max"]; $this->currency["arena_energy"] = $r["arena_energy"]; $this->currency["arena_energy_max"] = $r["arena_energy_max"]; $this->currency["darkportal_energy"] = $r["darkportal_energy"]; $this->currency["darkportal_energy_max"] = $r["darkportal_energy_max"]; $this->currency["dimension_energy"] = $r["dimension_energy"]; $this->currency["dimension_energy_max"] = $r["dimension_energy_max"]; $this->currency["honor_point"] = $r["honor_point"]; $this->currency["guild_point"] = $r["guild_point"]; $this->currency["honor_medal"] = $r["honor_medal"]; $this->currency["honor_mark"] = $r["honor_mark"]; $this->currency["event_coin"] = $r["event_coin"]; $this->currency["social_point"] = $r["social_point"]; $this->currency["costume_point"] = $r["costume_point"]; } $s = " SELECT unit FROM defense WHERE uid = '$UID' ORDER BY position; "; $q = $this->db->query($s); while ($r = $q->fetchArray(SQLITE3_ASSOC)){ array_push($this->defense, new Unit($db, $r["unit"], false)); } $s = " SELECT DISTINCT building FROM building WHERE uid = '$UID'; "; $q = $this->db->query($s); while ($r = $q->fetchArray(SQLITE3_ASSOC)){ array_push($this->building, new Building($db, $r["building"])); } $s = " SELECT decoration FROM decoration WHERE uid = '$UID'; "; $q = $this->db->query($s); while ($r = $q->fetchArray(SQLITE3_ASSOC)){ array_push($this->decoration, new Decoration($db, $r["decoration"])); } $s = " SELECT id, type FROM inventory WHERE uid = '$UID' AND type = " . INVENTORY_TYPE_ID::SCROLL . " AND amount > 0 ORDER BY inventory.type; "; $q = $this->db->query($s); while ($r = $q->fetchArray(SQLITE3_ASSOC)){ array_push($this->inventory_scroll, new Inventory($db, $r["id"], $r["type"])); } // Rune crafting items are marked as generic crafting. $s = " SELECT inventory.id AS id, inventory.type AS type FROM inventory WHERE inventory.uid = '$UID' AND inventory.type = " . INVENTORY_TYPE_ID::RUNE_CRAFT . " AND amount > 0 ORDER BY inventory.id; "; $q = $this->db->query($s); while ($r = $q->fetchArray(SQLITE3_ASSOC)){ array_push($this->inventory_craft_rune, new Inventory($db, $r["id"], $r["type"])); } $s = " SELECT inventory.id AS id, inventory.type AS type FROM inventory WHERE inventory.uid = '$UID' AND inventory.type = " . INVENTORY_TYPE_ID::CRAFT_STUFF . " AND amount > 0 ORDER BY inventory.id; "; $q = $this->db->query($s); while ($r = $q->fetchArray(SQLITE3_ASSOC)){ array_push($this->inventory_craft, new Inventory($db, $r["id"], $r["type"])); } $s = " SELECT inventory.id AS id, inventory.type AS type FROM inventory, k_inventory WHERE inventory.id = k_inventory.id AND inventory.type = k_inventory.type AND inventory.uid = '$UID' AND inventory.type = " . INVENTORY_TYPE_ID::ESSENCES . " AND amount > 0 ORDER BY upper(name) NOT LIKE '%MAGIC%', upper(name) NOT LIKE '%FIRE%', upper(name) NOT LIKE '%WATER%', upper(name) NOT LIKE '%WIND%', upper(name) NOT LIKE '%LIGHT%', upper(name) NOT LIKE '%DARK%', upper(name) NOT LIKE '%LOW%', upper(name) NOT LIKE '%MID%', upper(name) NOT LIKE '%HIGH%' ; "; $q = $this->db->query($s); while ($r = $q->fetchArray(SQLITE3_ASSOC)){ array_push($this->inventory_essence, new Inventory($db, $r["id"], $r["type"])); } $this->title = "SWDB"; $this->description = "Summoners War DataBase"; $this->canonical = URL::BASE; } } ?>