plugins\cleaner\cleaner.php

<?php
/* ====================
[BEGIN_COT_EXT]
Hooks=admin.home
[END_COT_EXT]
==================== */
 
/**
 * Will clean various things
 *
 * @package Cleaner
 * @copyright (c) Cotonti Team
 * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt
 */
 
defined('COT_CODE') or die('Wrong URL');
 
if ($cfg['plugin']['cleaner']['userprune'] > 0)
{
	$timeago = $sys['now'] - ($cfg['plugin']['cleaner']['userprune'] * 86400);
	$sqltmp1 = $db->query("SELECT user_id FROM $db_users WHERE user_maingrp = '2' AND user_lastlog = '0' AND user_regdate < $timeago");
 
	while ($row = $sqltmp1->fetch())
	{
		$db->delete($db_users, "user_id='".$row['user_id']."'");
		$db->delete($db_groups_users, "gru_userid='".$row['user_id']."'");
	}
	$sqltmp1->closeCursor();
 
	$db->delete($db_users, "user_maingrp = '2' AND user_lastlog = '0' AND user_regdate < $timeago");
	$deleted = $db->affectedRows;
 
	if ($deleted > 0)
	{
		cot_log("Cleaner plugin deleted ".$deleted." inactivated user account(s)", 'adm');
	}
}
 
if ($cfg['plugin']['cleaner']['logprune'] > 0)
{
	$timeago = $sys['now'] - ($cfg['plugin']['cleaner']['logprune'] * 86400);
	$db->delete($db_logger, "log_date < $timeago");
	if ($db->affectedRows > 0)
	{
		cot_log('Cleaner plugin deleted '.$db->affectedRows.' log entries older than '.$cfg['plugin']['cleaner']['logprune'].' days', 'adm');
	}
}
 
if ($cfg['plugin']['cleaner']['refprune'] > 0 && $cot_plugins['tools']['referers'])
{
	$timeago = $sys['now'] - ($cfg['plugin']['cleaner']['refprune'] * 86400);
	$db->delete($db_referers, "ref_date < $timeago");
	if ($db->affectedRows > 0)
	{
		cot_log('Cleaner plugin deleted '.$db->affectedRows.' referers entries older than '.$cfg['plugin']['cleaner']['refprune'].' days', 'adm');
	}
}
 
if (cot_module_active('pm'))
{
	require_once cot_incfile('pm', 'module');
	if ($cfg['plugin']['cleaner']['pmnotread'] > 0)
	{
		$timeago = $sys['now'] - ($cfg['plugin']['cleaner']['pmnotread'] * 86400);
		$sqltmp = $db->delete($db_pm, "pm_date < $timeago AND pm_tostate=0");
		if ($db->affectedRows > 0)
		{
			cot_log("Cleaner plugin deleted ".$db->affectedRows." PM not read since ".$cfg['plugin']['cleaner']['pmnotread']." days", 'adm');
		}
	}
 
	if ($cfg['plugin']['cleaner']['pmnotarchived'] > 0)
	{
		$timeago = $sys['now'] - ($cfg['plugin']['cleaner']['pmnotarchived'] * 86400);
		$sqltmp = $db->delete($db_pm, "pm_date < $timeago AND pm_tostate=1");
		if ($db->affectedRows > 0)
		{
			cot_log("Cleaner plugin deleted ".$db->affectedRows." PM not archived since ".$cfg['plugin']['cleaner']['pmnotarchived']." days", 'adm');
		}
	}
 
	if ($cfg['plugin']['cleaner']['pmold'] > 0)
	{
		$timeago = $sys['now'] - ($cfg['plugin']['cleaner']['pmold'] * 86400);
		$sqltmp = $db->delete($db_pm, "pm_date < $timeago");
 
		$deleted = $db->affectedRows;
		if ($deleted > 0)
		{
			cot_log("Cleaner plugin deleted ".$deleted." PM older than ".$cfg['plugin']['cleaner']['pmold']." days", 'adm');
		}
	}
}