25 'SUBSCRIPTION_PURCHASE_INDL',
26 'SUBSCRIPTION_PURCHASE_INSTL',
27 'SUBSCRIPTION_RENEW_INDL',
28 'SUBSCRIPTION_RENEW_INSTL'
31 if (!in_array($mailTemplateKey, $validKeys))
return false;
33 $journal = $request->getJournal();
35 $subscriptionContactName = $journal->getData(
'subscriptionName');
36 $subscriptionContactEmail = $journal->getData(
'subscriptionEmail');
38 if (empty($subscriptionContactEmail)) {
39 $subscriptionContactEmail = $journal->getData(
'contactEmail');
40 $subscriptionContactName = $journal->getData(
'contactName');
43 if (empty($subscriptionContactEmail))
return false;
46 $user = $userDao->getById($subscription->getUserId());
49 $subscriptionType = $subscriptionTypeDao->getById($subscription->getTypeId(), $journal->getId());
52 'subscriptionType' => $subscriptionType->getSummaryString(),
53 'userDetails' => $user->getContactSignature(),
54 'membership' => $subscription->getMembership()
57 switch($mailTemplateKey) {
58 case 'SUBSCRIPTION_PURCHASE_INDL':
59 case 'SUBSCRIPTION_RENEW_INDL':
60 $paramArray[
'subscriptionUrl'] = $request->url($journal->getPath(),
'payments',
null,
null,
null,
'individual');
62 case 'SUBSCRIPTION_PURCHASE_INSTL':
63 case 'SUBSCRIPTION_RENEW_INSTL':
64 $paramArray[
'subscriptionUrl'] = $request->url($journal->getPath(),
'payments',
null,
null,
null,
'institutional');
65 $paramArray[
'institutionName'] = $subscription->getInstitutionName();
66 $paramArray[
'institutionMailingAddress'] = $subscription->getInstitutionMailingAddress();
67 $paramArray[
'domain'] = $subscription->getDomain();
68 $paramArray[
'ipRanges'] = $subscription->getIPRangesString();
72 import(
'lib.pkp.classes.mail.MailTemplate');
74 $mail->setReplyTo($subscriptionContactEmail, $subscriptionContactName);
75 $mail->addRecipient($subscriptionContactEmail, $subscriptionContactName);
76 $mail->setSubject($mail->getSubject($journal->getPrimaryLocale()));
77 $mail->setBody($mail->getBody($journal->getPrimaryLocale()));
78 $mail->assignParams($paramArray);
80 import(
'classes.notification.NotificationManager');
82 $notificationMgr->createTrivialNotification($request->getUser()->getId(), NOTIFICATION_TYPE_ERROR, array(
'contents' => __(
'email.compose.error')));