Pastebin

New pastes are no longer accepted · Stats

Latest Pastes

Working allguilds.php

<?php

$pagetitle = 'All Guilds';

require 'common.php';

if (!$logged)
{
	$tpl->message = 'You must be logged in to view this page.';
	$tpl->Execute(null);
	exit;
}

if (!$GM)
{
	$tpl->message = 'You must be a Game Master to view this page.';
	$tpl->Execute(null);
	exit;
}

$count = $db->SQL('SELECT COUNT(1) as count FROM guilds');
$count = $count[0]['count'];

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$pages = ceil($count / $perpage);

if ($page < 1 || $page > $pages)
{
	$page = max(min($page, $pages), 1);
}

$start = ($page-1) * $perpage;

$guilds = $db->SQL("SELECT * FROM guilds LIMIT #,#", $start, $perpage);

if (empty($guilds))
{
	$tpl->messages = "No guilds have been created yet.";
	$tpl->Execute(null);
	exit;
}

$guildlistq = '';

foreach ($guilds as &$guild)
{
	$guild['tag'] = trim(strtoupper($guild['tag']));
	$guild['name'] = ucfirst($guild['name']);
	$guildlistq .= "guild = '".$db->Escape($guild['tag'])."' OR ";
}
unset($guild);

$guildlistq = substr($guildlistq, 0, -4);

if (!$guildlistq)
{
	trigger_error("No guilds were selected");
}

$members = $db->SQL("SELECT guild FROM characters WHERE $guildlistq");
$totalexp = $db->SQL("SELECT guild,exp FROM characters WHERE $guildlistq AND admin = 0");

foreach ($guilds as &$guild)
{
	$membercount = 0;
	$expcount = 0;
	foreach ($members as $member)
	{
		if ($member['guild'] == $guild['tag'])
		{
			++$membercount;
		}
	}

	foreach ($totalexp as $member)
	{
		if ($member['guild'] == $guild['tag'])
		{
			$expcount += $member['exp'];
		}
	}

	$guild['exp'] = $expcount;
	$guild['members'] = $membercount;
}
unset($guild);

foreach ($guilds as &$guild)
{
	$guild['exp'] = number_format($guild['exp']);
	$guild['members'] = number_format($guild['members']);
}
unset($guild);

$tpl->guilds = $guilds;

$pagination = generate_pagination($pages, $page);

$tpl->page = $page;
$tpl->pages = $pages;
$tpl->pagination = $pagination;
$tpl->perpage = $perpage;
$tpl->showing = count($guilds);
$tpl->start = $start+1;
$tpl->end = min($start+$perpage, $count);
$tpl->count = $count;

$tpl->guilds = $guilds;

$tpl->Execute('allguilds');