]> git.mxchange.org Git - friendica.git/commitdiff
inherit parent ACL's on remote children
authorMike Macgirvin <mike@macgirvin.com>
Wed, 29 Sep 2010 05:32:48 +0000 (22:32 -0700)
committerMike Macgirvin <mike@macgirvin.com>
Wed, 29 Sep 2010 05:32:48 +0000 (22:32 -0700)
include/items.php

index a44bc1feb3b6d7865011832426d98919b181ce2f..630d9dfbb6ef45d745e14cadae417bfab444824a 100644 (file)
@@ -426,13 +426,20 @@ function item_store($arr) {
                        . implode("', '", array_values($arr)) 
                        . "')" );
 
-       $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+       // find the parent and snarf the item id and ACL's
+
+       $r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
                dbesc($arr['parent-uri']),
                intval($arr['uid'])
        );
 
-       if(count($r))
+       if(count($r)) {
                $parent_id = $r[0]['id'];
+               $allow_cid = $r[0]['allow_cid'];
+               $allow_gid = $r[0]['allow_gid'];
+               $deny_cid  = $r[0]['deny_cid'];
+               $deny_gid  = $r[0]['deny_gid'];
+       }
        else {
                $parent_missing = true;
        }
@@ -457,8 +464,15 @@ function item_store($arr) {
                return 0;
        }
 
-       $r = q("UPDATE `item` SET `parent` = %d WHERE `id` = %d LIMIT 1",
+       // Set parent id - all of the parent's ACL's are also inherited by this post
+
+       $r = q("UPDATE `item` SET `parent` = %d, `allow_cid` = '%s', `allow_gid` = '%s',
+               `deny_cid` = '%s', `deny_gid` = '%s' WHERE `id` = %d LIMIT 1",
                intval($parent_id),
+               dbesc($allow_cid),
+               dbesc($allow_gid),
+               dbesc($deny_cid),
+               dbesc($deny_gid),
                intval($current_post)
        );