Samir, do you just want it to email users after being inactive for X ammount of days?
I wrote this up pretty quickly, so let me know how it works.
Add it to your scheduled tasks, and only have it run
once a day.
PHP Code:
<?php
// #############################################################################
// Email Inactive Users
// #############################################################################
error_reporting(E_ALL & ~E_NOTICE);
// Ensure Connection
if (!is_object($DB_site))
{
exit;
}
$days = 30;
$time = time();
$xdaysago = $time - ((86400 * ($days - 1));
$ydaysago = $time - (86400 * $days);
$users = $DB_site->query("
SELECT userid, username, lastactivity, email
FROM " . TABLE_PREFIX . "user
WHERE lastactivity < " . $xdaysago . " AND lastactivity > " . $ydaysago . "
");
while ($user = $DB_site->fetch_array($users))
{
$message = 'Hello ' . $user['username'] . ', ';
$message .= "We have noticed that you havn't visited our board in over " . $days . " days.\n";
$message .= "You may ignore this email, consider it a friendly reminder that you have ";
$message .= "registered at our board.\n";
$message .= "Thank you,\n";
$message .= $vboptions['bbtitle'] . "\n";
$message .= $vboptions['homeurl'];
vbmail($user['email'], 'Inactivity Notice', $message, true);
echo "Inactivity email successfully sent to " . $user['username'] . ".<br />";
}
?>