/** * NotifyAdmin * Notifies the administrator when a user has exceeded their quota * * @param Int $userid The userid the notification is for * @param Int $size_difference The number of emails the user has exceeded their limit by * @param Int $queuetime The time the queue was created at * @param String $langvar The langvar to use to describe which limit has been exceeded. This langvar is returned by the CheckUserStats/ReCheckuserStats functions. * @param Boolean $stopped_send Specify true if the send has been halted, false if the send is continuing * * @see Stats_API::ReCheckUserStats * @see Stats_API::CheckUserStats * * @return Void Returns nothing */ function NotifyAdmin($userid, $size_difference, $queuetime, $langvar, $stopped_send=false) { $user = GetUser($userid); $user_queuetime = AdjustTime($queuetime, false, GetLang('UserDateFormat')); require_once(IEM_PATH . '/ext/interspire_email/email.php'); $email_api = new Email_API(); $email_api->Set('Subject', GetLang('User_OverQuota_Subject')); $username = $user->Get('username'); if ($user->fullname) { $username = $user->fullname; $email_api->Set('FromName', $user->fullname); } else { $email_api->Set('FromName', GetLang('SendingSystem')); } if ($user->emailaddress) { $email_api->Set('FromAddress', $user->emailaddress); } else { $email_api->Set('FromAddress', GetLang('SendingSystem_From')); } $over_size = number_format($size_difference, 0, GetLang('NumberFormat_Dec'), GetLang('NumberFormat_Thousands')); $extra_mail = ''; if ($stopped_send) { $extra_mail = GetLang('User_OverQuota_StoppedSend'); } $message = sprintf(GetLang('User_OverQuota_Email'), $username, $user->Get('emailaddress'), $user_queuetime, GetLang('User_'.$langvar), $over_size, $extra_mail); $email_api->Set('Multipart', false); $email_api->AddBody('text', $message); $email_api->ClearAttachments(); $email_api->ClearRecipients(); $email_api->AddRecipient(SENDSTUDIO_EMAIL_ADDRESS, '', 't'); $email_api->Send(); $email_api->ForgetEmail(); // now send the user notification. $email_api->Set('Subject', GetLang('User_OverQuota_Subject')); $email_api->Set('FromName', ''); $email_api->Set('FromAddress', SENDSTUDIO_EMAIL_ADDRESS); $message = sprintf(GetLang('User_OverQuota_ToUser_Email'), $user_queuetime, GetLang('User_'.$langvar), $over_size, $extra_mail); $email_api->Set('Multipart', false); $email_api->AddBody('text', $message); $email_api->ClearAttachments(); $email_api->ClearRecipients(); $email_api->AddRecipient($user->emailaddress, '', 't'); $email_api->Send(); $email_api->ForgetEmail(); }