| 1 |
<?php |
<?php |
| 2 |
// $Id: emaillog.module,v 1.3.2.3 2008/09/23 19:22:57 kbahey Exp $ |
// $Id: emaillog.module,v 1.3.2.4 2008/09/30 17:36:21 kbahey Exp $ |
| 3 |
|
|
| 4 |
// Copyright 2007 Khalid Baheyeldin http://2bits.com |
// Copyright 2007 Khalid Baheyeldin http://2bits.com |
| 5 |
|
|
| 37 |
'#title' => t('Email addresses for each severity level.'), |
'#title' => t('Email addresses for each severity level.'), |
| 38 |
'#description' => t('Enter an email address for each severity level. For example, you may want to get emergency and critical levels to your pager or mobile phone, while notice level messages can go to a regular email. If you leave the email address blank for a severity level, no email messages will be sent for that severity level.'), |
'#description' => t('Enter an email address for each severity level. For example, you may want to get emergency and critical levels to your pager or mobile phone, while notice level messages can go to a regular email. If you leave the email address blank for a severity level, no email messages will be sent for that severity level.'), |
| 39 |
); |
); |
| 40 |
foreach(emaillog_severity_list() as $severity => $description) { |
foreach (watchdog_severity_levels() as $severity => $description) { |
| 41 |
|
$description = drupal_ucfirst($description); |
| 42 |
$key = 'emaillog_' . $severity; |
$key = 'emaillog_' . $severity; |
| 43 |
$form['emaillog'][$key] = array( |
$form['emaillog'][$key] = array( |
| 44 |
'#type' => 'textfield', |
'#type' => 'textfield', |
| 51 |
return system_settings_form($form); |
return system_settings_form($form); |
| 52 |
} |
} |
| 53 |
|
|
|
function emaillog_severity_list() { |
|
|
return array( |
|
|
WATCHDOG_EMERG => t('Emergency'), |
|
|
WATCHDOG_ALERT => t('Alert'), |
|
|
WATCHDOG_CRITICAL => t('Critical'), |
|
|
WATCHDOG_ERROR => t('Error'), |
|
|
WATCHDOG_WARNING => t('Warning'), |
|
|
WATCHDOG_NOTICE => t('Notice'), |
|
|
WATCHDOG_INFO => t('Info'), |
|
|
WATCHDOG_DEBUG => t('Debug'), |
|
|
); |
|
|
} |
|
|
|
|
| 54 |
function emaillog_watchdog($log) { |
function emaillog_watchdog($log) { |
| 55 |
global $user; |
global $user; |
| 56 |
|
|
| 65 |
|
|
| 66 |
function emaillog_mail($key, &$message, $params) { |
function emaillog_mail($key, &$message, $params) { |
| 67 |
if ($key == 'alert') { |
if ($key == 'alert') { |
| 68 |
$severity_list = emaillog_severity_list(); |
$severity_levels = watchdog_severity_levels(); |
| 69 |
$message['subject']= t('[@site_name] @severity_desc: Alert from your web site', |
$message['subject']= t('[@site_name] @severity_desc: Alert from your web site', |
| 70 |
array( |
array( |
| 71 |
'@site_name' => variable_get('site_name', 'Drupal'), |
'@site_name' => variable_get('site_name', 'Drupal'), |
| 72 |
'@severity_desc' => $severity_list[$params['severity']], |
'@severity_desc' => drupal_ucfirst($severity_levels[$params['severity']]), |
| 73 |
)); |
)); |
| 74 |
$message['body'] = theme('emaillog_format', $params); |
$message['body'] = theme('emaillog_format', $params); |
| 75 |
} |
} |
| 86 |
function theme_emaillog_format($log_msg = array()) { |
function theme_emaillog_format($log_msg = array()) { |
| 87 |
global $base_url; |
global $base_url; |
| 88 |
|
|
| 89 |
$severity_list = emaillog_severity_list(); |
$severity_levels = watchdog_severity_levels(); |
| 90 |
|
|
| 91 |
$message = "\nSite: @base_url"; |
$message = "\nSite: @base_url"; |
| 92 |
$message .= "\nSeverity: (@severity) @severity_desc"; |
$message .= "\nSeverity: (@severity) @severity_desc"; |
| 110 |
$message = t($message, array( |
$message = t($message, array( |
| 111 |
'@base_url' => $base_url, |
'@base_url' => $base_url, |
| 112 |
'@severity' => $log_msg['severity'], |
'@severity' => $log_msg['severity'], |
| 113 |
'@severity_desc' => $severity_list[$log_msg['severity']], |
'@severity_desc' => drupal_ucfirst($severity_levels[$log_msg['severity']]), |
| 114 |
'@timestamp' => format_date($log_msg['timestamp']), |
'@timestamp' => format_date($log_msg['timestamp']), |
| 115 |
'@type' => $log_msg['type'], |
'@type' => $log_msg['type'], |
| 116 |
'@ip' => $log_msg['ip'], |
'@ip' => $log_msg['ip'], |