diff options
author | friendica <info@friendica.com> | 2013-09-17 17:38:43 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-09-17 17:38:43 -0700 |
commit | 9d718ac5290506e08222c62e2fd36026256fba41 (patch) | |
tree | 2e9583292f6dfb0f1b6b971e629b3789d16e01e3 | |
parent | 6a9e86e540085ea804b3a49529cf7b57c8f3669e (diff) | |
download | volse-hubzilla-9d718ac5290506e08222c62e2fd36026256fba41.tar.gz volse-hubzilla-9d718ac5290506e08222c62e2fd36026256fba41.tar.bz2 volse-hubzilla-9d718ac5290506e08222c62e2fd36026256fba41.zip |
sync photo permissions with the attached item whenever they change.
-rw-r--r-- | mod/item.php | 5 | ||||
-rw-r--r-- | 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 = ''; |