Seite 1 von 1
Pruning soll alte Beiträge sperren, nicht löschen
Verfasst: 15.02.2004 18:48
von Nico Haase
moin,
wie kann ich das pruning verändern, damit es alte beiträge sperrt statt sie zu löschen?
mfg
nico
Verfasst: 18.02.2004 11:23
von Acid
Vorher prune.php und die Tabellen "topics", "posts", "posts_text" sichern.
prune.php
++FINDE++
Code: Alles auswählen
$sql = "DELETE FROM " . TOPICS_TABLE . "
WHERE topic_id IN ($sql_topics)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete topics during prune', '', __LINE__, __FILE__, $sql);
}
++MIT FOLGENDEM ERSETZEN++
Code: Alles auswählen
$sql = "UPDATE ". TOPICS_TABLE ." SET topic_status = '1'
WHERE topic_id IN ($sql_topics)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete topics during prune', '', __LINE__, __FILE__, $sql);
}
/*
++FINDE++
++DARUNTER EINFÜGEN++
Ich hab´s jetzt nur mit dem normalen, manuellen Prunen getestet (automatisches Prunen war mir jetzt zu langwierig

). Sollte eigentlich funktionieren. Man könnte noch an der Ausgabe feilen und eventuell die Themen in ein anderes Forum verschieben.
Verfasst: 14.03.2004 10:39
von Nico Haase
Ich muss leider nochemal pushen

Mit einer einfachen Änderung des topic_status auf 1 wird gesperrt, richtig? Also könnte man mit
UPDATE {präfix}_topics SET topic_status = '1' WHERE {präfix}_topics.topic_last_post_id = {präfix}_posts.post_id AND {präfix}_posts.post_time < {Datum};
alle Beiträge sperren, die vor dem {Datum} geschrieben wurden...?
//edit: so gehts besser, da mit dem datum des letzten eintrags gerechnet wird