]> git.mxchange.org Git - friendica.git/blobdiff - include/threads.php
Merge remote-tracking branch 'upstream/master'
[friendica.git] / include / threads.php
index bd0cb0489926df5bfb68f1be61e390d760e199da..d88307ecfb648ff1c653b0f7bfb55ab22fbf77b3 100644 (file)
@@ -19,10 +19,6 @@ function add_thread($itemid, $onlyshadow = false) {
                logger("add_thread: Add thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG);
        }
 
-       // Store a shadow copy of public items for displaying a global community page?
-       if (!get_config('system', 'global_community'))
-               return;
-
        // is it already a copy?
        if (($itemid == 0) OR ($item['uid'] == 0))
                return;
@@ -78,6 +74,35 @@ function add_thread($itemid, $onlyshadow = false) {
        }
 }
 
+function add_shadow_entry($item) {
+
+       // Is this a shadow entry?
+       if ($item['uid'] == 0)
+               return;
+
+       // Is there a shadow parent?
+       $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = 0 LIMIT 1", dbesc($item['parent-uri']));
+       if (!count($r))
+               return;
+
+       // Is there already a shadow entry?
+       $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = 0 LIMIT 1", dbesc($item['uri']));
+
+       if (count($r))
+               return;
+
+       // Preparing public shadow (removing user specific data)
+       require_once("include/items.php");
+       require_once("include/Contact.php");
+
+       unset($item['id']);
+       $item['uid'] = 0;
+       $item['contact-id'] = get_contact($item['author-link'], 0);
+       $public_shadow = item_store($item, false, false, true);
+
+       logger("Stored public shadow for comment ".$item['uri']." under id ".$public_shadow, LOGGER_DEBUG);
+}
+
 function update_thread_uri($itemuri, $uid) {
        $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));