some sane permission defaults.
This commit is contained in:
parent
e094c23f11
commit
20f3d09708
@ -145,12 +145,13 @@ function new_contact($uid,$url,$channel,$interactive = false) {
|
||||
);
|
||||
}
|
||||
else {
|
||||
$r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_their_perms, abook_created, abook_updated )
|
||||
values( %d, %d, '%s', %d, '%s', '%s' ) ",
|
||||
$r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_their_perms, abook_my_perms, abook_created, abook_updated )
|
||||
values( %d, %d, '%s', %d, %d, '%s', '%s' ) ",
|
||||
intval($aid),
|
||||
intval($uid),
|
||||
dbesc($xchan_hash),
|
||||
intval($their_perms),
|
||||
intval(PERMS_W_STREAM|PERMS_W_MAIL),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert())
|
||||
);
|
||||
|
@ -115,11 +115,19 @@ function create_identity($arr) {
|
||||
if(array_key_exists('primary', $arr))
|
||||
$primary = intval($arr['primary']);
|
||||
|
||||
$perms_sql = '';
|
||||
|
||||
$defperms = site_default_perms();
|
||||
$global_perms = get_perms();
|
||||
foreach($defperms as $p => $v) {
|
||||
$perms_keys .= ', ' . $global_perms[$p][0];
|
||||
$perms_vals .= ', ' . intval($v);
|
||||
}
|
||||
|
||||
$r = q("insert into channel ( channel_account_id, channel_primary,
|
||||
channel_name, channel_address, channel_guid, channel_guid_sig,
|
||||
channel_hash, channel_prvkey, channel_pubkey, channel_pageflags )
|
||||
values ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d ) ",
|
||||
channel_hash, channel_prvkey, channel_pubkey, channel_pageflags $perms_keys )
|
||||
values ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d $perms_vals ) ",
|
||||
|
||||
intval($arr['account_id']),
|
||||
intval($primary),
|
||||
@ -133,6 +141,9 @@ function create_identity($arr) {
|
||||
intval($pageflags)
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
$r = q("select * from channel where channel_account_id = %d
|
||||
and channel_guid = '%s' limit 1",
|
||||
intval($arr['account_id']),
|
||||
|
@ -328,3 +328,38 @@ function check_list_permissions($uid,$arr,$perm) {
|
||||
return($result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function site_default_perms() {
|
||||
|
||||
$typical = array(
|
||||
'view_stream' => PERMS_PUBLIC,
|
||||
'view_profile' => PERMS_PUBLIC,
|
||||
'view_photos' => PERMS_PUBLIC,
|
||||
'view_contacts' => PERMS_PUBLIC,
|
||||
'view_storage' => PERMS_PUBLIC,
|
||||
'view_pages' => PERMS_PUBLIC,
|
||||
'send_stream' => PERMS_SPECIFIC,
|
||||
'post_wall' => PERMS_SPECIFIC,
|
||||
'post_comments' => PERMS_SPECIFIC,
|
||||
'post_mail' => PERMS_SPECIFIC,
|
||||
'post_photos' => 0,
|
||||
'tag_deliver' => PERMS_SPECIFIC,
|
||||
'chat' => PERMS_SPECIFIC,
|
||||
'write_storage' => 0,
|
||||
'write_pages' => 0,
|
||||
'delegate' => 0,
|
||||
);
|
||||
|
||||
|
||||
$global_perms = get_perms();
|
||||
$ret = array();
|
||||
|
||||
foreach($global_perms as $perm => $v) {
|
||||
$x = get_config('default_perms',$perm);
|
||||
if($x === false)
|
||||
$x = $typical[$perm];
|
||||
$ret[$perm] = $x;
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
@ -349,6 +349,7 @@ function settings_post(&$a) {
|
||||
$post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
|
||||
$post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
|
||||
|
||||
|
||||
$arr = array();
|
||||
$arr['channel_r_stream'] = (($_POST['view_stream']) ? $_POST['view_stream'] : 0);
|
||||
$arr['channel_r_profile'] = (($_POST['view_profile']) ? $_POST['view_profile'] : 0);
|
||||
|
Reference in New Issue
Block a user