anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 12:36

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So 27 Apr, 2008 16:54 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
Ich hab seit einiger Zeit das Cache-File System von Eliwood eingebaut welches die account-Tabelle der Datenbank um das Textfeld output erleichtert (noch mal vielen Dank an Eliwood für diesen Hack und auch an Rikkarda dafür dass sie ihn hier vorgestellt hat) und ich war es irgendwann leid die Cachefiles längst gelöschter User von Hand zu entfernnen. Aus diesem Grund ist der Cachecleaner enstanden.
Der Einbau macht natürlich nur sinn wenn bei euch ebenfalls die Spieleroutputs nach Eli's System in Dateinen ausgelagert werden und gestaltet sich äußerst simpel. Einfach in der superuser.php verlinken.

$this->bbcode_second_pass_code('', '<?php

/*****************************************************************
* *
* Cache-Files löschen *
* für alle die das Cache-File-System von Eliwood nutzen *
* Idee und Programmierung von Linus für alvion-logd.de/logd/ *
* im Dezember 2007 *
* *
******************************************************************/

require_once "common.php";
isnewday(2);

page_header("Überflüssige Cache-Files löschen");

function analysis1(){
$i=0;
foreach(glob("cache/*.txt") as $filename){
$cachefile[$i]['0']=substr($filename,7,strlen($filename)-11);
$cachefile[$i]['1']=0;
$i++;
}
return $cachefile;
}

function analysis2(){
$i=0;
$sql="SELECT `acctid` FROM `accounts`";
$result=db_query($sql);
while ($row = db_fetch_assoc($result)) {
$accts[$i]=(int)$row['acctid'];
$i++;
}
return $accts;
}

$out="`bHier kannst du unnütze Cache-Files löschen.`b`n`n";
switch($_GET['op']){
case "":
addnav("Cache-Analyse","cache_cleaner.php?op=analyse");
break;

case "deleteall":
$cachefile=array();
$cachefile=analysis1();
extract($cachefile);

$accts=array();
$accts=analysis2();
extract($accts);

$i=0;
foreach($cachefile as $key => $value){
if(!in_array((int)$value['0'],$accts)){
$file="cache/c".$value['0'].".txt";
unlink($file);
$i++;
}
}
$out.="$i Cache-Files gelöscht!`n`n";
addnav("Zurück");
addnav("Zurück","cache_cleaner.php");
break;

case "analyse":
if(isset($_GET['acctid'])){
$file="cache/c".$_GET['acctid'].".txt";
unlink($file);
}

$i=0;
$cachefile=array();
$cachefile=analysis1();
extract($cachefile);
$anzahl_cache=count($cachefile);

$accts=array();
$accts=analysis2();
extract($accts);
$anzahl_accts=count($accts);

$fehl=0;
$gut=0;
$i=0;

foreach($cachefile as $key => $value){
if(in_array((int)$value['0'],$accts)){
$cachefile[$i]['1']=1;
$gut++;
} else {
$fehl++;
}
$i++;
}

$out.="Anzahl Cache-Files gesamt: ".$anzahl_cache."`nCache-Files von existierenden Spielern: ".$gut."`nCache-Files von gelöschten Spielern: ".$fehl."`n`n";
$out.="<table><tr><th colspan='2'`^`bCache-Files von gelöschten Spielern:`b</th></tr>";
$out.="<form action='cache_cleaner.php?op=analyse&act=del' method='POST'>";
for($i=0;$i<$anzahl_cache;$i++){
if($cachefile[$i]['1']==0){
$out.="<tr><td>{$cachefile[$i]['0']}</td>";
$out.="<td><a href='cache_cleaner.php?op=analyse&act=del&acctid={$cachefile[$i]['0']}'>Löschen</a></td></tr>";
addnav("","cache_cleaner.php?op=analyse&act=del&acctid={$cachefile[$i]['0']}");
}
}

if($fehl!=0){
addnav("Alle löschen");
addnav("Aufräumen","cache_cleaner.php?op=deleteall");
} else {
$out.="<tr><td>Es gibt zur Zeit keine unnützen Cache-Files!</td></tr>";
}
$out.="</table>";
addnav("Zurück");
addnav("Zurück","cache_cleaner.php");

break;
}

$out.="<div align='center'><a href=http://www.alvion-logd.de/logd/ target='_blank'>&copy;`^ von Linus im Dezember 2007`0</a></div>";
output($out,true);

addnav("G?Zurück zur Grotte","superuser.php");
addnav("W?Zurück zum Weltlichen","village.php");

page_footer();
?>')

viel Spass damit
Linus


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 27 Sep, 2008 09:57 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 16 Jul, 2005 22:40
Beiträge: 693
Wohnort: /var/server/home/castle
Geschlecht: Männlich
LoGD: http://www.kokoto.de/
Skype: Apfelschokowodkakekskuchen
hey ^^

habe mir gaerade das cache system eingebaut, minimiert die accs tabelle ja sehr schön :)

aber wollte fragen zum editor, kann man das nich irgendwie noch in die funktion von logd einbauen wenn gelöscht wird? also das es das file mit löscht?

mfg Tidus ^^


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 27 Sep, 2008 18:52 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
Tidus hat geschrieben:
aber wollte fragen zum editor, kann man das nich irgendwie noch in die funktion von logd einbauen wenn gelöscht wird? also das es das file mit löscht?


Die Funktion in LoGD gibt es wohl nicht. Ich denke eher du meinst ob man das nicht automatisieren kann? Klar, kein Problem! Du musst nur darauf achten das an allen Stellen bei denen ein account gelöscht werden kann auch die entsprechende Cache-Datei gelöscht wird. setnewday.php, User-Editor oder über die Einstellungen des Spielers (wenn dort der Löschbutton frei gegeben ist).


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 28 Sep, 2008 10:47 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 16 Jul, 2005 22:40
Beiträge: 693
Wohnort: /var/server/home/castle
Geschlecht: Männlich
LoGD: http://www.kokoto.de/
Skype: Apfelschokowodkakekskuchen
ja das meinte ich :) aber ich steig durch den code nicht so durch :o aber ich bekomms bestimmt irgendwie hin ^^ dachte nur falls du das schon umgesetzt hättest, dann hätte ich da nicht pfuschen müssen *Fg ^^


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 28 Sep, 2008 21:51 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
Hab ich nicht so umgesetzt, und ich denke auch nicht das ich mich daran machen werde. Die toten Cache-Dateien nehmen nicht wirklich viel Platz weg und die Performance beeinflussen sie gar nicht. Mir reicht's durchaus die mal hin und wieder mit zwei Klicks in der Grotte löschen zu können. ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 24 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum