channel permission roles

This commit is contained in:
friendica
2014-09-17 21:16:15 -07:00
parent eca420ec96
commit 51d9f0d97a
5 changed files with 46 additions and 9 deletions

View File

@@ -219,13 +219,15 @@ function create_identity($arr) {
$perms_sql = '';
$role_permissions = null;
$global_perms = get_perms();
if(array_key_exists('permissions_role',$arr) && $arr['permissions_role']) {
$role_permissions = get_role_perms($arr['permissions_role']);
if($role_permissions) {
foreach($role_permissions as $p => $v) {
if(strpos($p,'channel_') !== false) {
$perms_keys .= ', ' . $global_perms[$p][0];
$perms_keys .= ', ' . $p;
$perms_vals .= ', ' . intval($v);
}
if($p === 'directory_publish')
@@ -235,16 +237,16 @@ function create_identity($arr) {
}
else {
$defperms = site_default_perms();
$global_perms = get_perms();
foreach($defperms as $p => $v) {
$perms_keys .= ', ' . $global_perms[$p][0];
$perms_vals .= ', ' . intval($v);
}
}
$expire = get_config('system', 'default_expire_days');
$expire = (($expire===false)? '0': $expire);
$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, channel_expire_days $perms_keys )
@@ -264,8 +266,6 @@ function create_identity($arr) {
);
$r = q("select * from channel where channel_account_id = %d
and channel_guid = '%s' limit 1",
intval($arr['account_id']),