From b7c14803b228505e277b1a313f720969f1740718 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Fri, 6 May 2016 18:27:19 +0200 Subject: [PATCH] The feed header is now displayed even with "hidewall" activated --- include/dfrn.php | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/include/dfrn.php b/include/dfrn.php index 5778d4ba5f..21756b87df 100644 --- a/include/dfrn.php +++ b/include/dfrn.php @@ -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` -- 2.39.5