public function getMembers($forceReload = false) { if (!isset($this->members) || $forceReload) { $members = new DatabaseList('Player'); $members->setFilter(new SQL_Filter(new SQL_Field('rank_id'), SQL_Filter::EQUAL, $this->getID())); $members->addOrder(new SQL_Order(new SQL_Field('name'))); $this->members = $members; } return $this->members; }
public function getMembers($forceReload = false) { if (!isset($this->members) || $forceReload) { $members = new DatabaseList('Player'); $filterGuild = new SQL_Filter(new SQL_Field('rank_id', 'guild_membership'), SQL_Filter::EQUAL, $this->getID()); $filterPlayer = new SQL_Filter(new SQL_Field('id', 'players'), SQL_Filter::EQUAL, new SQL_Field('player_id', 'guild_membership')); $members->setFilter(new SQL_Filter($filterGuild, SQL_Filter::CRITERIUM_AND, $filterPlayer)); $members->addOrder(new SQL_Order(new SQL_Field('name', 'players'))); $this->members = $members; } return $this->members; }
<img id="ContentBoxHeadline" class="Title" src="layouts/tibiacom/images/header/headline-killstatistics.gif" alt="Contentbox headline"> <?php if (!defined('INITIALIZED')) { exit; } $players_deaths = new DatabaseList('PlayerDeath'); $players_deaths->setFilter(new SQL_Filter(new SQL_Field('id', 'players'), SQL_Filter::EQUAL, new SQL_Field('player_id', 'player_deaths'))); $players_deaths->addOrder(new SQL_Order(new SQL_Field('time'), SQL_Order::DESC)); $players_deaths->setLimit(50); $players_deaths_count = 0; foreach ($players_deaths as $death) { $bgcolor = $players_deaths_count++ % 2 == 1 ? $config['site']['darkborder'] : $config['site']['lightborder']; $players_rows .= '<TR BGCOLOR="' . $bgcolor . '"><TD WIDTH="30"><center>' . $players_deaths_count . '.</center></TD><TD WIDTH="125"><small>' . date("j.m.Y, G:i:s", $death->getTime()) . '</small></TD><TD><a href="index.php?subtopic=characters&name=' . urlencode($death->data['name']) . '">' . htmlspecialchars($death->data['name']) . '</a> at level ' . $death->getLevel() . ' by ' . $death->getKillerString(); if ($death->getMostDamageString() != '' && $death->getKillerString() != $death->getMostDamageString()) { $players_rows .= ' and ' . $death->getMostDamageString(); } $players_rows .= '</TD></TR>'; } if ($players_deaths_count == 0) { $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="' . $config['site']['vdarkborder'] . '"><TD CLASS=white><B>Last Deaths</B></TD></TR><TR BGCOLOR=' . $config['site']['darkborder'] . '><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1><TR><TD>No one died on ' . htmlspecialchars($config['server']['serverName']) . '.</TD></TR></TABLE></TD></TR></TABLE><BR>'; } else { $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="' . $config['site']['vdarkborder'] . '"><TD CLASS=white><B>Last Deaths</B></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%>' . $players_rows . '</TABLE>'; }
public function unban() { $bans = new DatabaseList('Ban'); $filterType = new SQL_Filter(new SQL_Field('type'), SQL_Filter::EQUAL, Ban::TYPE_ACCOUNT); $filterValue = new SQL_Filter(new SQL_Field('value'), SQL_Filter::EQUAL, $this->data['id']); $filterActive = new SQL_Filter(new SQL_Field('active'), SQL_Filter::EQUAL, 1); $filter = new SQL_Filter($filterType, SQL_Filter::CRITERIUM_AND, $filterValue); $filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterActive); $bans->setFilter($filter); foreach ($bans as $ban) { $ban->setActive(0); $ban->save(); } }
public function isNamelocked() { $bans = new DatabaseList('Ban'); $filterType = new SQL_Filter(new SQL_Field('type'), SQL_Filter::EQUAL, Ban::TYPE_PLAYER); $filterParam = new SQL_Filter(new SQL_Field('param'), SQL_Filter::EQUAL, Ban::PLAYERBAN_LOCK); $filterValue = new SQL_Filter(new SQL_Field('value'), SQL_Filter::EQUAL, $this->data['id']); $filterActive = new SQL_Filter(new SQL_Field('active'), SQL_Filter::EQUAL, 1); $filter = new SQL_Filter($filterType, SQL_Filter::CRITERIUM_AND, $filterValue); $filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterActive); $filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterParam); $bans->setFilter($filter); return count($bans) > 0; }
foreach ($config['site']['quests'] as $questName => $storageID) { $bgcolor = $number_of_rows++ % 2 == 1 ? $config['site']['darkborder'] : $config['site']['lightborder']; $number_of_quests++; $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD WIDTH=95%>' . $questName . '</TD>'; if ($player->getStorage($storageID) === null) { $main_content .= '<TD><img src="images/false.png"/></TD></TR>'; } else { $main_content .= '<TD><img src="images/true.png"/></TD></TR>'; } } $main_content .= '</TABLE></td></tr></table><br />'; } $deads = 0; //deaths list $player_deaths = new DatabaseList('PlayerDeath'); $player_deaths->setFilter(new SQL_Filter(new SQL_Filter(new SQL_Field('player_id'), SQL_Filter::EQUAL, $player->getId()), SQL_Filter::CRITERIUM_AND, new SQL_Filter(new SQL_Field('id', 'players'), SQL_Filter::EQUAL, new SQL_Field('player_id', 'player_deaths')))); $player_deaths->addOrder(new SQL_Order(new SQL_Field('time'), SQL_Order::DESC)); $player_deaths->setLimit(20); foreach ($player_deaths as $death) { $bgcolor = $number_of_rows++ % 2 == 1 ? $config['site']['darkborder'] : $config['site']['lightborder']; $deads++; $dead_add_content .= "<tr bgcolor=\"" . $bgcolor . "\"><td width=\"20%\" align=\"center\">" . date("j M Y, H:i", $death->getTime()) . "</td><td>Died at level " . $death->getLevel() . " by " . $death->getKillerString(); if ($death->getMostDamageString() != '' && $death->getKillerString() != $death->getMostDamageString()) { $dead_add_content .= ' and ' . $death->getMostDamageString(); } $dead_add_content .= "</td></tr>"; } if ($deads > 0) { $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="' . $config['site']['vdarkborder'] . '"><TD COLSPAN=2 CLASS=white><B>Character Deaths</B></TD></TR>' . $dead_add_content . '</TABLE><br />'; } if (!$player->getHideChar()) {
public function acceptInvite($player) { $ranks = new DatabaseList('GuildRank'); $ranks->setFilter(new SQL_Filter(new SQL_Field('guild_id'), SQL_Filter::EQUAL, $this->getID())); $ranks->addOrder(new SQL_Order(new SQL_Field('level'), SQL_Order::ASC)); // load rank with lowest access level if ($rank = $ranks->getResult(0)) { $player->setRank($rank); $player->save(); $player->removeGuildInvitations(); } else { new Error_Critic('', 'There is no rank in guild <b>' . htmlspecialchars($guild->getName()) . '</b>, cannot add player <b>' . htmlspecialchars($player->getName()) . '</b> to guild.'); } }
$main_content .= '<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%><TR><TD></TD><TD> <FORM ACTION="" METHOD=get><INPUT TYPE="hidden" NAME="subtopic" VALUE="guilds"><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="' . $config['site']['vdarkborder'] . '" CLASS=white><B>World Selection</B></TD></TR><TR><TD BGCOLOR="' . $config['site']['darkborder'] . '"> <TABLE BORDER=0 CELLPADDING=1><TR><TD>Guilds on world:</TD><TD><SELECT SIZE="1" NAME="world">'; foreach ($config['site']['worlds'] as $id => $world_n) { if ($id == $world_id) { $main_content .= '<OPTION VALUE="' . $id . '" selected="selected">' . htmlspecialchars($world_n) . '</OPTION>'; } else { $main_content .= '<OPTION VALUE="' . $id . '">' . htmlspecialchars($world_n) . '</OPTION>'; } } $main_content .= '</SELECT> </TD><TD><INPUT TYPE="image" NAME="Submit" ALT="Submit" SRC="' . $layout_name . '/images/buttons/sbutton_submit.gif"> </TD></TR></TABLE></TABLE></FORM></TABLE>'; } $guilds_list = new DatabaseList('Guild'); $filterWorld = new SQL_Filter(new SQL_Field('world_id', 'guilds'), SQL_Filter::EQUAL, $world_id); $guilds_list->setFilter($filterWorld); $guilds_list->addOrder(new SQL_Order(new SQL_Field('name'), SQL_Order::ASC)); $main_content .= '<h2><center>Guilds on ' . htmlspecialchars($world_name) . '</center></h2><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR=' . $config['site']['vdarkborder'] . '><TD COLSPAN=3 CLASS=white><B>Guilds on ' . htmlspecialchars($world_name) . '</B></TD></TR> <TR BGCOLOR=' . $config['site']['darkborder'] . '><TD WIDTH=64><B>Logo</B></TD> <TD WIDTH=100%><B>Description</B></TD> <TD WIDTH=56><B> </B></TD></TR>'; $showed_guilds = 1; if (count($guilds_list) > 0) { foreach ($guilds_list as $guild) { if (is_int($showed_guilds / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $showed_guilds++;
$main_content .= '<input type="radio" name="order" value="size" id="radio_s1" ' . ($selected_order == 'size' ? 'checked="checked"' : '') . '/><label for="radio_s1">Size</label>'; $main_content .= '</td></tr>'; $main_content .= '<tr><td colspan="3" style="text-align:right"><input type="image" name="Submit" alt="Submit" src="' . $layout_name . '/images/buttons/sbutton_submit.gif"></td></tr></table></form>'; if (isset($_REQUEST['town']) && isset($_REQUEST['owner']) && isset($_REQUEST['order'])) { $houses = new DatabaseList('House'); $filterTown = new SQL_Filter(new SQL_Field('townid'), SQL_Filter::EQUAL, $_REQUEST['town']); if ($_REQUEST['owner'] == 0) { $filterOwner = new SQL_Filter(new SQL_Field('owner'), SQL_Filter::EQUAL, 0); $filter = new SQL_Filter($filterTown, SQL_Filter::CRITERIUM_AND, $filterOwner); } elseif ($_REQUEST['owner'] == 1) { $filterOwner = new SQL_Filter(new SQL_Field('owner'), SQL_Filter::NOT_EQUAL, 0); $filter = new SQL_Filter($filterTown, SQL_Filter::CRITERIUM_AND, $filterOwner); } else { $filter = $filterTown; } $houses->setFilter($filter); if ($_REQUEST['order'] == 'size') { $houses->addOrder(new SQL_Order(new SQL_Field('tiles', 'houses'), SQL_Order::DESC)); } else { $houses->addOrder(new SQL_Order(new SQL_Field('name', 'houses'))); } $housesText = ''; if (count($houses) > 0) { // let's load house owners, all by 1 query $ownersIds = array(); foreach ($houses as $house) { if ($house->getOwner() != 0) { $ownersIds[] = $house->getOwner(); } } $owners = array();