X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=mod%2Fping.php;h=e74ef8314cb6626098192439fab4cda4f9355ab5;hb=2a3f94e4521f00142b99ba4fa5f4ec093159cbb7;hp=546c46f166b2f73eec81325ed06bc1d870c4640a;hpb=c49ab66be8dc0c447bc7db6596cfd5110ee550a7;p=friendica.git diff --git a/mod/ping.php b/mod/ping.php index 546c46f166..e74ef8314c 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -7,49 +7,63 @@ function ping_init(&$a) { header("Content-type: text/xml"); echo " "; + + $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">"; if(local_user()){ - + $tags = array(); $comments = array(); $likes = array(); $dislikes = array(); $friends = array(); $posts = array(); + $cit = array(); + $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, - `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`, + `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`, `item`.`body`, `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink` FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent` WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND - `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0 ORDER BY `item`.`created` DESC", + `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0 + ORDER BY `item`.`created` DESC", intval(local_user()) ); + + $network = count($r); foreach ($r as $it) { switch($it['verb']){ + case ACTIVITY_TAG: + $obj = parse_xml_string($xmlhead.$it['object']); + $it['tname'] = $obj->content; + $tags[] = $it; + break; case ACTIVITY_LIKE: $likes[] = $it; break; case ACTIVITY_DISLIKE: $dislikes[] = $it; break; - case ACTIVITY_POST; - $posts[] = $it; - break; case ACTIVITY_FRIEND: - $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">"; $obj = parse_xml_string($xmlhead.$it['object']); $it['fname'] = $obj->title; $friends[] = $it; break; default: - if ($it['parent']!=$it['id']) $comments[] = $it; + $reg = "|@\[url=".$a->get_baseurl()."/profile/".$a->user['nickname']."|"; + if ($it['parent']!=$it['id']) { + $comments[] = $it; + } else if(preg_match( $reg, $it['body'])){ + $cit[] = $it; + } else { + $posts[] = $it; + } } } - $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`, `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink` @@ -61,6 +75,11 @@ function ping_init(&$a) { $home = count($r); foreach ($r as $it) { switch($it['verb']){ + case ACTIVITY_TAG: + $obj = parse_xml_string($xmlhead.$it['object']); + $it['tname'] = $obj->content; + $tags[] = $it; + break; case ACTIVITY_LIKE: $likes[] = $it; break; @@ -68,13 +87,15 @@ function ping_init(&$a) { $dislikes[] = $it; break; case ACTIVITY_FRIEND: - $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">"; $obj = parse_xml_string($xmlhead.$it['object']); $it['fname'] = $obj->title; $friends[] = $it; break; default: if ($it['parent']!=$it['id']) $comments[] = $it; + if(preg_match("/@\[[^]]*\]".$a->user['username']."/", $it['body'])){ + $cit[] = $it; + } } } @@ -129,12 +150,12 @@ function ping_init(&$a) { $home"; if ($register!=0) echo "$register"; - $tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends); + $tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends)+count($posts)+count($tags)+count($cit); echo ' '; if ($intro>0){ foreach ($intros as $i) { - echo xmlize( $a->get_baseurl().'/notifications/'.$i['id'], $i['name'], $i['url'], $i['photo'], relative_date($i['datetime']), t("{0} wants to be your friend") ); + echo xmlize( $a->get_baseurl().'/notifications/intros/'.$i['id'], $i['name'], $i['url'], $i['photo'], relative_date($i['datetime']), t("{0} wants to be your friend") ); }; } if ($mail>0){ @@ -165,12 +186,22 @@ function ping_init(&$a) { } if (count($friends)){ foreach ($friends as $i) { - echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} is now friends with %s"), $i['fname'] ) ); + echo xmlize($a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'],$i['author-name'],$i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} is now friends with %s"), $i['fname'] ) ); }; } if (count($posts)){ foreach ($posts as $i) { - echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} posted") ) ); + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), t("{0} posted") ); + }; + } + if (count($tags)){ + foreach ($tags as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} tagged %s's post with #%s"), $i['pname'], $i['tname'] ) ); + }; + } + if (count($cit)){ + foreach ($cit as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), t("{0} mentioned you in a post") ); }; } @@ -180,16 +211,14 @@ function ping_init(&$a) { if(x($_SESSION,'sysmsg')){ foreach ($_SESSION['sysmsg'] as $m){ - echo "".($m).""; + echo "".xmlify($m).""; } - //$_SESSION['sysmsg']=array(); unset($_SESSION['sysmsg']); } if(x($_SESSION,'sysmsg_info')){ foreach ($_SESSION['sysmsg_info'] as $m){ - echo "".($m).""; + echo "".xmlify($m).""; } - //$_SESSION['sysmsg_info']=array(); unset($_SESSION['sysmsg_info']); }