File : logs.php
Last modification : 2015-01-17 22:51:15
Source :

<?php

$color 
= array(=> "FFFF|F99F"=> "FF4F|F44F"=> "97FF|BBFF"=> "FCCF|9EEF"=> "BE9F|4F4F"=> ""=> "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("&#8217;""\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], 11) != '(')) 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], 01) != '(')) 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&nbsp;<input type="text" name="color[1]" value="<?=$color[1]?>"><br />
<input type="checkbox" name="modes[2]" value="1" checked="checked" /> Cris alentours&nbsp;<input type="text" name="color[2]" value="<?=$color[2]?>"><br />
<input type="checkbox" name="modes[3]" value="1" checked="checked" /> Equipe&nbsp;<input type="text" name="color[3]" value="<?=$color[3]?>"><br />
<input type="checkbox" name="modes[4]" value="1" checked="checked" /> Région&nbsp;<input type="text" name="color[4]" value="<?=$color[4]?>"><br />
<input type="checkbox" name="modes[5]" value="1" checked="checked" /> Guilde&nbsp;<input type="text" name="color[5]" value="<?=$color[5]?>"><br />
<input type="checkbox" name="modes[6]" value="1" checked="checked" /> Faction&nbsp;<input type="text" name="color[6]" value="<?=$color[6]?>"><br />
<input type="checkbox" name="modes[7]" value="1" checked="checked" /> Univers&nbsp;<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>

&copy; 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 $filedisplay_src($file);

print 
"</body>\n";
print 
"</html>\n";

?>