Per operazioni di questo genere, la creazione di un plugin o prodotto non è ideale, ma è sufficiente creare un'operazione pianificata (detto anche Task, cron o cronjob) per vBulletin e programmarla adeguatamente.
Prima di tutto, creiamo un file nominato cron_close_old_threads.php, o qualcosa del genere nella cartella [forumhome]/includes/cron/ del nostro forum e incolliamo il seguente codice:
Codice PHP:
<?php
/*============================================================================*\
|| ########################################################################## ||
|| # Auto Close Threads After N Days # ||
|| ########################################################################## ||
\*============================================================================*/
error_reporting(E_ALL & ~ E_NOTICE);
if(!is_object($vbulletin->db))
{
exit;
}
// Close incative threads
$N = 60;
$dateline = TIMENOW - $N * 86400;
$SQL = "UPDATE " . TABLE_PREFIX . "thread
SET open=0
WHERE open=1
AND lastpost<$dateline";
$vbulletin->db->query_write($SQL);
if($n = $vbulletin->db->affected_rows())
{
log_cron_action($n . ' Old Threads Closed.', $nextitem);
}
Ora è necessario recarsi nelle operazioni pianificate del forum, dall'ACP, Operazioni Pianificate, Aggiungi Nuova Operazione Pianificata:
e inserire il nuovo task:
Dopo il salvataggio, appare nella lista, pronto ad uso: