<?php

#funktio irssilogista saatavan päivämäärän muuntamiseen, luo oma tarpeen mukaan
function luoFiksuAika($aika,$m) {
    
$aika explode(" ",$aika);
    
$kuu trim($aika[1]);
    
$kuu substr($kuu,0,3);
    
$pai trim($aika[2]);
    if (
$m=="open") {
        
$vuo trim($aika[4]);
    } else {
        
$vuo trim($aika[3]);
    }
    
$kuut = array("tam" => "01""hel" => "02""maa" => "03""huh" => "04""tou" => "05""kes" => "06""hei" => "07""elo" => "08""syy" => "09""lok" => "10""mar" => "11""jou" => "12");
    
$kuu $kuut[$kuu];
    return 
"$pai.$kuu.$vuo";
}

$logihakemisto "/polku/irssilogeihin/";
$logipaate "irssi.log";

#skriptinimi pois
array_shift($argv);

$mode array_shift($argv);
$chan str_replace("#","",strtolower(array_shift($argv)));

#kustomoi tämä mieleiseksesi
$tiedostonimi $logihakemisto $chan $logipaate;
if (!
file_exists($tiedostonimi)) {
    die(
"Logitiedostoa kanavalle $chan ei löydy.");
}

if (
$mode=="lastspoke") {
    
#lastspoke
    
$nick array_shift($argv);
    
exec("grep -i '$nick\|--- Log opened \|--- Day changed ' $tiedostonimi",$data);
    
$data array_slice(array_reverse($data),0,1000);
    
$kellonaika "";
    foreach (
$data as $row) {
        if (
$kellonaika == "" && (stripos($row,"< $nick>")!==false || stripos($row,"<+$nick>")!==false || stripos($row,"<@$nick>")!==false)) {
            
$kellonaika substr($row,0,8);
            
$viimesanat trim(substr($row,strpos($row,">")+1));
        }
        if (
$kellonaika != "") {
            
#voidaan etsiä päivämäärätietoa
            
if (strpos($row,"--- Log opened ")!==false) {
                
$viimeaika $row;
                
$viimeaika explode("--- Log opened ",$viimeaika);
                
$viimeaika luoFiksuAika($viimeaika[1],"open");
                break;
            }
            if (
strpos($row,"--- Day changed ")!==false) {
                
$viimeaika $row;
                
$viimeaika explode("--- Day changed ",$viimeaika);
                
$viimeaika luoFiksuAika($viimeaika[1],"day");
                break;
            }
        }
    }
    if (isset(
$viimeaika)) {
        echo 
"$nick on ollu viimeksi äänessä $viimeaika $kellonaika, jolloin hän tokaisi:§\"$viimesanat\"";
    } else {
        die(
"En muista koska $nick olisi puhunut.");
    }
}
if (
$mode=="search") {
    
#haku
    
$search array_shift($argv);
    if (
strlen($search)<3) {
        die(
"Pidempiä hakusanoja, kiitos!");
    }
    
exec("grep -i '$search$tiedostonimi",$data);
    if (
count($data)==0) {
        die(
"Hakusanalla '$search' ei löytynyt mitään :(");
    }
    
shuffle($data);
    foreach (
$data as $rivi) {
        if (
strpos($rivi,"<")!==false && strpos($rivi,">")!==false && stripos($rivi,"Topic ")===false) {
            break;
        }
    }
    
$rivi substr($rivi,8);
    echo 
$rivi;
}

?>