]> git.mxchange.org Git - friendica.git/blobdiff - mod/dfrn_notify.php
Merge remote branch 'upstream/master'
[friendica.git] / mod / dfrn_notify.php
index cd0f587535e0f060e956c6f2f88798d9b4ab958e..7231e8fd2917b26f98645e27dd12f4793a6f9337 100644 (file)
@@ -2,8 +2,6 @@
 
 require_once('simplepie/simplepie.inc');
 require_once('include/items.php');
-
-
 function dfrn_notify_post(&$a) {
 
        $dfrn_id      = ((x($_POST,'dfrn_id'))      ? notags(trim($_POST['dfrn_id']))   : '');
@@ -52,11 +50,17 @@ function dfrn_notify_post(&$a) {
        }
                 
 
-       $r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, 
-               `contact`.`pubkey` AS `cpubkey`, `contact`.`prvkey` AS `cprvkey`, `user`.* FROM `contact` 
-               LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` 
-               WHERE `contact`.`blocked` = 0 AND `contact`.`pending` = 0 
-               AND `user`.`nickname` = '%s' $sql_extra LIMIT 1",
+       $r = q("SELECT  `contact`.*, `contact`.`uid` AS `importer_uid`, 
+                                       `contact`.`pubkey` AS `cpubkey`, 
+                                       `contact`.`prvkey` AS `cprvkey`, 
+                                       `contact`.`thumb` AS `thumb`, 
+                                       `contact`.`url` as `url`,
+                                       `contact`.`name` as `senderName`,
+                                       `user`.* 
+                       FROM `contact` 
+                       LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` 
+                       WHERE `contact`.`blocked` = 0 AND `contact`.`pending` = 0 
+                               AND `user`.`nickname` = '%s' $sql_extra LIMIT 1",
                dbesc($a->argv[1])
        );
 
@@ -169,29 +173,63 @@ function dfrn_notify_post(&$a) {
                require_once('bbcode.php');
                if($importer['notify-flags'] & NOTIFY_MAIL) {
 
-                       $body = html_entity_decode(strip_tags(bbcode(stripslashes($msg['body']))),ENT_QUOTES,'UTF-8');
-
-                       if(function_exists('quoted_printable_encode'))
+//                     $body = html_entity_decode(strip_tags(bbcode(stripslashes(nl2br($msg['body'])))),ENT_QUOTES,'UTF-8');
+//                     $body = strip_tags(bbcode(stripslashes(nl2br($msg['body']))));
+                       
+                       /*if(function_exists('quoted_printable_encode'))
                                $body = quoted_printable_encode($body);
                        else
-                               $body = qp($body);
-
+                               $body = qp($body);*/
+
+                       //$msg['body'] = str_replace(array("\\r\\n", "\\r", "\\n"), "<br />", $msg['body']);
+                       //$msg['body'] = html_entity_decode(strip_tags(bbcode($msg['body'])));  
+                       $msg['mimeboundary']   =rand(0,9)."-"
+                               .rand(10000000000,9999999999)."-"
+                               .rand(10000000000,9999999999)."=:"
+                               .rand(10000,99999);
+
+                       $msg['notificationfromname']    = t('Administrator');
+                       $msg['notificationfromemail']   = t('noreply') . '@' . $a->get_hostname();                              
+                       $msg['headers'] =
+                               "From: {$msg['notificationfromname']} <{$msg['notificationfromemail']}>\n" . 
+                               "Reply-To: {$msg['notificationfromemail']}\n" .
+                               "MIME-Version: 1.0\n" .
+                               "Content-Type: multipart/alternative; boundary=\"{$msg['mimeboundary']}\"";
+
+
+                       $msg['textversion']
+                               = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r", "\\n"), "\n",$msg['body']))),ENT_QUOTES,'UTF-8'));
+                       //$TextMessage  = html_entity_decode(strip_tags(bbcode(str_replace(array("\\r\\n", "\\r", "\\n"), "\n",$msg['body']))));        ;
+                       $msg['htmlversion']     
+                               = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r", "\\n"), "<br />\n",$msg['body']))));
+                                                               
                        $tpl = load_view_file('view/mail_received_eml.tpl');                    
                        $email_tpl = replace_macros($tpl, array(
-                               '$sitename' => $a->config['sitename'],
-                               '$siteurl' =>  $a->get_baseurl(),
-                               '$username' => $importer['username'],
-                               '$email' => $importer['email'],
-                               '$from' => $msg['from-name'],
-                               '$title' => stripslashes($msg['title']),
-                               '$body' => $body
+                               '$siteName'             => $a->config['sitename'],
+                               '$siteurl'              => $a->get_baseurl(),
+                               '$username'             => $importer['username'],
+                               '$thumb'                => $importer['thumb'],
+                               '$email'                => $importer['email'],
+                               '$url'                  => $importer['url'],
+                               '$senderName'   => $importer['senderName'],
+                               '$from'                 => $msg['from-name'],
+                               '$title'                => stripslashes($msg['title']),
+                               '$textversion'  => $msg['textversion'],
+                               '$htmlversion'  => $msg['htmlversion'],
+                               '$mimeboundary' => $msg['mimeboundary'],
+                               '$hostname'             => $a->get_hostname()
                        ));
-
+                       
+                       logger("message headers: " . $msg['headers']);
+                       logger("message body: " . $mail_tpl);
+                       
+                       
                        $res = mail($importer['email'], t('New mail received at ') . $a->config['sitename'],
-                               $email_tpl, 'From: ' . t('Administrator') . '@' . $a->get_hostname() . "\r\n"
+                               $email_tpl, $msg['headers']
+                       /*              'From: ' . t('Administrator') . '@' . $a->get_hostname() . "\r\n"
                                        . 'MIME-Version: 1.0' . "\r\n"
-                                       . 'Content-type: text/plain; charset=UTF-8' . "\r\n" 
-                                       . 'Content-transfer-encoding: quoted-printable' . "\r\n"
+                                       . 'Content-type: text/html; charset=utf-8' . "\r\n" 
+                                       . 'Content-transfer-encoding: quoted-printable' . "\r\n" */
                        );
                }
                xml_status(0);
@@ -246,7 +284,7 @@ function dfrn_notify_post(&$a) {
                                                );
                                                if($item['last-child']) {
                                                        // ensure that last-child is set in case the comment that had it just got wiped.
-                                                       $q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ",
+                                                       q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ",
                                                                dbesc(datetime_convert()),
                                                                dbesc($item['parent-uri']),
                                                                intval($item['uid'])
@@ -391,8 +429,9 @@ function dfrn_notify_post(&$a) {
                                                intval($importer['importer_uid'])
                                        );
                                        if(count($myconv)) {
+                                               $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname'];
                                                foreach($myconv as $conv) {
-                                                       if(! link_compare($conv['author-link'],$importer['url']))
+                                                       if(! link_compare($conv['author-link'],$importer_url))
                                                                continue;
                                                        require_once('bbcode.php');
                                                        $from = stripslashes($datarray['author-name']);