Hi,
danke erstmal für Deine großartige Idee für das Modul und die Umsetzung !
Habe es auch auf unserer EC-Jugend Seite installiert.
Allerdings haben mich die Links in dem Modul gestört. Des weiteren konnte ich spürbare Geschwindigkeitsdefizite auf unserer Seite feststellen , seit dem das Modul installiert ist. Das liegt natürlich an den ständigen Requests an die losung.de-Seite, sowie auf der HP ein Link geklickt wird .
Eine Art "caching" für jeweils einen Tag würde da definitiv Sinn machen, hab' ich mir da gedacht und es so implementiert. Das erhöht die Ladegeschwindigkeit auf der eigenen Seite und schont den Traffic der Losung.de Seite.
Der neue Code der mod_losung.php sieht dann bei mir so aus :
Code:
<?php
$loslang =trim($params->get('Language'));
$losfile = "cache/lostemp";
function ReWriteLosFile($losfile) { //Funktion zum Neuschreiben des Tages-Losungs-Cache-Files
$loslocation = 'http://www.losung.de/cgi-bin/today.pl?lang=de&inline=2';
$OpenFile = fopen($loslocation, "r");
if ($OpenFile != false)
{
$get = "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"10\" border=\"0\"><tr><td>";
$get .= fread($OpenFile, 22000);
fclose($OpenFile);
$get = str_replace("<BR>"," ", $get);
while (eregi('<a',$get)) //paser um links zu erkennen
{
$pos1 = strpos($get,'<a');
if ($pos1 == false) $pos1 = strpos($get,'<A');
$pos2 = strpos($get,"</a>");
if ($pos2 == false) $pos2 = strpos($get,"</A>");
$get = substr_replace($get,'',$pos1,$pos2-$pos1+5); //und zu löschen
}
$get .= "</td></tr></table>";
$handle = fopen($losfile,"w");
if (!fwrite($handle, $get)) {
print "Kann in die Datei $filename nicht schreiben";
}
fclose($handle);
}
else $get = "Dienst zur Zeit nicht möglich";
return $get;
}
if (file_exists($losfile))
{
$temp = filemtime( $losfile ) ;
$datefile = date("Ymd", $temp);
$datenow = date("Ymd");
if ($datefile == $datenow) //Losung aktuell (von heute)
{
//echo "Ausm File-Cache *YEAH*";
$handle = fopen($losfile,"r");
$get = fread($handle,filesize ($losfile));
fclose($handle);
}
else //Losung nicht mehr aktuell
{
//echo "aktuallisiert";
$get = ReWriteLosFile($losfile);
}
}
else $get = ReWriteLosFile($losfile);
echo $get;
?>
Mfg Jeremias Müller
Lesezeichen