fix attachment permissions when they also contain an image.

This commit is contained in:
redmatrix 2015-06-15 20:43:49 -07:00
parent 2adc7a51ad
commit bdedda7c6b
3 changed files with 18 additions and 1 deletions

View File

@ -347,6 +347,8 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$sql_options = '';
$source = (($arr) ? $arr['source'] : '');
// This is currently used only in mod/wall_attach
$str_contact_allow = perms2str(((is_array($arr['contact_allow'])) ? $arr['contact_allow'] : explode(',',$arr['contact_allow'])));
if(! perm_is_allowed($channel_id,get_observer_hash(), 'write_storage')) {

View File

@ -1086,6 +1086,21 @@ function fix_attached_photo_permissions($uid,$xchan_hash,$body,
intval($uid)
);
}
$r = q("select id from attach where hash = '%s' and uid = %d limit 1",
dbesc($image_uri),
intval($uid)
);
if($r) {
q("update attach SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s'
WHERE id = %d AND uid = %d",
dbesc($str_contact_allow),
dbesc($str_group_allow),
dbesc($str_contact_deny),
dbesc($str_group_deny),
intval($r[0]['id']),
intval($uid)
);
}
}
}
}

View File

@ -38,7 +38,7 @@ function wall_attach_post(&$a) {
// }
// }
$r = attach_store($channel,(($observer) ? $observer['xchan_hash'] : ''),array('source' => 'editor', 'visible' => 0, 'contact_allow' => array($channel['channel_hash'])));
$r = attach_store($channel,(($observer) ? $observer['xchan_hash'] : ''),'', array('source' => 'editor', 'visible' => 0, 'contact_allow' => array($channel['channel_hash'])));
if(! $r['success']) {
notice( $r['message'] . EOL);