Masterphil
02.01.2010, 18:36
Hallo an alle, gerade eben war mein Mailfach wieder mal total überfüllt, weil die User die wegen Inaktivität gesperrt wurden auch die Paidmails aktiviert bekommen haben.
Diesen Job übernimmt bei mir db_optimize 2.1.
Heute nun habe ich mir den Cron mal angeschaut, jedoch finde ich dort nicht die Stelle wo eine solche Einstellung gemacht wird.
<?
// VMS-Addon: db_optimize v2.1
// COPYRIGHT BY - SEBASTIAN HOINKES -
// Weitergabe nur unveraendert erlaubt!
//
// Cron zum optimieren aller Tabellen der Datenbank, welche sich in der
// Datenbank befinden, die loeschung unnoetiger und abgelaufener IP-Sperren,
// die Bereinigung der User-Datenbank (sperren inaktiver User), loeschen ungueltiger
// und abgelaufenen Paidmails und deren Eintraege, sowie leeren der Buchungs-Tabelle.
// Am NAchfolgenden Abschnitt ggf. Einstellungen vornehmen
$buchlimit = '20'; // Buchungen welche aelter als XX Tage sind, aus Datenbank loeschen.
$inaktivlimit = '180'; // Wenn User laenger als XX Tage inaktiv ist, wird er mit Hinweis gesperrt (Wengier als 10 Tage nicht möglich!).
$sperrhinweis = 'Account wegen Inaktivität gesperrt! Bitte per PN über Klamm an mich (14781) wenden!'; // Sperrhinweis bei Inaktivitaets-Sperrung!
// Die Funktionsdatei einbinden
@require_once ('../../../../lib/functions.lib.php');
// Zur Datenbank verbinden
db_connect();
// Ungueltige Reload-Sperren loeschen
db_query ("DELETE FROM ´vms_reloads´ WHERE bis <= ".(time()));
// Tabellenanzahl und IDs auslesen
$result = mysql_list_tables($db_base);
$menge = mysql_num_rows($result);
for($x=0;$x<$menge;$x++){
// Tabellennamen holen
$table_name = mysql_tablename($result,$x);
// Tabelle optimieren
db_query ("OPTIMIZE TABLE `".$table_name."`");
}
// Zeit setzen
db_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Datenbank optimieren'");
// User, welche ueber 30 Tage inaktiv, sperren mit Hinweis
if($inaktivlimit < 10) { $inaktivlimit = 10; }
db_query ("UPDATE ".$db_prefix."_kontodaten SET status = 2, hinweis = '".$sperrhinweis."' WHERE last_active < ".(time()-($inaktivlimit*86400))." AND last_active > 0");
// Buchungen loeschen aud DB, wenn diese aelter als xx Tage sind
db_query ("DELETE FROM ".$db_prefix."_buchungen WHERE buchungszeit < ".(time()-($buchlimit*86400)));
// Alle ungueltigen Paidmails und deren Eintraege loeschen
db_query ("DELETE FROM ".$db_prefix."_paidmails_empfaenger WHERE gueltig < ".time());
db_query ("DELETE FROM ".$db_prefix."_paidmails_versendet WHERE gueltig < ".time());
db_close();
die('Cron erfolgreich gelaufen!');
?>
Vielleicht hatte schon jemand das gleiche Problem und kann mir evtl helfen.
MfG
Diesen Job übernimmt bei mir db_optimize 2.1.
Heute nun habe ich mir den Cron mal angeschaut, jedoch finde ich dort nicht die Stelle wo eine solche Einstellung gemacht wird.
<?
// VMS-Addon: db_optimize v2.1
// COPYRIGHT BY - SEBASTIAN HOINKES -
// Weitergabe nur unveraendert erlaubt!
//
// Cron zum optimieren aller Tabellen der Datenbank, welche sich in der
// Datenbank befinden, die loeschung unnoetiger und abgelaufener IP-Sperren,
// die Bereinigung der User-Datenbank (sperren inaktiver User), loeschen ungueltiger
// und abgelaufenen Paidmails und deren Eintraege, sowie leeren der Buchungs-Tabelle.
// Am NAchfolgenden Abschnitt ggf. Einstellungen vornehmen
$buchlimit = '20'; // Buchungen welche aelter als XX Tage sind, aus Datenbank loeschen.
$inaktivlimit = '180'; // Wenn User laenger als XX Tage inaktiv ist, wird er mit Hinweis gesperrt (Wengier als 10 Tage nicht möglich!).
$sperrhinweis = 'Account wegen Inaktivität gesperrt! Bitte per PN über Klamm an mich (14781) wenden!'; // Sperrhinweis bei Inaktivitaets-Sperrung!
// Die Funktionsdatei einbinden
@require_once ('../../../../lib/functions.lib.php');
// Zur Datenbank verbinden
db_connect();
// Ungueltige Reload-Sperren loeschen
db_query ("DELETE FROM ´vms_reloads´ WHERE bis <= ".(time()));
// Tabellenanzahl und IDs auslesen
$result = mysql_list_tables($db_base);
$menge = mysql_num_rows($result);
for($x=0;$x<$menge;$x++){
// Tabellennamen holen
$table_name = mysql_tablename($result,$x);
// Tabelle optimieren
db_query ("OPTIMIZE TABLE `".$table_name."`");
}
// Zeit setzen
db_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Datenbank optimieren'");
// User, welche ueber 30 Tage inaktiv, sperren mit Hinweis
if($inaktivlimit < 10) { $inaktivlimit = 10; }
db_query ("UPDATE ".$db_prefix."_kontodaten SET status = 2, hinweis = '".$sperrhinweis."' WHERE last_active < ".(time()-($inaktivlimit*86400))." AND last_active > 0");
// Buchungen loeschen aud DB, wenn diese aelter als xx Tage sind
db_query ("DELETE FROM ".$db_prefix."_buchungen WHERE buchungszeit < ".(time()-($buchlimit*86400)));
// Alle ungueltigen Paidmails und deren Eintraege loeschen
db_query ("DELETE FROM ".$db_prefix."_paidmails_empfaenger WHERE gueltig < ".time());
db_query ("DELETE FROM ".$db_prefix."_paidmails_versendet WHERE gueltig < ".time());
db_close();
die('Cron erfolgreich gelaufen!');
?>
Vielleicht hatte schon jemand das gleiche Problem und kann mir evtl helfen.
MfG