]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote branch 'upstream/master'
authorMichael <icarus@dabo.de>
Sun, 26 Feb 2012 20:47:47 +0000 (21:47 +0100)
committerMichael <icarus@dabo.de>
Sun, 26 Feb 2012 20:47:47 +0000 (21:47 +0100)
1  2 
include/delivery.php
include/notifier.php

diff --combined include/delivery.php
index 97a76965a7b6c187e6a4d6753728275be5bc00b6,cbf602a0b487f5745407eb754c24b4478252d619..c1ff07bd5438226b6b63a18e7327172e8329dff6
@@@ -1,7 -1,6 +1,7 @@@
  <?php
  require_once("boot.php");
  require_once('include/queue_fn.php');
 +require_once('include/html2plain.php');
  
  function delivery_run($argv, $argc){
        global $a, $db;
@@@ -9,7 -8,7 +9,7 @@@
        if(is_null($a)){
                $a = new App;
        }
 -  
 +
        if(is_null($db)) {
                @include(".htconfig.php");
                require_once("dba.php");
  
                                if($normal_mode) {
                                        if($item_id == $item['id'] || $item['id'] == $item['parent'])
-                                               $atom .= atom_entry($item,'text',$item_contact,$owner,true);
+                                               $atom .= atom_entry($item,'text',null,$owner,true);
                                }
                                else
-                                       $atom .= atom_entry($item,'text',$item_contact,$owner,true);
+                                       $atom .= atom_entry($item,'text',null,$owner,true);
  
                        }
  
                                        $sql_extra = sprintf(" AND `dfrn-id` = '%s' ", dbesc($contact['issued-id']));
                                else
                                        $sql_extra = sprintf(" AND `issued-id` = '%s' ", dbesc($contact['dfrn-id']));
 -                                      
 +
                                $x = q("SELECT  `contact`.*, `contact`.`uid` AS `importer_uid`, 
                                        `contact`.`pubkey` AS `cpubkey`, 
                                        `contact`.`prvkey` AS `cprvkey`, 
                                        require_once('library/simplepie/simplepie.inc');
                                        logger('mod-delivery: local delivery');
                                        local_delivery($x[0],$atom);
 -                                      break;                                  
 +                                      break;
                                }
                        }
  
                        $deliver_status = dfrn_deliver($owner,$contact,$atom);
  
                        logger('notifier: dfrn_delivery returns ' . $deliver_status);
 -      
 +
                        if($deliver_status == (-1)) {
                                logger('notifier: delivery failed: queuing message');
                                add_to_queue($contact['id'],NETWORK_DFRN,$atom);
                                                continue;
  
                                        if(($top_level) && ($public_message) && ($item['author-link'] === $item['owner-link']) && (! $expire)) 
-                                               $slaps[] = atom_entry($item,'html',$item_contact,$owner,true);
+                                               $slaps[] = atom_entry($item,'html',null,$owner,true);
                                }
  
                                logger('notifier: slapdelivery: ' . $contact['name']);
  
                case NETWORK_MAIL :
                case NETWORK_MAIL2:
 -                              
 +
                        if(get_config('system','dfrn_only'))
                                break;
                        // WARNING: does not currently convert to RFC2047 header encodings, etc.
  
                                if($reply_to)
                                        $headers .= 'Reply-to: ' . $reply_to . "\n";
 -                              $headers .= 'Message-id: <' . $it['uri'] . '>' . "\n";
 +
 +                              // for testing purposes: Collect exported mails
 +                              $file = tempnam("/tmp/friendica/", "mail-out-");
 +                              file_put_contents($file, json_encode($it));
 +
 +                              $headers .= 'Message-Id: <' . iri2msgid($it['uri']). '>' . "\n";
 +
 +                              //logger("Mail: uri: ".$it['uri']." parent-uri ".$it['parent-uri'], LOGGER_DEBUG);
 +                              //logger("Mail: Data: ".print_r($it, true), LOGGER_DEBUG);
 +                              //logger("Mail: Data: ".print_r($it, true), LOGGER_DATA);
 +
                                if($it['uri'] !== $it['parent-uri']) {
 -                                      $header .= 'References: <' . $it['parent-uri'] . '>' . "\n";
 +                                      $headers .= 'References: <' . iri2msgid($it['parent-uri']) . '>' . "\n";
                                        if(! strlen($it['title'])) {
                                                $r = q("SELECT `title` FROM `item` WHERE `parent-uri` = '%s' LIMIT 1",
                                                        dbesc($it['parent-uri'])
                                                }
                                        }
                                }
 -                              $headers .= 'MIME-Version: 1.0' . "\n";
 -                              $headers .= 'Content-Type: text/html; charset=UTF-8' . "\n";
 +                              /*$headers .= 'MIME-Version: 1.0' . "\n";
 +                              //$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n";
 +                              $headers .= 'Content-Type: text/plain; charset=UTF-8' . "\n";
                                $headers .= 'Content-Transfer-Encoding: 8bit' . "\n\n";
                                $html    = prepare_body($it);
 -                              $message = '<html><body>' . $html . '</body></html>';
 +                              //$message = '<html><body>' . $html . '</body></html>';
 +                              $message = html2plain($html);
                                logger('notifier: email delivery to ' . $addr);
 -                              mail($addr, $subject, $message, $headers);
 +                              mail($addr, $subject, $message, $headers);*/
 +                              email_send($addr, $subject, $headers, $it);
                        }
                        break;
  
  
                        if((! $contact['pubkey']) && (! $public_message))
                                break;
 -                                      
 +
                        if($target_item['verb'] === ACTIVITY_DISLIKE) {
                                // unsupported
                                break;
diff --combined include/notifier.php
index 684395da6ca4c1044abaa81aed4db8a4f36ebf80,8ec6252860893d4f5d72f9cbd19348975d612d69..4765cca06d155c9a9c19fc387c6a41ebc82f3a11
@@@ -2,7 -2,6 +2,7 @@@
  
  require_once("boot.php");
  require_once('include/queue_fn.php');
 +require_once('include/html2plain.php');
  
  /*
   * This file was at one time responsible for doing all deliveries, but this caused
@@@ -383,8 -382,8 +383,8 @@@ function notifier_run($argv, $argc)
                                        continue;
                                if($item['id'] == $item_id) {
                                        logger('notifier: followup: item: ' . print_r($item,true), LOGGER_DATA);
-                                       $slap  = atom_entry($item,'html',$owner,$owner,false);
-                                       $atom .= atom_entry($item,'text',$owner,$owner,false);
+                                       $slap  = atom_entry($item,'html',null,$owner,false);
+                                       $atom .= atom_entry($item,'text',null,$owner,false);
                                }
                        }
                }
                                        // older sites without a corresponding dfrn_notify change may do the wrong thing.
  
                                    if($item_id == $item['id'] || $item['id'] == $item['parent'])
-                                               $atom .= atom_entry($item,'text',$contact,$owner,true);
+                                               $atom .= atom_entry($item,'text',null,$owner,true);
                                }
                                else
-                                       $atom .= atom_entry($item,'text',$contact,$owner,true);
+                                       $atom .= atom_entry($item,'text',null,$owner,true);
  
                                if(($top_level) && ($public_message) && ($item['author-link'] === $item['owner-link']) && (! $expire)) 
-                                       $slaps[] = atom_entry($item,'html',$contact,$owner,true);
+                                       $slaps[] = atom_entry($item,'html',null,$owner,true);
                        }
                }
        }
                                                );
                                                if($r1 && $r1[0]['reply_to'])
                                                        $reply_to = $r1[0]['reply_to'];
 -      
 +
                                                $subject  = (($it['title']) ? email_header_encode($it['title'],'UTF-8') : t("\x28no subject\x29")) ;
  
                                                // only expose our real email address to true friends
                                                if($reply_to)
                                                        $headers .= 'Reply-to: ' . $reply_to . "\n";
  
 -                                              $headers .= 'Message-id: <' . $it['uri'] . '>' . "\n";
 +                                              // for testing purposes: Collect exported mails
 +                                              $file = tempnam("/tmp/friendica/", "mail-out2-");
 +                                              file_put_contents($file, json_encode($it));
 +
 +                                              $headers .= 'Message-Id: <' . iri2msgid($it['uri']) . '>' . "\n";
  
                                                if($it['uri'] !== $it['parent-uri']) {
 -                                                      $header .= 'References: <' . $it['parent-uri'] . '>' . "\n";
 +                                                      $headers .= 'References: <' . iri2msgid($it['parent-uri']) . '>' . "\n";
                                                        if(! strlen($it['title'])) {
                                                                $r = q("SELECT `title` FROM `item` WHERE `parent-uri` = '%s' LIMIT 1",
                                                                        dbesc($it['parent-uri'])
                                                        }
                                                }
  
 -                                              $headers .= 'MIME-Version: 1.0' . "\n";
 -                                              $headers .= 'Content-Type: text/html; charset=UTF-8' . "\n";
 +                                              /*$headers .= 'MIME-Version: 1.0' . "\n";
 +                                              //$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n";
 +                                              $headers .= 'Content-Type: text/plain; charset=UTF-8' . "\n";
                                                $headers .= 'Content-Transfer-Encoding: 8bit' . "\n\n";
                                                $html    = prepare_body($it);
 -                                              $message = '<html><body>' . $html . '</body></html>';
 +                                              //$message = '<html><body>' . $html . '</body></html>';
 +                                              $message = html2plain($html);
                                                logger('notifier: email delivery to ' . $addr);
 -                                              mail($addr, $subject, $message, $headers);
 +                                              mail($addr, $subject, $message, $headers);*/
 +                                              email_send($addr, $subject, $headers, $it);
                                        }
                                        break;
                                case NETWORK_DIASPORA:
                                                // we are the relay - send comments, likes and unlikes to our conversants
                                                diaspora_send_relay($target_item,$owner,$contact);
                                                break;
 -                                      }               
 +                                      }
                                        elseif(($top_level) && (! $walltowall)) {
                                                // currently no workable solution for sending walltowall
                                                diaspora_send_status($target_item,$owner,$contact);