]> git.mxchange.org Git - friendica.git/blobdiff - include/notifier.php
fixed a typo in the profile photo wrapper div id
[friendica.git] / include / notifier.php
index a71da853db977f1a5725759b96d9c5231c880b13..648a07062c02aa0104ffd6571fc4c76f2ea1cbe4 100644 (file)
@@ -40,6 +40,7 @@ function notifier_run($argv, $argc){
                        break;
        }
 
+       $top_level = false;
        $recipients = array();
        $url_recipients = array();
 
@@ -79,15 +80,19 @@ 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`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, `user`.`page-flags` 
+       $r = q("SELECT `contact`.*, `user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, `user`.`page-flags` 
                FROM `contact` LEFT JOIN `user` ON `user`.`uid` = `contact`.`uid` 
                WHERE `contact`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1",
                intval($uid)
@@ -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,20 +181,14 @@ 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(strlen($birthday))
+               $birthday = '<dfrn:birthday>' . xmlify($birthday) . '</dfrn:birthday>';
 
        $atom .= replace_macros($feed_template, array(
                        '$version'      => xmlify(FRIENDIKA_VERSION),
@@ -208,7 +204,7 @@ function notifier_run($argv, $argc){
                        '$picdate'      => xmlify(datetime_convert('UTC','UTC',$owner['avatar-date'] . '+00:00' , ATOM_TIME)) ,
                        '$uridate'      => xmlify(datetime_convert('UTC','UTC',$owner['uri-date']    . '+00:00' , ATOM_TIME)) ,
                        '$namdate'      => xmlify(datetime_convert('UTC','UTC',$owner['name-date']   . '+00:00' , ATOM_TIME)) ,
-                       '$birthday'     => ''
+                       '$birthday'     => $birthday
        ));
 
        if($cmd === 'mail') {
@@ -248,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);
                        }
                }
        }
@@ -261,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'];
@@ -394,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')));
                                
                /**
                 *