From a204303e5099dcb88e5e4760a09e7de9a96c4ea3 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Fri, 17 Oct 2014 08:05:51 -0400
Subject: [PATCH] moved "function send_notification_email" from 300-quota_notify.inc.php to monitor_tools.inc.php
---
server/lib/classes/monitor_tools.inc.php | 53 +++++++++++++++++
server/lib/classes/cron.d/300-quota_notify.inc.php | 72 ++---------------------
2 files changed, 60 insertions(+), 65 deletions(-)
diff --git a/server/lib/classes/cron.d/300-quota_notify.inc.php b/server/lib/classes/cron.d/300-quota_notify.inc.php
index a60f774..f18394c 100644
--- a/server/lib/classes/cron.d/300-quota_notify.inc.php
+++ b/server/lib/classes/cron.d/300-quota_notify.inc.php
@@ -50,64 +50,6 @@
public function onRunJob() {
global $app, $conf;
- //########
- // function for sending notification emails
- //########
- function send_notification_email($template, $placeholders, $recipients) {
- global $conf;
-
- if(!is_array($recipients) || count($recipients) < 1) return false;
- if(!is_array($placeholders)) $placeholders = array();
-
- if(file_exists($conf['rootpath'].'/conf-custom/mail/' . $template . '_'.$conf['language'].'.txt')) {
- $lines = file($conf['rootpath'].'/conf-custom/mail/' . $template . '_'.$conf['language'].'.txt');
- } elseif(file_exists($conf['rootpath'].'/conf-custom/mail/' . $template . '_en.txt')) {
- $lines = file($conf['rootpath'].'/conf-custom/mail/' . $template . '_en.txt');
- } elseif(file_exists($conf['rootpath'].'/conf/mail/' . $template . '_'.$conf['language'].'.txt')) {
- $lines = file($conf['rootpath'].'/conf/mail/' . $template . '_'.$conf['language'].'.txt');
- } else {
- $lines = file($conf['rootpath'].'/conf/mail/' . $template . '_en.txt');
- }
-
- //* get mail headers, subject and body
- $mailHeaders = '';
- $mailBody = '';
- $mailSubject = '';
- $inHeader = true;
- for($l = 0; $l < count($lines); $l++) {
- if($lines[$l] == '') {
- $inHeader = false;
- continue;
- }
- if($inHeader == true) {
- $parts = explode(':', $lines[$l], 2);
- if(strtolower($parts[0]) == 'subject') $mailSubject = trim($parts[1]);
- unset($parts);
- $mailHeaders .= trim($lines[$l]) . "\n";
- } else {
- $mailBody .= trim($lines[$l]) . "\n";
- }
- }
- $mailBody = trim($mailBody);
-
- //* Replace placeholders
- $mailHeaders = strtr($mailHeaders, $placeholders);
- $mailSubject = strtr($mailSubject, $placeholders);
- $mailBody = strtr($mailBody, $placeholders);
-
- for($r = 0; $r < count($recipients); $r++) {
- mail($recipients[$r], $mailSubject, $mailBody, $mailHeaders);
- }
-
- unset($mailSubject);
- unset($mailHeaders);
- unset($mailBody);
- unset($lines);
-
- return true;
- }
-
-
//######################################################################################################
// enforce traffic quota (run only on the "master-server")
//######################################################################################################
@@ -170,7 +112,7 @@
}
}
- send_notification_email('web_traffic_notification', $placeholders, $recipients);
+ $this->_tools->send_notification_email('web_traffic_notification', $placeholders, $recipients);
}
} else {
@@ -290,7 +232,7 @@
$recipients[] = $client['email'];
}
}
- send_notification_email('web_quota_ok_notification', $placeholders, $recipients);
+ $this->_tools->send_notification_email('web_quota_ok_notification', $placeholders, $recipients);
}
} else {
@@ -325,7 +267,7 @@
$recipients[] = $client['email'];
}
}
- send_notification_email('web_quota_notification', $placeholders, $recipients);
+ $this->_tools->send_notification_email('web_quota_notification', $placeholders, $recipients);
}
}
}
@@ -419,7 +361,7 @@
}
}
- send_notification_email('mail_quota_ok_notification', $placeholders, $recipients);
+ $this->_tools->send_notification_email('mail_quota_ok_notification', $placeholders, $recipients);
}
} else {
@@ -454,7 +396,7 @@
}
}
- send_notification_email('mail_quota_notification', $placeholders, $recipients);
+ $this->_tools->send_notification_email('mail_quota_notification', $placeholders, $recipients);
}
}
}
@@ -534,7 +476,7 @@
if($web_config['overquota_db_notify_client'] == 'y' && $client['email'] != '')
$recipients[] = $client['email'];
- send_notification_email('db_quota_ok_notification', $placeholders, $recipients);
+ $this->_tools->send_notification_email('db_quota_ok_notification', $placeholders, $recipients);
}
@@ -566,7 +508,7 @@
if($web_config['overquota_db_notify_client'] == 'y' && $client['email'] != '')
$recipients[] = $client['email'];
- send_notification_email('db_quota_notification', $placeholders, $recipients);
+ $this->_tools->send_notification_email('db_quota_notification', $placeholders, $recipients);
}
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index d754097..98a8c3f 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -656,6 +656,59 @@
$app->dbmaster->query($sql);
}
+ public function send_notification_email($template, $placeholders, $recipients) {
+ global $conf;
+
+ if(!is_array($recipients) || count($recipients) < 1) return false;
+ if(!is_array($placeholders)) $placeholders = array();
+
+ if(file_exists($conf['rootpath'].'/conf-custom/mail/' . $template . '_'.$conf['language'].'.txt')) {
+ $lines = file($conf['rootpath'].'/conf-custom/mail/' . $template . '_'.$conf['language'].'.txt');
+ } elseif(file_exists($conf['rootpath'].'/conf-custom/mail/' . $template . '_en.txt')) {
+ $lines = file($conf['rootpath'].'/conf-custom/mail/' . $template . '_en.txt');
+ } elseif(file_exists($conf['rootpath'].'/conf/mail/' . $template . '_'.$conf['language'].'.txt')) {
+ $lines = file($conf['rootpath'].'/conf/mail/' . $template . '_'.$conf['language'].'.txt');
+ } else {
+ $lines = file($conf['rootpath'].'/conf/mail/' . $template . '_en.txt');
+ }
+
+ //* get mail headers, subject and body
+ $mailHeaders = '';
+ $mailBody = '';
+ $mailSubject = '';
+ $inHeader = true;
+ for($l = 0; $l < count($lines); $l++) {
+ if($lines[$l] == '') {
+ $inHeader = false;
+ continue;
+ }
+ if($inHeader == true) {
+ $parts = explode(':', $lines[$l], 2);
+ if(strtolower($parts[0]) == 'subject') $mailSubject = trim($parts[1]);
+ unset($parts);
+ $mailHeaders .= trim($lines[$l]) . "\n";
+ } else {
+ $mailBody .= trim($lines[$l]) . "\n";
+ }
+ }
+ $mailBody = trim($mailBody);
+
+ //* Replace placeholders
+ $mailHeaders = strtr($mailHeaders, $placeholders);
+ $mailSubject = strtr($mailSubject, $placeholders);
+ $mailBody = strtr($mailBody, $placeholders);
+
+ for($r = 0; $r < count($recipients); $r++) {
+ mail($recipients[$r], $mailSubject, $mailBody, $mailHeaders);
+ }
+
+ unset($mailSubject);
+ unset($mailHeaders);
+ unset($mailBody);
+ unset($lines);
+
+ return true;
+ }
}
--
Gitblit v1.9.1