X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fenotify.php;h=f6f291e5d45be663ffa47523c997eb9652b681e3;hb=f4b1d335a571365748ee348ed2b8ac6e1c6670db;hp=3ff1596c9b553a71033cca8ef1d4c3e11da1e0c7;hpb=ed725df5f1c1ea2484c689283e93f8f825591384;p=friendica.git diff --git a/include/enotify.php b/include/enotify.php index 3ff1596c9b..f6f291e5d4 100644 --- a/include/enotify.php +++ b/include/enotify.php @@ -1,9 +1,8 @@ get_hostname(), + $sender_name = $product; + $sender_email = t('noreply') . '@' . $a->get_hostname(); - if($type === NOTIFICATION_MAIL) { - $new_email = sprintf( t('%s sent you a new private message at %s.'),$params['from'],$sitename); - $email_visit = t('Please visit %s to view and/or reply to your private messages.'); - $email_tlink = sprintf( $email_visit, $siteurl . '/message' ); - $email_hlink = sprintf( $email_visit, '' . $sitename . ''); + if(array_key_exists('item',$params)) { + $title = $params['item']['title']; + $body = $params['item']['body']; + } + else { + $title = $body = ''; } -} + if($params['type'] == NOTIFY_MAIL) { + + $subject = sprintf( t('New mail received at %s'),$sitename); + + $preamble = sprintf( t('%s sent you a new private message at %s.'),$params['source_name'],$sitename); + + $sitelink = t('Please visit %s to view and/or reply to your private messages.'); + $tsitelink = sprintf( $sitelink, $siteurl . '/message' ); + $hsitelink = sprintf( $sitelink, '' . $sitename . ''); + $itemlink = ''; + } + + if($params['type'] == NOTIFY_COMMENT) { + + $subject = sprintf( t('%s commented on an item at %s'), $params['source_name'], $sitename); + $preamble = sprintf( t('%s commented on an item/conversation you have been following.'), $params['source_name']); + $sitelink = t('Please visit %s to view and/or reply to the conversation.'); + $tsitelink = sprintf( $sitelink, $siteurl ); + $hsitelink = sprintf( $sitelink, '' . $sitename . ''); + $itemlink = $params['link']; + } + + if($params['type'] == NOTIFY_WALL) { + $preamble = $subject = sprintf( t('%s posted to your profile wall at %s') , $params['source_name'], $sitename); + + $sitelink = t('Please visit %s to view and/or reply to the conversation.'); + $tsitelink = sprintf( $sitelink, $siteurl ); + $hsitelink = sprintf( $sitelink, '' . $sitename . ''); + $itemlink = $params['link']; + } + + if($params['type'] == NOTIFY_INTRO) { + $subject = sprintf( t('Introduction received at %s'), $sitename); + $preamble = sprintf( t('You\'ve received an introduction from \'%s\' at %s'), $params['source_name'], $sitename); + $body = sprintf( t('You may visit their profile at %s'),$params['source_link']); + + $sitelink = t('Please visit %s to approve or reject the introduction.'); + $tsitelink = sprintf( $sitelink, $siteurl ); + $hsitelink = sprintf( $sitelink, '' . $sitename . ''); + $itemlink = $params['link']; + } + + if($params['type'] == NOTIFY_CONFIRM) { + } + + // TODO - create notification entry in DB + + + + // send email notification if notification preferences permit + + require_once('bbcode.php'); + if(intval($params['notify_flags']) & intval($params['type'])) { + + logger('notification: sending notification email'); + + push_lang($params['language']); + + $textversion = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r", "\\n"), "\n", + $body))),ENT_QUOTES,'UTF-8')); + $htmlversion = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), + "
\n",$body)))); + + // load the template for private message notifications + $tpl = get_markup_template('email_notify_html.tpl'); + $email_html_body = replace_macros($tpl,array( + '$banner' => $banner, + '$product' => $product, + '$preamble' => $preamble, + '$sitename' => $sitename, + '$siteurl' => $siteurl, + '$source_name' => $parama['source_name'], + '$source_link' => $params['source_link'], + '$source_photo' => $params['source_photo'], + '$username' => $params['to_name'], + '$hsitelink' => $hsitelink, + '$itemlink' => '' . $itemlink . '', + '$thanks' => $thanks, + '$site_admin' => $site_admin, + '$title' => stripslashes($title), + '$htmlversion' => $htmlversion, + )); + + // load the template for private message notifications + $tpl = get_markup_template('email_notify_text.tpl'); + $email_text_body = replace_macros($tpl,array( + '$banner' => $banner, + '$product' => $product, + '$preamble' => $preamble, + '$sitename' => $sitename, + '$siteurl' => $siteurl, + '$source_name' => $parama['source_name'], + '$source_link' => $params['source_link'], + '$source_photo' => $params['source_photo'], + '$username' => $params['to_name'], + '$tsitelink' => $tsitelink, + '$itemlink' => $itemlink, + '$thanks' => $thanks, + '$site_admin' => $site_admin, + '$title' => stripslashes($title), + '$textversion' => $textversion, + )); + +// logger('text: ' . $email_text_body); + + // use the EmailNotification library to send the message + + enotify::send(array( + 'fromName' => $sender_name, + 'fromEmail' => $sender_email, + 'replyTo' => $sender_email, + 'toEmail' => $params['to_email'], + 'messageSubject' => $subject, + 'htmlVersion' => $email_html_body, + 'textVersion' => $email_text_body + )); + pop_lang(); + } +} require_once('include/email.php'); @@ -41,9 +159,9 @@ class enotify { * @param textVersion text only version of the message */ static public function send($params) { + $fromName = email_header_encode($params['fromName'],'UTF-8'); - $messageSubject = email_header_encode(params['messageSubject'],'UTF-8'); - + $messageSubject = email_header_encode($params['messageSubject'],'UTF-8'); // generate a mime boundary $mimeBoundary =rand(0,9)."-" @@ -54,7 +172,7 @@ class enotify { // generate a multipart/alternative message header $messageHeader = "From: {$params['fromName']} <{$params['fromEmail']}>\n" . - "Reply-To: {$params['replyTo']}\n" . + "Reply-To: {$params['fromName']} <{$params['replyTo']}>\n" . "MIME-Version: 1.0\n" . "Content-Type: multipart/alternative; boundary=\"{$mimeBoundary}\""; @@ -74,12 +192,12 @@ class enotify { // send the message $res = mail( - $toEmail, // send to address - $messageSubject, // subject + $params['toEmail'], // send to address + $params['messageSubject'], // subject $multipartMessageBody, // message body $messageHeader // message headers ); - logger("sendTextHtmlEmail: returns " . $res, LOGGER_DEBUG); + logger("notification: enotify::send returns " . $res, LOGGER_DEBUG); } } ?> \ No newline at end of file