<?php
header('Content-Type: text/html; charset=utf-8');
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
require 'functions.php';
$site = new Site();

if ($site->user)
	$limit = $site->user->getPostsPerPage();
else
	$limit = 50;

if(array_key_exists('getmsgsfrom', $_REQUEST))
	$start = abs($_REQUEST['getmsgsfrom']);
else
	$start = 0;

$dobeep = False;

echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n";
echo "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0\">\n";
printf("<title>%s</title>\n", $site->getLongName());
echo "<style type=\"text/css\">";
$colors = $site->getColors();
printf("\tBODY { background: %s; color: %s; font-family: sans-serif; margin: 0; padding: 0; }\n", $colors[0], $colors[1]);
printf("\tA { color: %s; }\n", $colors[3]);
printf("\tSPAN.hilight { color: %s; font-weight: bold; }\n", $colors[2]);
printf("\tSPAN.delpost { color: %s; font-size: x-small; }\n", $colors[3]);
printf("\tTR.title { text-align: center; font-size: x-large; }\n");
printf("\tTR.time { background: %s; text-align: center; font-size: small; }\n", getShadowColor($colors[0]));
printf("\tTR.postform { text-align: center; }\n");
printf("\tA.refresh { color: %s; font-weight: bold; }\n", $colors[2]);
printf("\tTR.oddrow { background: %s; font-family: monospace; }\n", $colors[0]);
printf("\tTR.evenrow { background: %s; font-family: monospace; }\n", getShadowColor($colors[0]));
echo "</style>\n</head>\n<body>\n";
echo "<table cellspacing=0 cellpadding=2 width=\"100%\">\n";
printf("<tr class=\"title\"><td colspan=2>%s</td></tr>", $site->getLongName());

if ($site->board) {
	echo "<tr class=\"time\">\n";
	if ($site->user)
		printf("<td>Loaded at <b>%sz</b></td>\n", $site->user->getSlashZeroedText(gmdate('M d H:i')));
	else
		printf("<td>Loaded at <b>%sz</b></td>\n", gmdate('M d H:i'));
	printf("<td><form action=\"mobile.php\" method=\"GET\"><p><input type=\"hidden\" name=\"board\" value=\"%s\"><input type=\"submit\" value=\"Refresh\"></p></form></td>", $site->board->id);
	echo "</tr>\n";

	echo "<tr class=\"time\">\n";
	if (!$site->user) {
		echo "<td colspan=2>\n";
		echo "<form action=\"mobile.php\" method=\"POST\">\n<p>\n";
		printf("<input type=\"hidden\" name=\"board\" value=\"%s\">\n", $site->board->id);
		echo "<input type=\"hidden\" name=\"cmd\" value=\"login\">\n";
		echo "Callsign: <input type=\"text\" name=\"callsign\" size=\"8\" maxlength=\"12\"> Password (if required): <input type=\"password\" name=\"password\" size=\"8\" maxlength=\"8\"> <input type=\"submit\" value=\"Log in\">\n";
		echo "</p>\n</form>\n<a href=\"resetpw.php\">Forgot password?</a>\n</td>\n</tr>\n";
	}
	else {
		if ($site->user->getName())
			$firstname = $site->user->getName()." - ";
		else
			$firstname = "";
	
		printf("<td>Logged in as %s%s</td><td><a href=\"profile.php\">Profile</a> - <a href=\"pm.php\">PMs</a> - <a href=\"mobile.php?board=%s&amp;cmd=logout\">Log out</a></td>\n", $firstname, $site->user->getSlashZeroedText($site->user->getCallsign()), $site->board->id);
		echo "</tr>\n";

		$newpms = $site->user->getNewPrivateMessages();

		if ($site->user->getPMEnabled() && count($newpms) > 0) {
			if ($site->user->alertsound != 'None')
				$dobeep = True;
			if(count($newpms) == 1)
				$messages_word = "message";
			else
				$messages_word = "messages";

			printf("<tr class=\"time\"><td colspan=2><b>You have <span class=\"hilight\">%d</span> new private %s.</b></td></tr>\n", count($newpms), $messages_word);

			foreach ($newpms as $row) {
				$fromuser = getUser($row['FromCall']);
				$rowdate = abs($row['Date']);
				$datestring = gmdate('m/d H:i', $rowdate);
				printf("<tr class=\"time\"><td>%s&nbsp;&lt;<b>%s</b>&gt; %s </td><td><a href=\"pm.php?reply=%s\">Reply</a> <a href=\"mobile.php?cmd=clearpm&amp;num=%s&amp;board=%s\">Clear</a></td></tr>\n",
					$site->user->getSlashZeroedText(str_replace(" ", "&nbsp;", $datestring)),
					$fromuser->getLink($site->user->getSlashZero(), True),
					$site->user->getSlashZeroedText($row['Text']),
					$row['Key'],
					$row['Key'],
					$site->board->id
				);
			}
		}

		echo "<tr class=\"postform\">\n<td colspan=2>\n<form action=\"mobile.php\" method=\"POST\">\n<p>\n";
		printf("<input type=\"hidden\" name=\"board\" value=\"%s\">\n", $site->board->id);
		echo "<input type=\"hidden\" name=\"cmd\" value=\"post\">\n";
		echo "<input type=\"text\" name=\"text\">\n";
		echo "<input type=\"submit\" value=\"Post\">\n";
		echo "</p>\n</form>\n</td>\n</tr>\n";
	}
}

if ($site->getAnnouncement())
	printf("<tr class=\"time\">\n<td colspan=2>\n%s\n</td>\n</tr>\n", $site->getAnnouncement());

if ($site->board) {
	if ($site->board->getAnnouncement())
		printf("<tr class=\"time\">\n<td colspan=2>\n%s\n</td>\n</tr>\n", $site->board->getAnnouncement());

	echo "<tr class=\"evenrow\"><td colspan=2>MM/DD&nbsp;&nbsp;UTC</td></tr>\n";
	$messages = $site->board->getMessages($limit, $start);
	$oddrow = True;
	if (count($messages) == 0)
		echo "<tr class=\"oddrow\"><td colspan=2><b>No posts found!</b></td></tr>\n";
	else {
		foreach ($messages as $row) {
			if ($oddrow)
				$rowclass = "oddrow";
			else
				$rowclass = "evenrow";

			if(!$site->user || $site->user->getTigerStripes())
				$oddrow = !$oddrow;

			$fromuser = getUser($row['Callsign']);
			$rowdate = abs($row['Date']);
			$datestring = gmdate('m/d H:i', $rowdate);

			$prefix = "";
			$suffix = "";

			if ($site->user) {
				$datestring = $site->user->getSlashZeroedText($datestring);
				$userlink = $fromuser->getLink($site->user->getSlashZero(), True);
				if ($row['Callsign'] == $site->user->getCallsign())
					$suffix = sprintf(" <span class=\"delpost\"><a href=\"mobile.php?board=%s&amp;cmd=delpost&amp;num=%d\">[x]</a></span>", $site->board->id, abs($row['Key']));
				if ($site->user->hilightMessage($row['Text'])) {
					if($site->user->alertsound != 'None' && $rowdate > $site->user->lastrun && $site->user->lastrun > 0)
						$dobeep = True;
					$prefix = "<span class=\"hilight\">";
					$suffix = "</span>".$suffix;
				}
				else {
					if($site->user->alertsound == 'All' && $rowdate > $site->user->lastrun && $site->user->lastrun > 0)
						$dobeep = True;
				}
				$row['Text'] = $site->user->getSlashZeroedText($row['Text']);
			} else {
				$userlink = sprintf("<span style=\"color: %s;\">%s</span>", $colors[3], $fromuser->getCallsign());
			}

			if(substr(strtolower($row['Text']), 0, 4) == '/me ')
				printf("<tr class=\"%s\"><td colspan=2>%s%s * <b>%s</b> %s%s</td></tr>\n",
					$rowclass,
					$prefix,
					str_replace(" ", "&nbsp;", $datestring),
					$userlink,
					substr($row['Text'], 4),
					$suffix
				);
			else
				printf("<tr class=\"%s\"><td colspan=2>%s%s&nbsp;&lt;<b>%s</b>&gt; %s%s</td></tr>\n",
					$rowclass,
					$prefix,
					str_replace(" ", "&nbsp;", $datestring),
					$userlink,
					$row['Text'],
					$suffix
				);
		}
	}

	if (count($messages) >= $limit || $start > 0)
		echo "<tr class=\"postform\"><td colspan=2>\n<i>";
	if (count($messages) >= $limit)
		printf("<a href=\"mobile.php?board=%s&amp;getmsgsfrom=%d\">&lt;&lt; Back %d posts</a>", $site->board->id, $start + $limit, $limit);
	if ($start > 0) {
		$getmsgsfrom = $start - $limit;
		if ($getmsgsfrom < 0)
			$getmsgsfrom = 0;
		printf(" - <a href=\"mobile.php?board=%s&amp;getmsgsfrom=%d\">Next %d posts &gt;&gt;</a>", $site->board->id, $getmsgsfrom, $limit);
	}
	if (count($messages) >= $limit || $start > 0)
		echo "</i>\n</td></tr>\n";

	if ($site->user) {
		echo "<tr class=\"postform\">\n<td colspan=2>\n<form action=\"mobile.php\" method=\"POST\">\n<p>\n";
		printf("<input type=\"hidden\" name=\"board\" value=\"%s\">\n", $site->board->id);
		echo "<input type=\"hidden\" name=\"cmd\" value=\"updateuser\">\n";
		printf("Status: <input type=\"text\" name=\"qrg\" value=\"%s\" size=16 maxlength=16>\n", $site->user->qrg);
		echo "<input type=\"submit\" value=\"Set\">\n";
		echo "</p>\n</form>\n</td>\n</tr>\n";
	}

	echo "<tr class=\"time\"><td colspan=2><span style=\"font-size: medium; font-weight: bold;\">Users on now</span></td></tr>\n";
	$oddrow = True;
	$users = $site->board->getActiveUsers();
	if (count($users) == 0)
		echo "<tr class=\"time\"><td colspan=2>No users found</td></tr>\n";
	else {
		foreach($users as $row) {
			if ($row->getTimeSinceLastPost($site->board) > 300)
				$prefix = sprintf("<span style=\"font-size: small; color: %s;\">", $colors[3]);
			else
				$prefix = sprintf("<span style=\"font-size: medium; color: %s;\">", $colors[3]);

			if ($row->getQRG())
				$qrg = "<br>\n(".$row->getQRG().")";
			else
				$qrg = "";

			if ($oddrow) {
				printf("<tr class=\"time\"><td>%s<b>%s</b></span>%s</td>",
					$prefix,
					$row->getTooltip($site->user, $site->board),
					$qrg
				);
			}
			else {
				printf("<td>%s<b>%s</b></span>%s</td></tr>\n",
					$prefix,
					$row->getTooltip($site->user, $site->board),
					$qrg
				);
			}

			$oddrow = !$oddrow;
		}

		if (!$oddrow)
			echo "<td></td></tr>\n";
	}
}

echo "<tr class=\"postform\"><td colspan=2>\n";
if ($site->board)
	echo "<b>Other groups hosted here:</b>\n";
else
	echo "<b>Please select a group to continue.</b>\n";
echo "</td></tr>\n";

$oddrow = True;
foreach ($site->boards as $board) {
	if ($oddrow)
		printf("<tr class=\"postform\"><td style=\"background: %s; color: %s;\"><a href=\"mobile.php?board=%s\"><b>%s</b></a></td>\n", $board->colors[0], $board->colors[1], $board->id, $board->shortname);
	else
		printf("<td style=\"background: %s; color: %s;\"><a href=\"mobile.php?board=%s\"><b>%s</b></a></td></tr>\n", $board->colors[0], $board->colors[1], $board->id, $board->shortname);
	$oddrow = !$oddrow;
}
if (!$oddrow)
	echo "<td></td></tr>\n";

echo "<tr class=\"time\"><td colspan=2 style=\"font-size: x-small;\">\n";
if ($dobeep)
	echo "<embed src=\"newmsg.swf\" bgcolor=\"#404040\" width=1 height=1 type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"></embed>\n";
$time_end = microtime(True);
$time = ($time_end - $site->time_start) * 1000;
printf("Processing took %s milliseconds", round($time, 3));
echo "<br>\nPHP code written by N8FQ\n</td></tr>\n</table>\n</body>\n</html>";
?>
