]> git.mxchange.org Git - friendica.git/commitdiff
The feed header is now displayed even with "hidewall" activated
authorMichael Vogel <icarus@dabo.de>
Fri, 6 May 2016 16:27:19 +0000 (18:27 +0200)
committerMichael Vogel <icarus@dabo.de>
Fri, 6 May 2016 16:27:19 +0000 (18:27 +0200)
include/dfrn.php

index 5778d4ba5fc5fbe06bd4da290d1876516b380935..21756b87dfe69efccd8144155261678b92f1568b 100644 (file)
@@ -462,45 +462,53 @@ class dfrn {
         */
        private function add_author($doc, $owner, $authorelement, $public) {
 
+               // Is the profile hidden or shouldn't be published in the net? Then add the "hide" element
+               $r = q("SELECT `id` FROM `profile` INNER JOIN `user` ON `user`.`uid` = `profile`.`uid`
+                               WHERE (`hidewall` OR NOT `net-publish`) AND `user`.`uid` = %d",
+                       intval($owner['uid']));
+               if ($r)
+                       $hidewall = true;
+               else
+                       $hidewall = false;
+
                $author = $doc->createElement($authorelement);
 
-               $namdate = datetime_convert('UTC', 'UTC', $owner['name-date'].'+00:00' , ATOM_TIME);
+               $namdate = datetime_convert('UTC', 'UTC', $owner['name-date'].'+00:00', ATOM_TIME);
                $uridate = datetime_convert('UTC', 'UTC', $owner['uri-date'].'+00:00', ATOM_TIME);
                $picdate = datetime_convert('UTC', 'UTC', $owner['avatar-date'].'+00:00', ATOM_TIME);
 
-               $attributes = array("dfrn:updated" => $namdate);
-               xml::add_element($doc, $author, "name", $owner["name"], $attributes);
+               if (!$public OR !$hidewall)
+                       $attributes = array("dfrn:updated" => $namdate);
+               else
+                       $attributes = array();
 
-               $attributes = array("dfrn:updated" => $namdate);
+               xml::add_element($doc, $author, "name", $owner["name"], $attributes);
                xml::add_element($doc, $author, "uri", app::get_baseurl().'/profile/'.$owner["nickname"], $attributes);
-
-               $attributes = array("dfrn:updated" => $namdate);
                xml::add_element($doc, $author, "dfrn:handle", $owner["addr"], $attributes);
 
-               $attributes = array("rel" => "photo", "type" => "image/jpeg", "dfrn:updated" => $picdate,
+               $attributes = array("rel" => "photo", "type" => "image/jpeg",
                                        "media:width" => 175, "media:height" => 175, "href" => $owner['photo']);
-               xml::add_element($doc, $author, "link", "", $attributes);
 
-               $attributes = array("rel" => "avatar", "type" => "image/jpeg", "dfrn:updated" => $picdate,
-                                       "media:width" => 175, "media:height" => 175, "href" => $owner['photo']);
-               xml::add_element($doc, $author, "link", "", $attributes);
+               if (!$public OR !$hidewall)
+                       $attributes["dfrn:updated"] = $picdate;
 
-               $birthday = feed_birthday($owner['uid'], $owner['timezone']);
+               xml::add_element($doc, $author, "link", "", $attributes);
 
-               if ($birthday)
-                       xml::add_element($doc, $author, "dfrn:birthday", $birthday);
+               $attributes["rel"] = "avatar";
+               xml::add_element($doc, $author, "link", "", $attributes);
 
-               // Is the profile hidden or shouldn't be published in the net? Then add the "hide" element
-               $r = q("SELECT `id` FROM `profile` INNER JOIN `user` ON `user`.`uid` = `profile`.`uid`
-                               WHERE (`hidewall` OR NOT `net-publish`) AND `user`.`uid` = %d",
-                       intval($owner['uid']));
-               if ($r)
+               if ($hidewall)
                        xml::add_element($doc, $author, "dfrn:hide", "true");
 
                // The following fields will only be generated if the data isn't meant for a public feed
                if ($public)
                        return $author;
 
+               $birthday = feed_birthday($owner['uid'], $owner['timezone']);
+
+               if ($birthday)
+                       xml::add_element($doc, $author, "dfrn:birthday", $birthday);
+
                // Only show contact details when we are allowed to
                $r = q("SELECT `profile`.`about`, `profile`.`name`, `profile`.`homepage`, `user`.`nickname`, `user`.`timezone`,
                                `profile`.`locality`, `profile`.`region`, `profile`.`country-name`, `profile`.`pub_keywords`, `profile`.`dob`