]> git.mxchange.org Git - friendica.git/blobdiff - include/feed.php
rework autocomplete: space after inserting contact without id
[friendica.git] / include / feed.php
index 184b784c72abdbf1dcdcef52fb3d691a6a36a07e..293de3cc965ed6b892599db7edd17c5aad6e12d4 100644 (file)
@@ -2,6 +2,17 @@
 require_once("include/html2bbcode.php");
 require_once("include/items.php");
 
+/**
+ * @brief Read a RSS/RDF/Atom feed and create an item entry for it
+ *
+ * @param string $xml The feed data
+ * @param array $importer The user record of the importer
+ * @param array $contact The contact record of the feed
+ * @param string $hub Unused dummy value for compatibility reasons
+ * @param bool $simulate If enabled, no data is imported
+ *
+ * @return array In simulation mode it returns the header and the first item
+ */
 function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
 
        $a = get_app();
@@ -43,8 +54,10 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
                                if ($attributes->name == "href")
                                        $author["author-link"] = $attributes->textContent;
 
+               $author["author-id"] = $xpath->evaluate('/atom:feed/atom:author/atom:uri/text()')->item(0)->nodeValue;
+
                if ($author["author-link"] == "")
-                       $author["author-link"] = $xpath->evaluate('/atom:feed/atom:author/atom:uri/text()')->item(0)->nodeValue;
+                       $author["author-link"] = $author["author-id"];
 
                if ($author["author-link"] == "") {
                        $self = $xpath->query("atom:link[@rel='self']")->item(0)->attributes;
@@ -102,7 +115,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
                $entries = $xpath->query('/rss/channel/item');
        }
 
-       if (is_array($contact)) {
+       if (!$simulate) {
                $author["author-link"] = $contact["url"];
 
                if ($author["author-name"] == "")
@@ -113,6 +126,10 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
                $author["owner-link"] = $contact["url"];
                $author["owner-name"] = $contact["name"];
                $author["owner-avatar"] = $contact["thumb"];
+
+               // This is no field in the item table. So we have to unset it.
+               unset($author["author-nick"]);
+               unset($author["author-id"]);
        }
 
        $header = array();