File : logs.php
Last modification : 2015-01-17 22:51:15
Source :
<?php
$color = array(1 => "FFFF|F99F", 2 => "FF4F|F44F", 3 => "97FF|BBFF", 4 => "FCCF|9EEF", 5 => "BE9F|4F4F", 6 => "", 7 => "F80F");
if (isset($_COOKIE['color']) && count($_COOKIE['color']))
{
foreach($_COOKIE['color'] as $id => $col)
{
if (trim($col)) $color[$id] = trim($col);
}
}
if (isset($_COOKIE['nom'])) $nom = trim($_COOKIE['nom']);
if ($_POST["log"])
{
header("Content-type: text/plain; charset=UTF-8");
setcookie("nom", trim($_POST['nom']), time()+60*60*24*365);
if (isset($_POST['color']) && count($_POST['color']))
{
foreach($_POST['color'] as $id => $col)
{
setcookie("color[$id]", trim($col), time()+60*60*24*365);
$color[$id] = trim($col);
}
}
$modes = '';
if (isset($_POST['modes']) && count($_POST['modes']))
{
foreach($_POST['modes'] as $id => $mode)
{
if ($modes) $modes .= '|';
$modes .= $color[$id];
}
}
$log = str_replace(array("’", "\r"), array("'", ""), stripslashes($_POST["log"]));
if (isset($_POST['nom']) && $_POST['nom']) $log = str_replace(array("Vous dites", "Vous criez", "You say", "You shout"), array($_POST['nom']." dit", $_POST['nom']." crie", $_POST['nom']." dit", $_POST['nom']." crie"), $log);
$log = str_replace(array(" says :", " shout :"), array(" dit :", " crie :"), $log);
if ($_POST["full"])
{
$log = preg_replace(array("`DBG [ 0-9a-z]+ client_ryzom_rd.exe net_manager.cpp [0-9]+ : <impulseChat> Received CHAT :`", "` with category sys`"), array("*", ""), $log);
}
$rows = explode("\n", $log);
if (count($rows)) foreach($rows as $row)
{
if (preg_match("`[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} \* @\{(CC3F|EE3F)\}(.+): @\{($modes)\}(.+)`", $row, $regs))
{
if (!isset($_POST['hrp']) || (isset($_POST['hrp']) && $_POST['hrp'] && substr($regs[4], 1, 1) != '(')) print trim($regs[2])." : ".trim($regs[4])."\n";
}
else if (preg_match("`[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} \* @\{[0-9A-F]{4}\}(.+): @\{[0-9A-F]{4}\}(.+)`", $row, $regs))
{
}
else if (preg_match("`[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} \* (.+) : (.+)`", $row, $regs))
{
if (!isset($_POST['hrp']) || (isset($_POST['hrp']) && $_POST['hrp'] && substr($regs[2], 0, 1) != '(')) print $regs[1]." : ".$regs[2]."\n";
}
else if (preg_match("`[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} \* \"`", $row, $regs))
{
}
else if (preg_match("`[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} \* (.+)`", $row, $regs))
{
// if (substr($regs[1], -1, 1) != "." && substr($regs[1], -1, 1) != " " && !isset($_POST['emotes'])) print $regs[1]."\n";
if (!isset($_POST['emotes'])) print $regs[1]."\n";
}
else if (!preg_match("`[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} (INF|WRN|DBG)`", $row, $regs))
{
print $row."\n";
}
}
}
else
{
header("Content-type: text/html; charset=UTF-8");
?>
<html>
<p>
Ce script accepte uniquement les logs obtenus avec la commande /chatLog et permet de filtrer les dialogues que vous désirez conserver ainsi que enlever les informations superflues. Vous pouvez choisir ce que vous souhaitez garder. Si vous voulez remplacer "Vous" par le nom de votre personnage, vous pouvez l'indiquer dans la case correspondante et enfin vous pouvez retirer tous les propos HRP.<br />
Les codes de couleur utilisés sont ceux par défaut, pour utiliser des couleurs personnalisées, vous pouvez soit ajouter un | suivi de la couleur ou mettre juste la couleur pour ce channel.
Vos préférences seront enregistrées dans des cookies.
</p>
<form action="logs.php" method="post">
<textarea rows="20" cols="100" name="log"></textarea><br />
Garder uniquement :<br />
<input type="checkbox" name="modes[1]" value="1" checked="checked" /> Alentours <input type="text" name="color[1]" value="<?=$color[1]?>"><br />
<input type="checkbox" name="modes[2]" value="1" checked="checked" /> Cris alentours <input type="text" name="color[2]" value="<?=$color[2]?>"><br />
<input type="checkbox" name="modes[3]" value="1" checked="checked" /> Equipe <input type="text" name="color[3]" value="<?=$color[3]?>"><br />
<input type="checkbox" name="modes[4]" value="1" checked="checked" /> Région <input type="text" name="color[4]" value="<?=$color[4]?>"><br />
<input type="checkbox" name="modes[5]" value="1" checked="checked" /> Guilde <input type="text" name="color[5]" value="<?=$color[5]?>"><br />
<input type="checkbox" name="modes[6]" value="1" checked="checked" /> Faction <input type="text" name="color[6]" value="<?=$color[6]?>"><br />
<input type="checkbox" name="modes[7]" value="1" checked="checked" /> Univers <input type="text" name="color[7]" value="<?=$color[7]?>"><br />
Nom de votre perso : <input type="text" name="nom" value="<?=$nom?>" /><br />
<input type="checkbox" name="hrp" value="1" checked="checked" /> Supprimer les propos HRP (entre parenthèses)<br />
<input type="checkbox" name="emotes" value="1" /> Supprimer les emotes<br />
<input type="checkbox" name="full" value="1" /> Fichier log.log ou client.log<br />
<input type="submit" value="Valider" />
</form>
</html>
<?php
}
?>
<p><i><a href="logs_src.php"><?php print _("Scripts source"); ?></a></i></p>
© 1993-<?php print date("Y"); ?> <a href="http://kervala.net">Kervala</a>
File : logs_src.php
Last modification : 2014-05-14 09:34:38
Source :
<?php
print "<"."?xml version=\"1.0\" encoding=\"UTF-8\"?".">\n";
print "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n";
print "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr\">\n";
print "<head><title>Logs sources by Kervala</title></head>\n";
print "<body>\n";
$files = array("logs.php", "logs_src.php");
function display_src($file)
{
print "<p>\n";
print "<b>File :</b> <a href=\"$file\">$file</a><br/>\n";
print "<b>Last modification :</b> ".date("Y-m-d H:i:s", filemtime($file))."<br/>\n";
print "<b>Source :</b></p>\n";
print "<div style=\"font-size: 12px;\">\n";
highlight_string(file_get_contents($file));
print "</div>\n";
}
if (count($files) && $files) foreach($files as $file) display_src($file);
print "</body>\n";
print "</html>\n";
?>