From 65d91d24f06d8c731fdb0afa4f492f9d238c2d8a Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Fri, 05 Jul 2013 07:03:24 -0400
Subject: [PATCH] - changed the way mails for traffic and quota notification are generated - added german translation
---
server/cron_daily.php | 229 +++++++++++++++++++++++++++++++++-----------------------
1 files changed, 135 insertions(+), 94 deletions(-)
diff --git a/server/cron_daily.php b/server/cron_daily.php
index bd8e63d..837e6a1 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -695,29 +695,38 @@
$lines = file($conf['rootpath'].'/conf/mail/web_traffic_notification_en.txt');
}
- //* Get subject
- $parts = explode(':',trim($lines[0]));
- unset($parts[0]);
- $traffic_mail_subject = implode(':',$parts);
- unset($lines[0]);
-
- //* Get message
- $traffic_mail_message = trim(implode($lines));
- unset($tmp);
-
+ //* 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(':', $line[$l], 2);
+ if(strtolower($parts[0]) == 'subject') $mailSubject = trim($parts[1]);
+ unset($parts);
+ $mailHeaders .= $lines[$l] . "\n";
+ } else {
+ $mailBody .= $lines[$l] . "\n";
+ }
+ }
+ $mailBody = trim($mailBody);
+
+ $placeholders = array('{domain}' => $rec['domain'],
+ '{admin_mail}' => $global_config['admin_mail']);
+
//* Replace placeholders
- $traffic_mail_message = str_replace('{domain}',$rec['domain'],$traffic_mail_message);
-
- $mailHeaders = "MIME-Version: 1.0" . "\n";
- $mailHeaders .= "Content-type: text/plain; charset=utf-8" . "\n";
- $mailHeaders .= "Content-Transfer-Encoding: 8bit" . "\n";
- $mailHeaders .= "From: ". $global_config['admin_mail'] . "\n";
- $mailHeaders .= "Reply-To: ". $global_config['admin_mail'] . "\n";
- $mailSubject = "=?utf-8?B?".base64_encode($traffic_mail_subject)."?=";
+ $mailHeaders = strtr($mailHeaders, $placeholders);
+ $mailSubject = strtr($mailSubject, $placeholders);
+ $mailBody = strtr($mailBody, $placeholders);
//* send email to admin
if($global_config['admin_mail'] != '' && $web_config['overtraffic_notify_admin'] == 'y') {
- mail($global_config['admin_mail'], $mailSubject, $traffic_mail_message, $mailHeaders);
+ mail($global_config['admin_mail'], $mailSubject, $mailBody, $mailHeaders);
}
//* Send email to client
@@ -725,10 +734,13 @@
$client_group_id = $rec["sys_groupid"];
$client = $app->db->queryOneRecord("SELECT client.email FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
if($client['email'] != '') {
- mail($client['email'], $mailSubject, $traffic_mail_message, $mailHeaders);
+ mail($client['email'], $mailSubject, $mailBody, $mailHeaders);
}
}
-
+ unset($mailSubject);
+ unset($mailHeaders);
+ unset($mailBody);
+ unset($lines);
}
@@ -831,43 +843,58 @@
$lines = file($conf['rootpath'].'/conf/mail/web_quota_notification_en.txt');
}
- //* Get subject
- $parts = explode(':',trim($lines[0]));
- unset($parts[0]);
- $quota_mail_subject = implode(':',$parts);
- unset($lines[0]);
-
- //* Get message
- $quota_mail_message = trim(implode($lines));
- unset($tmp);
-
- //* Replace placeholders
- $quota_mail_message = str_replace('{domain}',$rec['domain'],$quota_mail_message);
- $quota_mail_message = str_replace('{used}',$rec['used'],$quota_mail_message);
- $quota_mail_message = str_replace('{soft}',$rec['soft'],$quota_mail_message);
- $quota_mail_message = str_replace('{hard}',$rec['hard'],$quota_mail_message);
- $quota_mail_message = str_replace('{ratio}',$rec['ratio'],$quota_mail_message);
-
- $mailHeaders = "MIME-Version: 1.0" . "\n";
- $mailHeaders .= "Content-type: text/plain; charset=utf-8" . "\n";
- $mailHeaders .= "Content-Transfer-Encoding: 8bit" . "\n";
- $mailHeaders .= "From: ". $global_config['admin_mail'] . "\n";
- $mailHeaders .= "Reply-To: ". $global_config['admin_mail'] . "\n";
- $mailSubject = "=?utf-8?B?".base64_encode($quota_mail_subject)."?=";
- //* send email to admin
- if($global_config['admin_mail'] != '' && $web_config['overquota_notify_admin'] == 'y') {
- mail($global_config['admin_mail'], $mailSubject, $quota_mail_message, $mailHeaders);
- }
-
- //* Send email to client
- if($web_config['overquota_notify_client'] == 'y') {
- $client_group_id = $rec["sys_groupid"];
- $client = $app->db->queryOneRecord("SELECT client.email FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
- if($client['email'] != '') {
- mail($client['email'], $mailSubject, $quota_mail_message, $mailHeaders);
- }
- }
+ //* 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(':', $line[$l], 2);
+ if(strtolower($parts[0]) == 'subject') $mailSubject = trim($parts[1]);
+ unset($parts);
+ $mailHeaders .= $lines[$l] . "\n";
+ } else {
+ $mailBody .= $lines[$l] . "\n";
+ }
+ }
+ $mailBody = trim($mailBody);
+
+ $placeholders = array('{domain}' => $rec['domain'],
+ '{admin_mail}' => $global_config['admin_mail'],
+ '{used}' => $rec['used'],
+ '{soft}' => $rec['soft'],
+ '{hard}' => $rec['hard'],
+ '{ratio}' => $rec['ratio']);
+
+ //* Replace placeholders
+ $mailHeaders = strtr($mailHeaders, $placeholders);
+ $mailSubject = strtr($mailSubject, $placeholders);
+ $mailBody = strtr($mailBody, $placeholders);
+
+ //* send email to admin
+ if($global_config['admin_mail'] != '' && $web_config['overquota_notify_admin'] == 'y') {
+ mail($global_config['admin_mail'], $mailSubject, $mailBody, $mailHeaders);
+ }
+
+ //* Send email to client
+ if($web_config['overquota_notify_client'] == 'y') {
+ $client_group_id = $rec["sys_groupid"];
+ $client = $app->db->queryOneRecord("SELECT client.email FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ if($client['email'] != '') {
+ mail($client['email'], $mailSubject, $mailBody, $mailHeaders);
+ }
+ }
+
+ unset($mailSubject);
+ unset($mailHeaders);
+ unset($mailBody);
+ unset($lines);
}
}
}
@@ -938,43 +965,57 @@
$lines = file($conf['rootpath'].'/conf/mail/mail_quota_notification_en.txt');
}
- //* Get subject
- $parts = explode(':',trim($lines[0]));
- unset($parts[0]);
- $mailquota_mail_subject = implode(':',$parts);
- unset($lines[0]);
-
- //* Get message
- $mailquota_mail_message = trim(implode($lines));
- unset($tmp);
-
- //* Replace placeholders
- $mailquota_mail_message = str_replace('{email}',$rec['email'],$mailquota_mail_message);
- $mailquota_mail_message = str_replace('{name}',$rec['name'],$mailquota_mail_message);
- $mailquota_mail_message = str_replace('{used}',$rec['used'],$mailquota_mail_message);
- $mailquota_mail_message = str_replace('{quota}',$rec['quota'],$mailquota_mail_message);
- $mailquota_mail_message = str_replace('{ratio}',$rec['ratio'],$mailquota_mail_message);
-
- $mailHeaders = "MIME-Version: 1.0" . "\n";
- $mailHeaders .= "Content-type: text/plain; charset=utf-8" . "\n";
- $mailHeaders .= "Content-Transfer-Encoding: 8bit" . "\n";
- $mailHeaders .= "From: ". $global_config['admin_mail'] . "\n";
- $mailHeaders .= "Reply-To: ". $global_config['admin_mail'] . "\n";
- $mailSubject = "=?utf-8?B?".base64_encode($mailquota_mail_subject)."?=";
-
- //* send email to admin
- if($global_config['admin_mail'] != '' && $mail_config['overquota_notify_admin'] == 'y') {
- mail($global_config['admin_mail'], $mailSubject, $mailquota_mail_message, $mailHeaders);
- }
-
- //* Send email to client
- if($mail_config['overquota_notify_client'] == 'y') {
- $client_group_id = $rec["sys_groupid"];
- $client = $app->db->queryOneRecord("SELECT client.email FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
- if($client['email'] != '') {
- mail($client['email'], $mailSubject, $mailquota_mail_message, $mailHeaders);
- }
- }
+ //* 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(':', $line[$l], 2);
+ if(strtolower($parts[0]) == 'subject') $mailSubject = trim($parts[1]);
+ unset($parts);
+ $mailHeaders .= $lines[$l] . "\n";
+ } else {
+ $mailBody .= $lines[$l] . "\n";
+ }
+ }
+ $mailBody = trim($mailBody);
+
+ $placeholders = array('{email}' => $rec['email'],
+ '{admin_mail}' => $global_config['admin_mail'],
+ '{used}' => $rec['used'],
+ '{name}' => $rec['name'],
+ '{quota}' => $rec['quota'],
+ '{ratio}' => $rec['ratio']);
+
+ //* Replace placeholders
+ $mailHeaders = strtr($mailHeaders, $placeholders);
+ $mailSubject = strtr($mailSubject, $placeholders);
+ $mailBody = strtr($mailBody, $placeholders);
+
+ //* send email to admin
+ if($global_config['admin_mail'] != '' && $web_config['overquota_notify_admin'] == 'y') {
+ mail($global_config['admin_mail'], $mailSubject, $mailBody, $mailHeaders);
+ }
+
+ //* Send email to client
+ if($web_config['overquota_notify_client'] == 'y') {
+ $client_group_id = $rec["sys_groupid"];
+ $client = $app->db->queryOneRecord("SELECT client.email FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+ if($client['email'] != '') {
+ mail($client['email'], $mailSubject, $mailBody, $mailHeaders);
+ }
+ }
+
+ unset($mailSubject);
+ unset($mailHeaders);
+ unset($mailBody);
+ unset($lines);
}
}
}
--
Gitblit v1.9.1