Peter 0 Report post Posted January 19, 2005 Hallo, kann man eigentlich einstellen, dass PN z.B. nach 30 Tagen automatisch gelöscht werden? Die fangen nämlich an irgendwann die Datenbank zu verstopfen... Share this post Link to post
Blackman 0 Report post Posted January 19, 2005 Kann man - ist theoretisch kein Problem, ein kleiner Aufruf der dann und wann gestartet wird mit: Lösche alle Pm's die älter als 30 Tage sind aber ... deine Member speichern sich die Pm's vielleicht nicht umsonst ? Noch dazu kannst du doch den maximalen Speicherplatz pro Member einstellen ... das ist vielleicht am einfachsten, und am fairsten ! Wenn jemand keinen Speicherplatz mehr hat, dann MUSS er was löschen, so easy Mächen wir's mal ganz einfach: Stell dir vor du darfst 50 nachrichten speichern ... hast aber erst 10 gespeichert. Eine davon, die hat dir die Board-Schlampe geschickt, vor genau 30 Tagen, das sie unbedingt mit dir mal in der Kirche pop*** will ... Und am nächsten Tag schaust du rein - und die PM ist weg ... Würdest du nicht auch gerne den Admin töten wollen ? Könnt ich verstehen BLACK Share this post Link to post
Peter 0 Report post Posted January 19, 2005 Es gibt aber Mitgliede, die vielleicht 2x im Jahr online sind. Die müssen nicht unbedingt 2 Jahre lang ihre PM aufbewahren. Share this post Link to post
Blackman 0 Report post Posted January 19, 2005 DELETE FROM ibf_messages as a, ibf_members as b WHERE b.last_visit < (UNIX_TIMESTAMP() - 15552000) AND a.recipient_id = b.id AND a.msg_date < (UNIX_TIMESTAMP() - 15552000) Dieses hier löscht alle Nachrichten die älter als 180 Tage sind, von Mitgliedern die länger als 180 Tage nicht da waren. Das ganze bringen wir nun noch in eine PHP-Variante: $DB->query("DELETE FROM ibf_messages as a, ibf_members as b WHERE b.last_visit < (UNIX_TIMESTAMP() - 15552000) AND a.recipient_id = b.id AND a.msg_date < (UNIX_TIMESTAMP() - 15552000)"); Nun bleibt die Frage was du damit machen willst ... Willst du es am ersten jeden Monats ausführen lassen ? Per Cronjob ? Als eigenständiges Script ? Im Foren-Programmcode ? Sporadisch per Eingabe im ACP ? Per Klick-Link im ACP ? BLACK PS: Und nochmal, nicht böse sein, aber ich würd sowas nicht machen, wenn du willst kannst du gerne mal mit SELECT COUNT(*) FROM ibf_messages as a, ibf_members as b WHERE b.last_visit < (UNIX_TIMESTAMP() - 15552000) AND a.recipient_id = b.id AND a.msg_date < (UNIX_TIMESTAMP() - 15552000) abfragen wie viele solcher Nachrichten du eigentlich hast ... Share this post Link to post
Peter 0 Report post Posted January 19, 2005 Könnte man das nicht als Task machen? Share this post Link to post
Blackman 0 Report post Posted January 19, 2005 Sorry, aber wie auch schon in meiner Signatur steht No support fpr IPB 2.0 Liegt daran das ich die Version nicht selbst habe, nur mal ganz kurz installiert hatte, aber nie wirklich in gebrauch hatte. Wenn jemand sich mit dem Task-System auskennt (wenn das sowas wie Cron-Jobs sind, dann gehts definitiv !) dann möge er bitte hier posten, und vielleicht gleich ne kurze Erklärung wie das Task-Sys im 2.0er arbeitet, für mich Danke, Stefan, ähhh, Andy ... Rigo ? Wer auch immer *G* BLACK Share this post Link to post
dodowitch 0 Report post Posted January 19, 2005 Eine davon, die hat dir die Board-Schlampe geschickt, vor genau 30 Tagen, das sie unbedingt mit dir mal in der Kirche pop*** will ... sorry das es off topic ist aber: LOL :lol: Share this post Link to post