From d150b8e8b13944153231c6fc475d81c689464348 Mon Sep 17 00:00:00 2001 From: Mike Macgirvin Date: Tue, 28 Sep 2010 22:32:48 -0700 Subject: [PATCH] inherit parent ACL's on remote children --- include/items.php | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/include/items.php b/include/items.php index a44bc1feb3..630d9dfbb6 100644 --- a/include/items.php +++ b/include/items.php @@ -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) );