Um einen freigeschalteten von einem noch nicht freigeschalteten Beitrag unterscheiden zu können verwendet man dies Stück Code:
# Der Reguläre Ausdruck
if ($id =~ /^MOD_/) {
# Splitten der ID falls notwendig
# Der split Befehl teilt hier die ID am Unterstrich in zwei Werte
# im Datensatz soll ja dann nur die ID stehen für den freigeschalteten Eintrag
($mod,$newid)= split(/_/,$id);
# Ausgabe der entsprechenden Hinweise für den Nutzer
$mod = "<font color=\"red\"><b>Dies ist ein Eintrag der nicht freigeschaltet ist!</b></font>";
} else {
$newid = $id;
$mod = "<font color=\"green\"><b>Dies ist ein Eintrag der bereits freigeschaltet ist!</b></font>";
}
Mittels entsprechender Formular oder Hidden Felder werden dann die Daten an die Routine gesendet die die freigeschalteten Daten speichert
<input type="hidden" name="id" value="$id">
<input type="hidden" name="newid" value="$newid">
<input type="hidden" name="url" value="$url">
<input type="hidden" name="datum" value="$datum">
<input type="hidden" name="email" value="$email">
Hier angekommen wird die Zeile in der Datei aktualisiert und anschließend das neue Array @new gespeichert.
open(DATEN, "<daten.dat") or scripterror("Fehler: Kann daten.dat nicht oeffnen!",$!);
flock(DATEN,2);
# While Schleife
while(<DATEN> ){
# splitten der Zeilen
(@resultate) =split(/\|/, $_);
# wenn Arrayeintrag 0 die entsprechende ID hat
if ($resultate[0] eq "$id"){
# dann mit push die Zeile aktualisieren
push(@new, "$newid|$url|$datum|$email\n");
# der Rest bleibt unverändert
} else {
push(@new,$_);
}
}
close(DATEN);
# und wird hier als komplett aktualisiertes Array in die Datei geschrieben
open(NEUEDATEN, ">daten.dat") or scripterror("Fehler: Kann daten.dat nicht oeffnen!",$!);
flock(NEUEDATEN,2);
print NEUEDATEN @new;
close(NEUEDATEN);
|