]> git.mxchange.org Git - friendica.git/commitdiff
New routines are now enabled
authorMichael Vogel <icarus@dabo.de>
Sat, 23 Jan 2016 01:44:30 +0000 (02:44 +0100)
committerMichael Vogel <icarus@dabo.de>
Sat, 23 Jan 2016 01:44:30 +0000 (02:44 +0100)
include/delivery.php
include/dfrn.php
include/ostatus.php
mod/dfrn_poll.php

index 0007b96aed8c7748c7f0c0b4a11b04e859f67027..482a759498dd035b4e0980d42ee8c86a8ef44088 100644 (file)
@@ -5,6 +5,7 @@ require_once('include/html2plain.php');
 require_once("include/Scrape.php");
 require_once('include/diaspora.php');
 require_once("include/ostatus.php");
+require_once("include/dfrn.php");
 
 function delivery_run(&$argv, &$argc){
        global $a, $db;
@@ -278,6 +279,53 @@ function delivery_run(&$argv, &$argc){
                        case NETWORK_DFRN:
                                logger('notifier: '.$target_item["guid"].' dfrndelivery: ' . $contact['name']);
 
+                               if ($mail) {
+                                       $item["body"] = $body;
+                                       $atom = dfrn_mail($item, $owner);
+                               } elseif ($fsuggest) {
+                                       $atom = dfrn_fsuggest($item, $owner);
+                                       // q("DELETE FROM `fsuggest` WHERE `id` = %d LIMIT 1", intval($item['id'])
+                               } elseif ($relocate)
+                                       $atom = dfrn_relocate($owner, $uid);
+                               elseif($followup) {
+                                       $msgitems = array();
+                                       foreach($items as $item) {  // there is only one item
+                                               if(!$item['parent'])
+                                                       continue;
+                                               if($item['id'] == $item_id) {
+                                                       logger('followup: item: ' . print_r($item,true), LOGGER_DATA);
+                                                       $msgitems[] = $item;
+                                               }
+                                       }
+                                       $atom = dfrn_entries($msgitems,$owner);
+                               } else {
+                                       $msgitems = array();
+                                       foreach($items as $item) {
+                                               if(!$item['parent'])
+                                                       continue;
+
+                                               // private emails may be in included in public conversations. Filter them.
+                                               if(($public_message) && $item['private'])
+                                                       continue;
+
+                                               $item_contact = get_item_contact($item,$icontacts);
+                                               if(!$item_contact)
+                                                       continue;
+
+                                               if($normal_mode) {
+                                                       if($item_id == $item['id'] || $item['id'] == $item['parent']) {
+                                                               $item["entry:comment-allow"] = true;
+                                                               $item["entry:cid"] = (($top_level) ? $contact['id'] : 0);
+                                                               $msgitems[] = $item;
+                                                       }
+                                               } else {
+                                                       $item["entry:comment-allow"] = true;
+                                                       $msgitems[] = $item;
+                                               }
+                                       }
+                                       $atom = dfrn_entries($msgitems,$owner);
+                               }
+/*
                                $feed_template = get_markup_template('atom_feed.tpl');
                                $mail_template = get_markup_template('atom_mail.tpl');
 
@@ -345,7 +393,7 @@ function delivery_run(&$argv, &$argc){
 
                                        $sugg_template = get_markup_template('atom_relocate.tpl');
 
-                                       /* get site pubkey. this could be a new installation with no site keys*/
+                                       // get site pubkey. this could be a new installation with no site keys
                                        $pubkey = get_config('system','site_pubkey');
                                        if(! $pubkey) {
                                                $res = new_keypair(1024);
@@ -408,8 +456,8 @@ function delivery_run(&$argv, &$argc){
                                }
 
                                $atom .= '</feed>' . "\r\n";
-
-                               logger('notifier: '.$contact["url"].' '.$target_item["guid"].' entry: '.$atom, LOGGER_DEBUG);
+*/
+                               logger('notifier entry: '.$contact["url"].' '.$target_item["guid"].' entry: '.$atom, LOGGER_DEBUG);
 
                                logger('notifier: ' . $atom, LOGGER_DATA);
                                $basepath =  implode('/', array_slice(explode('/',$contact['url']),0,3));
index 758e03398fe2874b2877a30ce36a55b6876c65fe..cf1adfa24884492d3f2876dfee3af7ed18da0f70 100644 (file)
@@ -191,7 +191,12 @@ function dfrn_feed(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0) {
        if(isset($category))
                $alternatelink .= "/category/".$category;
 
-       $root = dfrn_add_header($doc, $owner, "author", $alternatelink, true);
+       if ($public_feed)
+               $author = "dfrn:owner";
+       else
+               $author = "author";
+
+       $root = dfrn_add_header($doc, $owner, $author, $alternatelink, true);
 
        // This hook can't work anymore
        //      call_hooks('atom_feed', $atom);
@@ -622,14 +627,13 @@ function dfrn_entry($doc, $type, $item, $owner, $comment = false, $cid = 0) {
        if(!$item['parent'])
                return;
 
-       $entry = $doc->createElement("entry");
-
        if($item['deleted']) {
                $attributes = array("ref" => $item['uri'], "when" => datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME));
-               xml_add_element($doc, $entry, "at:deleted-entry", "", $attributes);
-               return $entry;
+               return xml_create_element($doc, "at:deleted-entry", "", $attributes);
        }
 
+       $entry = $doc->createElement("entry");
+
        if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid'])
                $body = fix_private_photos($item['body'],$owner['uid'],$item,$cid);
        else
index b7799fa9df24f3907d63036324de5ce6b5958e05..b127d41e41403f94c92333b34ac494dfe908d80b 100644 (file)
@@ -1121,7 +1121,7 @@ function get_reshared_guid($item) {
        return $guid;
 }
 
-function xml_add_element($doc, $parent, $element, $value = "", $attributes = array()) {
+function xml_create_element($doc, $element, $value = "", $attributes = array()) {
        $element = $doc->createElement($element, xmlify($value));
 
        foreach ($attributes AS $key => $value) {
@@ -1129,7 +1129,11 @@ function xml_add_element($doc, $parent, $element, $value = "", $attributes = arr
                $attribute->value = xmlify($value);
                $element->appendChild($attribute);
        }
+       return $element;
+}
 
+function xml_add_element($doc, $parent, $element, $value = "", $attributes = array()) {
+       $element = xml_create_element($doc, $element, $value, $attributes);
        $parent->appendChild($element);
 }
 
index d6a07186aca299e007e7a14ba9d436b42fa1affd..e6ebc5d519a89000580baf419882a3124c418a68 100644 (file)
@@ -1,9 +1,7 @@
 <?php
-
-
-
 require_once('include/items.php');
 require_once('include/auth.php');
+require_once('include/dfrn.php');
 
 
 function dfrn_poll_init(&$a) {
@@ -46,7 +44,8 @@ function dfrn_poll_init(&$a) {
 
                logger('dfrn_poll: public feed request from ' . $_SERVER['REMOTE_ADDR'] . ' for ' . $user);
                header("Content-type: application/atom+xml");
-               echo get_feed_for($a, '', $user,$last_update);
+               //echo get_feed_for($a, '', $user,$last_update);
+               echo dfrn_feed($a, '', $user,$last_update);
                killme();
        }
 
@@ -373,7 +372,8 @@ function dfrn_poll_post(&$a) {
                }
 
                header("Content-type: application/atom+xml");
-               $o = get_feed_for($a,$dfrn_id, $a->argv[1], $last_update, $direction);
+               //$o = get_feed_for($a,$dfrn_id, $a->argv[1], $last_update, $direction);
+               $o = dfrn_feed($a,$dfrn_id, $a->argv[1], $last_update, $direction);
                echo $o;
                killme();