add contact info to check_shared_with call, so sharerequires policy uses current data

This commit is contained in:
Ralf Becker 2020-11-04 14:37:29 +01:00
parent 4e62152c24
commit d17f73cd79

View File

@ -2213,7 +2213,7 @@ class addressbook_ui extends addressbook_bo
foreach($content['shared'] as $key => $shared) foreach($content['shared'] as $key => $shared)
{ {
$shared_value = $shared['shared_id'].':'.$shared['shared_with'].':'.$shared['shared_by'].':'.$shared['shared_writable']; $shared_value = $shared['shared_id'].':'.$shared['shared_with'].':'.$shared['shared_by'].':'.$shared['shared_writable'];
if (($k = array_search($shared_value, $content['shared_values'])) === false) if (($k = array_search($shared_value, (array)$content['shared_values'])) === false)
{ {
unset($content['shared'][$key]); unset($content['shared'][$key]);
} }
@ -2222,9 +2222,11 @@ class addressbook_ui extends addressbook_bo
unset($content['shared_values'][$k]); unset($content['shared_values'][$k]);
} }
} }
foreach($content['shared_values'] as $account_id) foreach((array)$content['shared_values'] as $account_id)
{ {
$content['shared'][] = [ $content['shared'][] = [
'contact_id' => $content['id'],
'contact' => $content,
'shared_with' => $account_id, 'shared_with' => $account_id,
'shared_by' => $this->user, 'shared_by' => $this->user,
'shared_at' => new Api\DateTime(), 'shared_at' => new Api\DateTime(),