本文整理汇总了PHP中NotificationMail::AddAttachment方法的典型用法代码示例。如果您正苦于以下问题:PHP NotificationMail::AddAttachment方法的具体用法?PHP NotificationMail::AddAttachment怎么用?PHP NotificationMail::AddAttachment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NotificationMail
的用法示例。
在下文中一共展示了NotificationMail::AddAttachment方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validateSendTo
/**
* Override standard validation and sending notification to send the good PDF reports with
* appropriate rigths.
*
* @see NotificationTarget::validateSendTo()
*
* @param string $event notification event
* @param Array $infos Current user informations
* @param Boolean $notify_me Notify the current user of his own actions ?
*
* @return boolean false to prevent standard mail sending
*/
function validateSendTo($event, array $infos, $notify_me = false)
{
global $DB;
if (isset($infos['users_id'])) {
// save session variables
$saved_session = $_SESSION;
// Get current user full informations
$user = new User();
$user->getFromDB($infos['users_id']);
// inialize session for user to build the proper PDF report
unset($_SESSION['glpiprofiles'], $_SESSION['glpiactiveentities'], $_SESSION['glpiactiveprofile']);
Session::initEntityProfiles($infos['users_id']);
// Use default profile if exist
if (isset($_SESSION['glpiprofiles'][$user->fields['profiles_id']])) {
Session::changeProfile($user->fields['profiles_id']);
// Else use first
} else {
Session::changeProfile(key($_SESSION['glpiprofiles']));
}
$user_name = $infos['username'] . '_';
$file_name = $this->_buildPDF($user_name);
$path = GLPI_PLUGIN_DOC_DIR . '/mreporting/notifications/' . $file_name;
$mmail = new NotificationMail();
$mmail->AddCustomHeader("Auto-Submitted: auto-generated");
// For exchange
$mmail->AddCustomHeader("X-Auto-Response-Suppress: OOF, DR, NDR, RN, NRN");
// Get current entity administrator info to send the email from him
$admin = $this->getSender();
$mmail->From = $admin['email'];
$mmail->FromName = $admin['name'];
// Attach pdf to mail
$mmail->AddAttachment($path, $file_name);
// Get content infos
$query = 'SELECT *
FROM glpi_notificationtemplatetranslations
WHERE notificationtemplates_id = (
SELECT id
FROM glpi_notificationtemplates
WHERE itemtype = "PluginMreportingNotification"
)
AND (language LIKE "' . $_SESSION['glpilanguage'] . '" OR language LIKE "")
ORDER BY language DESC
LIMIT 0, 1';
$result = $DB->query($query);
$translation = $result->fetch_array();
$mmail->isHTML(true);
$mmail->Subject = $translation['subject'];
$mmail->Body = $translation['content_html'];
$mmail->AltBody = $translation['content_text'];
$mmail->AddAddress($infos['email']);
if ($mmail->Send()) {
}
//restore session
unset($_SESSION);
$_SESSION = $saved_session;
}
return false;
}