/**
* Print table of messages that were processed without success
* for the current user.
* @param string $action 'Release', 'Delete', ...
* @param string $content_type 'B', 'S', ...
* @param mixed $res array of message data
*/
function showFailedMessagesTable($action, $content_type, $res)
{
    global $link;
    ?>

	<table width="100%" border="0" cellspacing="0" cellpadding="1" align="center">
  	<tr>
		<!-- Print table title -->
			<td class="tableBorder">
				<table width="100%" border="0" cellspacing="1" cellpadding="0">
				<tr>
			<td colspan="5" class="tableTitle">
			<?php 
    if ($action == translate('Release') || $action == translate('Release/Request release')) {
        echo translate('A problem occured when trying to release the following messages');
    } elseif ($action == translate('Delete') || $action == translate('Delete All')) {
        echo translate('A problem occured when trying to delete the following messages');
    }
    ?>
			</td>
					<td class="tableTitle">
							<div align="right">
								<?php 
    $link->doLink('javascript: help(\'msg_index\');', '?', '', 'color: #FFFFFF;', translate('Help'));
    ?>
							</div>
					</td>
				</tr>
				</table>

		<!-- Print table headers -->
					<table width="100%" border="0" cellspacing="1" cellpadding="0">
					<tr class="rowHeaders">
							<td width="20%"><?php 
    echo translate('From');
    ?>
</td>
							<td width="30%"><?php 
    echo translate('Subject');
    ?>
</td>
							<td width="10%"><?php 
    echo translate('Date');
    ?>
</td>
			<?php 
    if ('S' == $content_type) {
        ?>
							<td width="10%"><?php 
        echo translate('Score');
        ?>
</td>
			<?php 
    }
    ?>
							<td width="30%"><?php 
    echo translate('Status');
    ?>
</td>
		</tr>

		<!-- Print table rows -->
		<?php 
    for ($i = 0; is_array($res) && $i < count($res); $i++) {
        $rs = $res[$i];
        $subject = $rs['subject'] ? $rs['subject'] : '(none)';
        $class = 'cellColor' . $i % 2;
        echo "<tr class=\"{$class}\" align=\"center\">" . ' <td>' . $rs['from_addr'] . '</td>' . ' <td>' . $subject . '</td>' . ' <td>' . CmnFns::formatDateTime($rs['time_num']) . '</td>';
        if ('S' == $content_type) {
            echo ' <td>' . $rs['spam_level'] . '</td>';
        }
        echo ' <td>' . $rs['status'] . '</td>';
        echo "</tr>\n";
    }
    ?>
		</table>
		</td>
	</tr>
	</table>	
<?php 
}
Beispiel #2
0
/**
* Function that sends:
* 	- an error report if $action = 'Release', 'Delete' or 'Delete All'
*	- an request if $action = 'Request release'
* to $conf['app']['adminEmail']
* @param string $action 'Release', 'Delete', 'Delete All', 'Request release'
* @param $messages_array array containing messages info
*/
function sendMailToAdmin($myaction, $messages_array)
{
    global $conf;
    $title = $conf['app']['title'];
    $adminEmail = $conf['app']['adminEmail'];
    $sub = "[" . $title . "] Notification from '" . $_SESSION['sessionID'] . "'";
    $msg = "Mail notification sent by '" . $_SESSION['sessionID'] . "' <" . $_SESSION['sessionMail'][0] . ">.\r\n\r\n";
    switch ($myaction) {
        case translate('Release'):
        case translate('Release/Request release'):
            $msg .= translate('A problem occured when trying to release the following messages') . ":\r\n\r\n";
            break;
        case translate('Request release'):
            $msg .= translate('Please release the following messages') . ":\r\n\r\n";
            break;
        case translate('Delete'):
        case translate('Delete All'):
            $msg .= translate('A problem occured when trying to delete the following messages') . ":\r\n\r\n";
            break;
        default:
            CmnFns::do_error_box(translate('Unknown action type'), '');
    }
    for ($i = 0; is_array($messages_array) && $i < count($messages_array); $i++) {
        $rs = $messages_array[$i];
        $msg .= "Message #" . ($i + 1) . ":\r\n";
        $msg .= "\tmail_id = " . $rs['mail_id'] . "\r\n";
        $msg .= "\t" . translate('From') . " = " . $rs['from_addr'] . "\r\n";
        $msg .= "\t" . translate('Subject') . " = " . $rs['subject'] . "\r\n";
        $msg .= "\t" . translate('Date') . " = " . CmnFns::formatDateTime($rs['time_num']) . "\r\n";
        $msg .= "\t" . translate('Score') . " = " . $rs['spam_level'] . "\r\n";
        $msg .= "\t" . translate('Status') . " = " . $rs['status'] . "\r\n";
        $msg .= "\t" . translate('Content Type') . " = " . $rs['content'] . "\r\n\r\n";
    }
    // Send email
    $mailer = new PHPMailer();
    if (is_array($adminEmail)) {
        foreach ($adminEmail as $email) {
            $mailer->AddAddress($email, '');
        }
    } else {
        $mailer->AddAddress($adminEmail, '');
    }
    $mailer->FromName = $_SESSION['sessionID'];
    $mailer->From = $_SESSION['sessionMail'][0];
    $mailer->Subject = $sub;
    $mailer->Body = $msg;
    $mailer->Send();
    return true;
}