getPlayers());
/**
* @param String $filename
* @return array JSON data array.
*/
function toDataArray($filename)
{
return json_decode(file_get_contents($filename), true);
}
/**
* @param String $identifier
* @param array $snapshotData Snapshot data array.
* @return Snapshot
*/
function toSnapshot($identifier, $snapshotData)
{
$timezone = new DateTimeZone($snapshotData["timezone"]);
$players = toPlayers($snapshotData['usernames']);
$messages = toMessages($players, $snapshotData['snapshots'], $timezone);
$generated = parseDateTime($snapshotData["generated"], $timezone);
return new Snapshot($identifier, $messages, $players, $generated);
}
/**
* @param array $reportData
* @param Player[] $players
* @return Report
*/
function toReport($reportData, $players)
{
$id = $reportData["id"];
$serverName = $reportData["serverName"];
$suspect = getPlayer($players, $reportData["suspect"]);
$reporters = toReporters($players, $reportData["reporters"]);
return new Report($id, $serverName, $suspect, $reporters);
}
/**
* @param Player[] $players
* @param array $messagesData Messages data array.
* @param DateTimeZone $timezone
* @return Message[]
*/
function toMessages($players, $messagesData, $timezone)
{
$messages = array();
for ($i = 0; $i < count($messagesData); $i++)
{
$messages[$i] = getMessage($players, $messagesData[$i], $timezone);
}
return $messages;
}
/**
* @param Player[] $players
* @param array $messageData Message data array.
* @param DateTimeZone $timezone
* @return Message
*/
function getMessage($players, $messageData, $timezone)
{
$sender = getPlayer($players, $messageData['sender']);
$recipients = getPlayersFromUUIDs($players, $messageData['recipients']);
$dateTime = parseDateTime($messageData['time'], $timezone);
$type = Message::getTypeFromString($messageData['type']);
$message = $messageData['message'];
return new Message($sender, $recipients, $dateTime, $type, $message);
}
/**
* @param Player[] $players
* @param String[] $uuidArray the UUIDs of the players to fetch
* @return Player[]
*/
function getPlayersFromUUIDs($players, $uuidArray)
{
$matchedPlayers = array();
for ($i = 0; $i < count($uuidArray); $i++)
{
$matchedPlayers[$i] = getPlayer($players, $uuidArray[$i]);
}
return $matchedPlayers;
}
/**
* @param Player[] $playersArray
* @return Player[]
*/
function toPlayers($playersArray) // String UUID as Key
{
$players = array();
foreach ($playersArray as $uuid => $username)
{
$players[$uuid] = new Player($uuid, $username);
}
return $players;
}
/**
* @param $playersArray
* @param $reportersArray
* @return SplObjectStorage
*/
function toReporters($playersArray, $reportersArray)
{
$reporters = new SplObjectStorage();
foreach ($reportersArray as $reporterUUID => $reason)
{
$reporters[getPlayer($playersArray, $reporterUUID)] = $reason;
}
return $reporters;
}
/**
* @param Player[] $players
* @param String $uuid
* @return Player
*/
function getPlayer($players, $uuid)
{
$player = $players[$uuid];
if ($player != null)
{
return $player;
}
else
{
throw new RuntimeException('Player for UUID not found.');
}
}
/**
* @param String $dateTime
* @param DateTimeZone $timezone
* @return DateTime
*/
function parseDateTime($dateTime, $timezone)
{
global $jsonDateTimeFormat;
return DateTime::createFromFormat($jsonDateTimeFormat, $dateTime, $timezone);
}
/**
* @param String $input
* @return String
*/
function removeBadCharacters($input)
{
return preg_replace('/[^A-Za-z0-9_\-]/', '_', $input);
}
?>
Report #= $report->getId() ?> · Mineplex
Report #= $report->getId() ?>
Chat Log
getMessages();
foreach($messages as $message):
$typeId = $message->getType();
$typeDisplayName = Message::$TYPE_DISPLAY_NAMES[$typeId];
$isPM = strcmp($typeId, Message::TYPE_PM) == 0;
// If this is a PM, then the "-> " suffix will be applied.
$involved = $message->getSender()->getUsername() . ($isPM ? " -> " . $message->getRecipients()[0]->getUsername() : "");
?>
" style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;">= $typeDisplayName ?>
= $involved; ?>: = $message->getMessage(); ?>
Information
getTimeGenerated();
$date = $dateTime->format('n/j/y');
$time = $dateTime->format('g:i A');
$reporters = array();
foreach ($report->getReporters() as $reporter)
{
$reporters[count($reporters)] = $reporter->getUsername();
}
$reportersString = implode(", ", $reporters);
?>
= $date ?>
= $time ?>
Reported by = $reportersString ?>
Suspect is = $report->getSuspect()->getUsername() ?>
Staff Member assigned is TODO
Users
getPlayers() as $player): ?>
= $player->getUsername() ?> TODO
= $player->getUUID() ?>