diff options
author | redmatrix <mike@macgirvin.com> | 2016-10-01 16:01:22 -0700 |
---|---|---|
committer | redmatrix <mike@macgirvin.com> | 2016-10-01 16:01:22 -0700 |
commit | e1df151d9ba7c260861b4287324efc81226baf2c (patch) | |
tree | 5ccc7b513566afd57f1871122ac90e549287bc63 | |
parent | a2ccfc1e50e71333e255aa40efeb3d1e3403a318 (diff) | |
download | volse-hubzilla-e1df151d9ba7c260861b4287324efc81226baf2c.tar.gz volse-hubzilla-e1df151d9ba7c260861b4287324efc81226baf2c.tar.bz2 volse-hubzilla-e1df151d9ba7c260861b4287324efc81226baf2c.zip |
sync cloud storage permission changes (issue #538 continued)
-rw-r--r-- | Zotlabs/Module/Filestorage.php | 4 | ||||
-rw-r--r-- | include/attach.php | 15 |
2 files changed, 15 insertions, 4 deletions
diff --git a/Zotlabs/Module/Filestorage.php b/Zotlabs/Module/Filestorage.php index a401f4822..8b8620d6f 100644 --- a/Zotlabs/Module/Filestorage.php +++ b/Zotlabs/Module/Filestorage.php @@ -44,14 +44,14 @@ class Filestorage extends \Zotlabs\Web\Controller { //get the object before permissions change so we can catch eventual former allowed members $object = get_file_activity_object($channel_id, $resource, $cloudPath); - attach_change_permissions($channel_id, $resource, $x['allow_cid'], $x['allow_gid'], $x['deny_cid'], $x['deny_gid'], $recurse); + attach_change_permissions($channel_id, $resource, $x['allow_cid'], $x['allow_gid'], $x['deny_cid'], $x['deny_gid'], $recurse, true); file_activity($channel_id, $object, $x['allow_cid'], $x['allow_gid'], $x['deny_cid'], $x['deny_gid'], 'post', $notify); goaway($cloudPath); } - function get() { + function get() { if(argc() > 1) $which = argv(1); diff --git a/include/attach.php b/include/attach.php index 3d55b3bcb..95ce09e3a 100644 --- a/include/attach.php +++ b/include/attach.php @@ -1198,7 +1198,11 @@ function attach_mkdirp($channel, $observer_hash, $arr = null) { * @param string $deny_gid * @param boolean $recurse (optional) default false */ -function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse = false) { +function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse = false, $sync = false) { + + $channel = channelx_by_n($channel_id); + if(! $channel) + return; $r = q("select hash, flags, is_dir, is_photo from attach where hash = '%s' and uid = %d limit 1", dbesc($resource), @@ -1216,7 +1220,7 @@ function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gi ); if($r) { foreach($r as $rr) { - attach_change_permissions($channel_id, $rr['hash'], $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse); + attach_change_permissions($channel_id, $rr['hash'], $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse, $sync); } } } @@ -1240,6 +1244,13 @@ function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gi intval($channel_id) ); } + + if($sync) { + $data = attach_export_data($channel,$resource_id); + + if($data) + build_sync_packet($channel['channel_id'],array('file' => array($data))); + } } /** |