]> git.mxchange.org Git - friendica.git/blobdiff - mod/display.php
Fix for displaying public items
[friendica.git] / mod / display.php
index 10862d57cca3ebef241741cac968ccd4baadc73f..2600dfd26d020e06d409b8d31a52faf7c2ea147e 100644 (file)
@@ -59,10 +59,10 @@ function display_init(App $a)
 
                // Is it an item with uid=0?
                if (!DBM::is_result($item)) {
-                       $item = Item::selectFirstForUser(local_user(), $fields, ['guid' => $a->argv[1], 'private' => false, 'uid' => 0]);
+                       $item = Item::selectFirstForUser(local_user(), $fields, ['guid' => $a->argv[1], 'private' => [0, 2], 'uid' => 0]);
                }
        } elseif (($a->argc == 3) && ($nick == 'feed-item')) {
-               $item = Item::selectFirstForUser(local_user(), $fields, ['id' => $a->argv[2], 'private' => false, 'uid' => 0]);
+               $item = Item::selectFirstForUser(local_user(), $fields, ['id' => $a->argv[2], 'private' => [0, 2], 'uid' => 0]);
        }
 
        if (!DBM::is_result($item)) {
@@ -140,29 +140,29 @@ function display_fetchauthor($a, $item)
        if (!$skip) {
                $author = "";
                preg_match("/author='(.*?)'/ism", $attributes, $matches);
-               if ($matches[1] != "") {
+               if (!empty($matches[1])) {
                        $profiledata["name"] = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
                }
                preg_match('/author="(.*?)"/ism', $attributes, $matches);
-               if ($matches[1] != "") {
+               if (!empty($matches[1])) {
                        $profiledata["name"] = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
                }
                $profile = "";
                preg_match("/profile='(.*?)'/ism", $attributes, $matches);
-               if ($matches[1] != "") {
+               if (!empty($matches[1])) {
                        $profiledata["url"] = $matches[1];
                }
                preg_match('/profile="(.*?)"/ism', $attributes, $matches);
-               if ($matches[1] != "") {
+               if (!empty($matches[1])) {
                        $profiledata["url"] = $matches[1];
                }
                $avatar = "";
                preg_match("/avatar='(.*?)'/ism", $attributes, $matches);
-               if ($matches[1] != "") {
+               if (!empty($matches[1])) {
                        $profiledata["photo"] = $matches[1];
                }
                preg_match('/avatar="(.*?)"/ism', $attributes, $matches);
-               if ($matches[1] != "") {
+               if (!empty($matches[1])) {
                        $profiledata["photo"] = $matches[1];
                }
                $profiledata["nickname"] = $profiledata["name"];
@@ -212,6 +212,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
                $item_parent_uri = $item['parent-uri'];
        } else {
                $item_id = (($a->argc > 2) ? $a->argv[2] : 0);
+               $item_parent = $item_id;
 
                if ($a->argc == 2) {
                        $item_parent = 0;
@@ -228,7 +229,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
                        }
 
                        if ($item_parent == 0) {
-                               $condition = ['private' => false, 'guid' => $a->argv[1], 'uid' => 0];
+                               $condition = ['private' => [0, 2], 'guid' => $a->argv[1], 'uid' => 0];
                                $item = Item::selectFirstForUser(local_user(), $fields, $condition);
                                if (DBM::is_result($item)) {
                                        $item_id = $item["id"];
@@ -246,7 +247,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
        }
 
        // We are displaying an "alternate" link if that post was public. See issue 2864
-       $is_public = dba::exists('item', ['id' => $item_id, 'private' => false]);
+       $is_public = dba::exists('item', ['id' => $item_id, 'private' => [0, 2]]);
        if ($is_public) {
                // For the atom feed the nickname doesn't matter at all, we only need the item id.
                $alternate = System::baseUrl().'/display/feed-item/'.$item_id.'.atom';
@@ -356,11 +357,11 @@ function display_content(App $a, $update = false, $update_uid = 0)
        $o .= conversation($a, $conversation_items, 'display', $update_uid, false, 'commented', local_user());
 
        // Preparing the meta header
-       $description = trim(HTML::toPlaintext(BBCode::convert($items["body"], false), 0, true));
-       $title = trim(HTML::toPlaintext(BBCode::convert($items["title"], false), 0, true));
-       $author_name = $items["author-name"];
+       $description = trim(HTML::toPlaintext(BBCode::convert($items[0]["body"], false), 0, true));
+       $title = trim(HTML::toPlaintext(BBCode::convert($items[0]["title"], false), 0, true));
+       $author_name = $items[0]["author-name"];
 
-       $image = $a->remove_baseurl($items["author-thumb"]);
+       $image = $a->remove_baseurl($items[0]["author-avatar"]);
 
        if ($title == "") {
                $title = $author_name;
@@ -392,7 +393,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
        $a->page['htmlhead'] .= '<meta name="twitter:title" content="'.$title.'" />'."\n";
        $a->page['htmlhead'] .= '<meta name="twitter:description" content="'.$description.'" />'."\n";
        $a->page['htmlhead'] .= '<meta name="twitter:image" content="'.System::baseUrl().'/'.$image.'" />'."\n";
-       $a->page['htmlhead'] .= '<meta name="twitter:url" content="'.$items["plink"].'" />'."\n";
+       $a->page['htmlhead'] .= '<meta name="twitter:url" content="'.$items[0]["plink"].'" />'."\n";
 
        // Dublin Core
        $a->page['htmlhead'] .= '<meta name="DC.title" content="'.$title.'" />'."\n";
@@ -402,7 +403,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
        $a->page['htmlhead'] .= '<meta property="og:type" content="website" />'."\n";
        $a->page['htmlhead'] .= '<meta property="og:title" content="'.$title.'" />'."\n";
        $a->page['htmlhead'] .= '<meta property="og:image" content="'.System::baseUrl().'/'.$image.'" />'."\n";
-       $a->page['htmlhead'] .= '<meta property="og:url" content="'.$items["plink"].'" />'."\n";
+       $a->page['htmlhead'] .= '<meta property="og:url" content="'.$items[0]["plink"].'" />'."\n";
        $a->page['htmlhead'] .= '<meta property="og:description" content="'.$description.'" />'."\n";
        $a->page['htmlhead'] .= '<meta name="og:article:author" content="'.$author_name.'" />'."\n";
        // article:tag