\'' . $mintime . '\'
OR session_endtime > \'' . $mintime . '\'
)
AND player_id = ' . $playerid . '
ORDER BY session_starttime DESC
LIMIT 0,100';
$res = mysql_query($sql) or print(mysql_error());
while ($row = mysql_fetch_assoc($res)) {
if (strtotime($row['session_starttime']) > strtotime($mintime)) {
$row['time'] = $row['session_starttime'];
$events[] = $row;
}
if (strtotime($row['session_endtime']) > strtotime($mintime)) {
$row['time'] = $row['session_endtime'];
$events[] = $row;
}
}
// Roles
$sql = 'SELECT class_name, class_displayname, session_alias, roleperiod_team, roleperiod_starttime FROM roleperiods NATURAL JOIN sessions NATURAL JOIN classes WHERE player_id = ' . $playerid . ' AND roleperiod_starttime > \'' . $mintime . '\' ORDER BY roleperiod_starttime DESC LIMIT 0,100';
$res = mysql_query($sql);
while ($row = mysql_fetch_assoc($res)) {
$row['time'] = $row['roleperiod_starttime'];
$events[] = $row;
}
usort($events, 'eventSort');
echo '
Time | Event |
';
$i = 0;
foreach (array_slice($events, 0, 100) as $event) {
echo '', str_replace(' ', ' ', $event['time']), ' | ';
if (isset($event['kill_timestamp'])) {
displayKill($event, $playerid);
} else if (isset($event['session_starttime'])) {
displaySession($event);
} else if (isset($event['roleperiod_starttime'])) {
displayRoleChange($event);
}
echo '
', "\n";
}
echo '
';
}
function displayRoleChange($event) {
$text = getTeam($event['roleperiod_team']) . ' ' . strtolower($event['class_displayname']);
echo ' ', htmlentities($event['session_alias'], ENT_COMPAT, 'UTF-8');
echo ' changed to a ', $text, ' | ';
}
function displayKill($event, $playerid) {
$me = null;
if ($event['killerID'] == $playerid) {
$me = 'killer';
} else if ($event['victimID'] == $playerid) {
$me = 'victim';
} else {
$me = 'assist';
}
call_user_func('displayKill' . ucfirst($me), $event);
}
function getTeam($team) {
switch ((int) $team) {
case 1: return 'red';
case 2: return 'blue';
}
}
function displayPerson($event, $who, $link = true, $link2 = true) {
echo ' ';
if ($link) {
echo '';
}
echo htmlentities($event[$who . 'Name'], ENT_COMPAT, 'UTF-8');
if ($link) {
echo '';
}
if ($who == 'killer' && $event['assistID'] > 0) {
echo ', | ';
if ($link2) {
echo '';
}
echo htmlentities($event['assistName'], ENT_COMPAT, 'UTF-8');
if ($link2) {
echo '';
}
}
echo ' | ';
}
function displayWeapon($event) {
echo ' | ';
}
function displayKillKiller($event) {
displayPerson($event, 'killer', false);
echo 'killed | ';
displayPerson($event, 'victim');
echo 'with | ';
displayWeapon($event);
}
function displayKillVictim($event) {
displayPerson($event, 'killer');
echo 'killed | ';
displayPerson($event, 'victim', false);
echo 'with | ';
displayWeapon($event);
}
function displayKillAssist($event) {
displayPerson($event, 'killer', true, false);
echo 'killed | ';
displayPerson($event, 'victim');
echo 'with | ';
displayWeapon($event);
}
function displaySession($event) {
echo '';
echo ' ';
if ($event['session_starttime'] == $event['time']) {
echo htmlentities($event['session_alias'], ENT_COMPAT, 'UTF-8'), ' joined the server';
} else {
echo htmlentities($event['session_alias'], ENT_COMPAT, 'UTF-8'), ' left the server';
}
echo ' | ';
}
?>