sync cloud storage permission changes (issue #538 continued)
This commit is contained in:
parent
a2ccfc1e50
commit
e1df151d9b
@ -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);
|
||||
|
@ -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)));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user