public function createGuild($name, $character) { $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $player = new OTS_Player(); $player->load($character); $new_guild = new OTS_Guild(); $new_guild->setCreationData(time()); $new_guild->setName($name); $new_guild->setOwner($player); $new_guild->save(); $new_guild->setCustomField('motd', 'New guild. Leader must edit this text :)'); $new_guild->setCustomField('creationdata', time()); $new_guild->setCustomField('world_id', $player->getWorld()); $ranks = $new_guild->getGuildRanksList(); $ranks->orderBy('level', POT::ORDER_DESC); foreach ($ranks as $rank) { if ($rank->getLevel() == 3) { $player->setRank($rank); $player->save(); } } $ide = new IDE(); $ide->redirect(WEBSITE . "/index.php/guilds/view/" . $new_guild->getId()); success("{$name} has been created."); }
public function listRequests() { $invites = array(); foreach ($this->db->query('SELECT ' . $this->db->fieldName('player_id') . ' FROM ' . $this->db->tableName('guild_invites') . ' WHERE ' . $this->db->fieldName('guild_id') . ' = ' . $this->db->quote($this->guild->id)) as $invite) { $player = new OTS_Player(); $player->load($invite['player_id']); $invites[] = $player; } return $invites; }
/** * @version 0.1.0 * @return array Array of OTS_Player objects from given account. * @throws E_OTS_NotLoaded If account is not loaded. * @deprecated 0.0.5 Use getPlayersList(). */ public function getPlayers() { if (!isset($this->data['id'])) { throw new E_OTS_NotLoaded(); } $players = array(); foreach ($this->db->query('SELECT ' . $this->db->fieldName('id') . ' FROM ' . $this->db->tableName('players') . ' WHERE ' . $this->db->fieldName('account_id') . ' = ' . $this->data['id'])->fetchAll() as $player) { // creates new object $object = new OTS_Player(); $object->load($player['id']); $players[] = $object; } return $players; }
$bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD>Sex:</TD><TD>'; $main_content .= $player->getSex() == 0 ? 'female' : 'male'; $main_content .= '</TD></TR>'; if ($config['site']['show_marriage_info']) { if (is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD>Marital status:</TD><TD>'; $marriage = new OTS_Player(); $marriage->load($player->getMarriage()); if ($marriage->isLoaded()) { $main_content .= 'married to <a href="?subtopic=characters&name=' . urlencode($marriage->getName()) . '"><b>' . $marriage->getName() . '</b></a></TD></TR>'; } else { $main_content .= 'single</TD></TR>'; } } if (is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD>Profession:</TD><TD>' . $vocation_name[$player->getWorld()][$player->getPromotion()][$player->getVocation()] . '</TD></TR>'; if (is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder'];
/** * Returns owning player of this player. * * @version 0.1.0 * @return OTS_Player Owning player. * @throws E_OTS_NotLoaded If guild is not loaded. * @throws PDOException On PDO operation error. */ public function getOwner() { if (!isset($this->data['ownerid'])) { throw new E_OTS_NotLoaded(); } $owner = new OTS_Player(); $owner->load($this->data['ownerid']); return $owner; }
public function join($guild_name, $player_name) { $guild_name = (int) $guild_name; $player_name = (int) $player_name; $ide = new IDE(); if (empty($guild_name) or empty($player_name)) { $ide->redirect(WEBSITE . "/index.php/guilds"); } $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $guild = $ots->createObject('Guild'); $guild->load($guild_name); if (!$guild->isLoaded()) { $ide->redirect(WEBSITE . "/index.php/guilds"); } $player = new OTS_Player(); $player->load($player_name); if (!$player->isLoaded()) { $ide->redirect(WEBSITE . "/index.php/guilds"); } if ($player->getAccount()->getId() != $_SESSION['account_id']) { $ide->redirect(WEBSITE . "/index.php/guilds"); } require_once 'system/application/libraries/POT/InvitesDriver.php'; new InvitesDriver($guild); $invited_list = $guild->listInvites(); if (!in_array($player->getId(), $invited_list)) { $ide->redirect(WEBSITE . "/index.php/guilds"); } $guild->acceptInvite($player); $ide->redirect(WEBSITE . "/index.php/guilds/view/" . $guild->getId() . "/1"); }
/** * Returns current house owner. * * @version 0.1.0 * @since 0.1.0 * @return OTS_Player|null Player that currently owns house (null if there is no owner). */ public function getOwner() { if (isset($this->data['owner']) && $this->data['owner'] != 0) { $player = new OTS_Player(); $player->load($this->data['owner']); return $player; } else { return null; } }
/** * Returns current house auction player winner. * * @version 0.1.0 * @since 0.2.0b+SVN * @return OTS_Player|null Player that currently wins house auction (null if there is no one). */ public function getPlayer() { if (isset($this->data['player_id'])) { $player = new OTS_Player(); $player->load($this->data['player_id']); return $player; } else { return null; } }
} // 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);