/** * Returns guild of this rank. * * @version 0.1.0 * @return OTS_Guild Guild of this rank. * @throws E_OTS_NotLoaded If rank is not loaded. * @throws PDOException On PDO operation error. */ public function getGuild() { if (!isset($this->data['guild_id'])) { throw new E_OTS_NotLoaded(); } $guild = new OTS_Guild(); $guild->load($this->data['guild_id']); return $guild; }
function delete_guild($id) { $guild = new OTS_Guild(); $guild->load($id); if ($guild->isLoaded()) { $rank_list = $guild->getGuildRanksList(); if (count($rank_list) > 0) { $rank_list->orderBy('level'); foreach ($rank_list as $rank_in_guild) { $players_with_rank = $rank_in_guild->getPlayersList(); if (count($players_with_rank) > 0) { foreach ($players_with_rank as $player_in_guild) { $player_in_guild->setRank(); $player_in_guild->save(); } } $rank_in_guild->delete(); } } $guild->delete(); return TRUE; } else { return FALSE; } }
} // commits invitation public function submitRequest(OTS_Player $player) { $rank = null; // finds normal member rank foreach ($this->guild->getGuildRanks() as $guildRank) { if ($guildRank->getLevel() == 1) { $rank = $guildRank; break; } } $player->setRank($rank); $player->save(); // clears invitation $this->deleteRequest($player); } } /* Parts of this class driver has been taken from OTSCMS (http://otscms.com/) project source code. */ // loads player wiht ID 1 $player = new OTS_Player(); $player->load(1); // loads guild with ID 1 $guild = new OTS_Guild(); $guild->load(1); // creates invitation logic driver for your implementation for current guild new InvitesDriver($guild); // note that you call guild method! $guild->invite($player);