| | |
| | | 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") |
| | | //###################################################################################################### |
| | |
| | | } |
| | | } |
| | | |
| | | send_notification_email('web_traffic_notification', $placeholders, $recipients); |
| | | $this->_tools->send_notification_email('web_traffic_notification', $placeholders, $recipients); |
| | | } |
| | | |
| | | } else { |
| | |
| | | $recipients[] = $client['email']; |
| | | } |
| | | } |
| | | send_notification_email('web_quota_ok_notification', $placeholders, $recipients); |
| | | $this->_tools->send_notification_email('web_quota_ok_notification', $placeholders, $recipients); |
| | | } |
| | | } else { |
| | | |
| | |
| | | $recipients[] = $client['email']; |
| | | } |
| | | } |
| | | send_notification_email('web_quota_notification', $placeholders, $recipients); |
| | | $this->_tools->send_notification_email('web_quota_notification', $placeholders, $recipients); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | send_notification_email('mail_quota_ok_notification', $placeholders, $recipients); |
| | | $this->_tools->send_notification_email('mail_quota_ok_notification', $placeholders, $recipients); |
| | | } |
| | | } else { |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | send_notification_email('mail_quota_notification', $placeholders, $recipients); |
| | | $this->_tools->send_notification_email('mail_quota_notification', $placeholders, $recipients); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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); |
| | | |
| | | } |
| | | |
| | |
| | | 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); |
| | | |
| | | } |
| | | |