]> git.mxchange.org Git - friendica.git/blobdiff - include/notifier.php
more punctuation characters added to linkify patterns
[friendica.git] / include / notifier.php
index ca0aa0df38b661b0d927da0addfa6273d4e2ad28..648a07062c02aa0104ffd6571fc4c76f2ea1cbe4 100644 (file)
@@ -40,6 +40,7 @@ function notifier_run($argv, $argc){
                        break;
        }
 
+       $top_level = false;
        $recipients = array();
        $url_recipients = array();
 
@@ -79,12 +80,16 @@ function notifier_run($argv, $argc){
                        return;
                }
 
+
                // avoid race condition with deleting entries
 
                if($items[0]['deleted']) {
                        foreach($items as $item)
                                $item['deleted'] = 1;
                }
+
+               if(count($items) == 1 && $items[0]['uri'] === $items[0]['parent-uri'])
+                       $top_level = true;
        }
 
        $r = q("SELECT `contact`.*, `user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, `user`.`page-flags` 
@@ -167,9 +172,6 @@ function notifier_run($argv, $argc){
 
                $r = q("SELECT * FROM `contact` WHERE `id` IN ( $conversant_str ) AND `blocked` = 0 AND `pending` = 0");
 
-//             if( ! count($r)){
-//                     return;
-//             }
 
                if(count($r))
                        $contacts = $r;
@@ -179,23 +181,13 @@ function notifier_run($argv, $argc){
        $mail_template = load_view_file('view/atom_mail.tpl');
 
        $atom = '';
-       $hubxml = '';
        $slaps = array();
 
-       if(strlen($hub)) {
-               $hubs = explode(',', $hub);
-               if(count($hubs)) {
-                       foreach($hubs as $h) {
-                               $h = trim($h);
-                               if(! strlen($h))
-                                       continue;
-                               $hubxml .= '<link rel="hub" href="' . xmlify($h) . '" />' . "\n" ;
-                       }
-               }
-       }
+       $hubxml = feed_hublinks();
 
        $birthday = feed_birthday($owner['uid'],$owner['timezone']);
-       if($birthday)
+
+       if(strlen($birthday))
                $birthday = '<dfrn:birthday>' . xmlify($birthday) . '</dfrn:birthday>';
 
        $atom .= replace_macros($feed_template, array(
@@ -252,12 +244,8 @@ function notifier_run($argv, $argc){
 
                                $atom   .= atom_entry($item,'text',$contact,$owner,true);
 
-                               // There's a problem here - we *were* going to use salmon to provide semi-authenticated
-                               // communication to OStatus, but unless we're the item author they won't verify.
-                               // commented out for now, though we'll still send local replies (and any mentions 
-                               // that they contain) upstream. Rethinking the problem space.
-//                             $slaps[] = atom_entry($item,'html',$contact,$owner,true);
+                               if(($top_level) && ($notify_hub) && ($item['author-link'] === $item['owner-link'])) 
+                                       $slaps[] = atom_entry($item,'html',$contact,$owner,true);
                        }
                }
        }
@@ -265,7 +253,7 @@ function notifier_run($argv, $argc){
 
        logger('notifier: ' . $atom, LOGGER_DATA);
 
-//     logger('notifier: slaps: ' . print_r($slaps,true), LOGGER_DATA);
+       logger('notifier: slaps: ' . print_r($slaps,true), LOGGER_DATA);
 
        if($followup)
                $recip_str = $parent['contact-id'];
@@ -398,7 +386,7 @@ function notifier_run($argv, $argc){
                 *
                 */
 
-               $max_allowed = ((get_config('system','maxpubdeliver') === false) ? 150 : intval(get_config('system','maxdeliver')));
+               $max_allowed = ((get_config('system','maxpubdeliver') === false) ? 150 : intval(get_config('system','maxpubdeliver')));
                                
                /**
                 *