]> git.mxchange.org Git - friendica.git/commitdiff
New function "queryValue"
authorMichael <heluecht@pirati.ca>
Sat, 12 Sep 2020 19:23:23 +0000 (19:23 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 12 Sep 2020 19:23:23 +0000 (19:23 +0000)
src/Protocol/DFRN.php
src/Util/XML.php

index 1329968126e43d6be6ba90502e16b5e9d28005ff..25adb5ce2c8d1c70db33ee9258b0b3a00398f489 100644 (file)
@@ -1766,15 +1766,15 @@ class DFRN
 
                $msg = [];
                $msg["uid"] = $importer["importer_uid"];
-               $msg["from-name"] = $xpath->query("dfrn:sender/dfrn:name/text()", $mail)->item(0)->nodeValue;
-               $msg["from-url"] = $xpath->query("dfrn:sender/dfrn:uri/text()", $mail)->item(0)->nodeValue;
-               $msg["from-photo"] = $xpath->query("dfrn:sender/dfrn:avatar/text()", $mail)->item(0)->nodeValue;
+               $msg["from-name"] = XML::queryValue($xpath, "dfrn:sender/dfrn:name/text()", $mail);
+               $msg["from-url"] = XML::queryValue($xpath, "dfrn:sender/dfrn:uri/text()", $mail);
+               $msg["from-photo"] = XML::queryValue($xpath, "dfrn:sender/dfrn:avatar/text()", $mail);
                $msg["contact-id"] = $importer["id"];
-               $msg["uri"] = $xpath->query("dfrn:id/text()", $mail)->item(0)->nodeValue;
-               $msg["parent-uri"] = $xpath->query("dfrn:in-reply-to/text()", $mail)->item(0)->nodeValue;
-               $msg["created"] = DateTimeFormat::utc($xpath->query("dfrn:sentdate/text()", $mail)->item(0)->nodeValue);
-               $msg["title"] = $xpath->query("dfrn:subject/text()", $mail)->item(0)->nodeValue;
-               $msg["body"] = $xpath->query("dfrn:content/text()", $mail)->item(0)->nodeValue;
+               $msg["uri"] = XML::queryValue($xpath, "dfrn:id/text()", $mail);
+               $msg["parent-uri"] = XML::queryValue($xpath, "dfrn:in-reply-to/text()", $mail);
+               $msg["created"] = DateTimeFormat::utc(XML::queryValue($xpath, "dfrn:sentdate/text()", $mail));
+               $msg["title"] = XML::queryValue($xpath, "dfrn:subject/text()", $mail);
+               $msg["body"] = XML::queryValue($xpath, "dfrn:content/text()", $mail);
 
                Mail::insert($msg);
        }
index 4eed3a85f84eb511b0859521d75be1a34a99a760..ec4bbe15f1e2c6a1f470aeebc6e84abe1c5ee75e 100644 (file)
@@ -488,6 +488,15 @@ class XML
                return $first_item->attributes;
        }
 
+       public static function queryValue($xpath, $search, $context)
+       {
+               $result = $xpath->query($search, $context)->item(0)->nodeValue;
+               if (!is_object($result)) {
+                       return '';
+               }
+               return $result->nodeValue;
+       }
+
        /**
         * escape text ($str) for XML transport
         *