Reworked permission stuff

This commit is contained in:
Michael 2020-03-21 18:30:40 +00:00
parent d04c9b4930
commit 6de2b0f6d4
2 changed files with 10 additions and 24 deletions

View file

@ -244,10 +244,10 @@ function item_post(App $a) {
$body = preg_replace('#\[url=([^\]]*?)\]\[/url\]#ism', '[url]$1[/url]', $body); $body = preg_replace('#\[url=([^\]]*?)\]\[/url\]#ism', '[url]$1[/url]', $body);
if (!empty($orig_post)) { if (!empty($orig_post)) {
$str_group_allow = $orig_post['allow_gid'] ?? ''; $str_group_allow = $orig_post['allow_gid'];
$str_contact_allow = $orig_post['allow_cid'] ?? ''; $str_contact_allow = $orig_post['allow_cid'];
$str_group_deny = $orig_post['deny_gid'] ?? ''; $str_group_deny = $orig_post['deny_gid'];
$str_contact_deny = $orig_post['deny_cid'] ?? ''; $str_contact_deny = $orig_post['deny_cid'];
$location = $orig_post['location']; $location = $orig_post['location'];
$coord = $orig_post['coord']; $coord = $orig_post['coord'];
$verb = $orig_post['verb']; $verb = $orig_post['verb'];

View file

@ -298,14 +298,6 @@ class Photo
$backend_ref = $storage->put($Image->asString(), $backend_ref); $backend_ref = $storage->put($Image->asString(), $backend_ref);
} }
// Prevent "null" permissions
if (!empty($uid)) {
$allow_cid = $allow_cid ?? '<' . $uid . '>';
$allow_gid = $allow_gid ?? '';
$deny_cid = $deny_cid ?? '';
$deny_gid = $deny_gid ?? '';
}
$fields = [ $fields = [
"uid" => $uid, "uid" => $uid,
"contact-id" => $cid, "contact-id" => $cid,
@ -662,20 +654,13 @@ class Photo
continue; continue;
} }
if (DI::pConfig()->get($uid, 'system', 'accessible-photos')) {
$condition = ['resource-id' => $image_rid, 'uid' => $uid];
Logger::info('Set accessibility', ['condition' => $condition]);
Photo::update(['accessible' => true], $condition);
}
// Ensure to only modify photos that you own // Ensure to only modify photos that you own
$srch = '<' . intval($original_contact_id) . '>'; $srch = '<' . intval($original_contact_id) . '>';
$condition = ["(`allow_cid` = ? OR `allow_cid` IS NULL) AND $condition = [
(`allow_gid` = ? OR `allow_gid` IS NULL) AND 'allow_cid' => $srch, 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '',
(`deny_cid` = ? OR `deny_cid` IS NULL) AND 'resource-id' => $image_rid, 'uid' => $uid
(`deny_gid` = ? OR `deny_gid` IS NULL) AND ];
`resource-id` = ? AND `uid` =?", $srch, '', '', '', $image_rid, $uid];
if (!Photo::exists($condition)) { if (!Photo::exists($condition)) {
continue; continue;
} }
@ -688,7 +673,8 @@ class Photo
*/ */
$fields = ['allow_cid' => $str_contact_allow, 'allow_gid' => $str_group_allow, $fields = ['allow_cid' => $str_contact_allow, 'allow_gid' => $str_group_allow,
'deny_cid' => $str_contact_deny, 'deny_gid' => $str_group_deny]; 'deny_cid' => $str_contact_deny, 'deny_gid' => $str_group_deny,
'accessible' => DI::pConfig()->get($uid, 'system', 'accessible-photos', false)];
$condition = ['resource-id' => $image_rid, 'uid' => $uid]; $condition = ['resource-id' => $image_rid, 'uid' => $uid];
Logger::info('Set permissions', ['condition' => $condition, 'permissions' => $fields]); Logger::info('Set permissions', ['condition' => $condition, 'permissions' => $fields]);