* $Author:: $ *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2015 by Mailer Developer Team *
* For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
} // END - if
// Abort if autopurge is not active or disabled by admin
-if ((!isExtensionActive('autopurge')) || (!isAutoPurgingActive())) {
+if ((!isExtensionActive('autopurge')) || (!isAutoPurgingActive()) || (getConfig('ap_tasks_notify') == 'N')) {
// Abort here
- return false;
+ return FALSE;
} // END - if
// Check version (must be >= 0.1.9)
if ((isExtensionInstalledAndNewer('task', '0.1.9')) && (getConfig('autopurge_tasks') == 'Y')) {
- // Purge deleted tasks (no notification to admin)
- SQL_QUERY("DELETE LOW_PRIORITY
+ // Select all tasks that needs purging
+ $result = sqlQuery("SELECT
+ `id`,
+ `assigned_admin`,
+ `userid`,
+ `status`,
+ `task_type`,
+ `subject`,
+ `task_created`
FROM
`{?_MYSQL_PREFIX?}_task_system`
WHERE
`status`='DELETED' AND
(UNIX_TIMESTAMP() - `task_created`) >= {?ap_tasks_time?}", __FILE__, __LINE__);
- // Get deleted rows
- $deletedTasks = SQL_AFFECTEDROWS();
+ // Send out a notification?
+ if (!ifSqlHasZeroNumRows($result)) {
+ // Init output and load all rows
+ $output = ''; $ids = array();
+ while ($row = sqlFetchArray($result)) {
+ // "Translate" creation timestamp
+ $row['task_created'] = generateDateTime($row['task_created'], '1');
+
+ // Load row template
+ $output .= loadEmailTemplate('admin_purge_task_row', $row);
+
+ // Remember id number for deletion
+ array_push($ids, $row['id']);
+ } // END - while
+
+ // Init content array
+ $content = array(
+ 'count' => sqlNumRows($result),
+ 'rows' => $output
+ );
+
+ // Delete all tasks
+ sqlQuery('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_task_system` WHERE `id` IN (' . implode(', ', $ids) . ')', __FILE__, __LINE__);
- // Do we need to send a notification?
- if (($deletedTasks > 0) && (getConfig('ap_tasks_notify') == 'Y')) {
// Send out email to admin
- sendAdminNotification('{--ADMIN_AUTOPURGE_TASKS_SUBJECT--}', 'admin_autopurge_tsks', $deletedTasks);
+ sendAdminNotification('{--ADMIN_AUTOPURGE_TASKS_SUBJECT--}', 'admin_purge_task', $content);
} // END - if
+
+ // Free result
+ sqlFreeResult($result);
} // END - if
//