} else { $MSIMAP->log('Message flagged for deletion after loop has finished'); $MSIMAP->flagMessage($mailbox, $i); } } } } else { if (!empty($filters['matches'])) { $MSIMAP->log('Message will be deleted because skip filter matches were found. Admin > Imap Spam Filter > Skip Filters. Details to follow.'); $MSIMAP->log(implode('{nl}', $filters['matches'])); $MSIMAP->flagMessage($mailbox, $i); } } } // Close mailbox..closes mailbox and removes messages marked for deletion.. $MSIMAP->closeMailbox($mailbox); if ($count > 0) { if ($IMDT->im_move) { $MSIMAP->log('Mailbox closed'); } else { $MSIMAP->log('Mailbox closed and tickets purged'); } } // Time calculations.. $memory = function_exists('memory_get_usage') ? round(memory_get_usage() / 1048576, 2) . 'MB' : 'Unknown'; $peak = function_exists('memory_get_peak_usage') ? round(memory_get_peak_usage() / 1048576, 2) . 'MB' : 'Unknown'; $duration = round($MSDT->microtimeFloat() - $time_start, 2) . ' seconds'; // Is cron output required.. $done = str_replace(array('{datetime}', '{count}', '{count2}', '{count3}', '{count4}', '{count_msg}', '{memory}', '{peak}', '{duration}', '{count5}', '{count6}'), array($MSDT->mswDateTimeDisplay(0, $SETTINGS->dateformat) . ' @ ' . $MSDT->mswDateTimeDisplay(0, $SETTINGS->timeformat), @number_format($pipes[1]), @number_format($pipes[2]), @number_format($pipes[3]), @number_format($pipes[4]), @number_format($pipes[0]), $memory, $peak, $duration, @number_format($pipes[5]), @number_format($pipes[6])), $msg_piping8); echo $done; $MSIMAP->log('Operation completed. Information: {nl}{nl}' . str_replace('<br>', mswDefineNewline(), $done));