From 9d718ac5290506e08222c62e2fd36026256fba41 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 17 Sep 2013 17:38:43 -0700 Subject: sync photo permissions with the attached item whenever they change. --- mod/item.php | 5 ++++- mod/photos.php | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/mod/item.php b/mod/item.php index 367a0c4be..895784ff9 100644 --- a/mod/item.php +++ b/mod/item.php @@ -1087,12 +1087,15 @@ function fix_attached_photo_permissions($uid,$xchan_hash,$body, intval($uid) ); if($r) { - $r = q("UPDATE item SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' + $private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false); + + $r = q("UPDATE item SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d WHERE id = %d AND uid = %d limit 1", dbesc($str_contact_allow), dbesc($str_group_allow), dbesc($str_contact_deny), dbesc($str_group_deny), + intval($private), intval($r[0]['id']), intval($uid) ); diff --git a/mod/photos.php b/mod/photos.php index 217f9785f..8e63a42ea 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -303,6 +303,9 @@ function photos_post(&$a) { ); } + $item_private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false); + + /* Don't make the item visible if the only change was the album name */ $visibility = 0; @@ -320,11 +323,23 @@ function photos_post(&$a) { intval($page_owner_uid) ); } - if(count($r)) { + if($r) { $old_tag = $r[0]['tag']; $old_inform = $r[0]['inform']; } + // make sure the linked item has the same permissions as the photo regardless of any other changes + $x = q("update item set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d + where id = %d limit 1", + dbesc($str_contact_allow), + dbesc($str_group_allow), + dbesc($str_contact_deny), + dbesc($str_group_deny), + intval($item_private), + intval($item_id) + ); + + if(strlen($rawtags)) { $str_tags = ''; -- cgit v1.2.3