From 51d9f0d97a186e32aeacc42e3b2d2001d04b5dd2 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 17 Sep 2014 21:16:15 -0700 Subject: channel permission roles --- include/identity.php | 10 +++++----- include/permissions.php | 27 ++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/identity.php b/include/identity.php index 38e96ab71..ead785543 100644 --- a/include/identity.php +++ b/include/identity.php @@ -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']), diff --git a/include/permissions.php b/include/permissions.php index 0e213a208..932ae897b 100644 --- a/include/permissions.php +++ b/include/permissions.php @@ -528,7 +528,7 @@ function get_role_perms($role) { break; - case 'forum_public': + case 'forum': $ret['perms_auto'] = true; $ret['default_collection'] = false; $ret['directory_publish'] = true; @@ -719,3 +719,28 @@ function get_role_perms($role) { } +function role_selector($current) { + $roles = array( + 'social' => array( t('Social Networking'), + array('social' => t('Mostly Public'), 'social_restricted' => t('Restricted'), 'social_private' => t('Private'))), + 'forum' => array( t('Community Forum'), + array('forum' => t('Mostly Public'), 'forum_restricted' => t('Restricted'), 'forum_private' => t('Private'))), + 'feed' => array( t('Feed Republish'), + array('feed' => t('Mostly Public'), 'feed_restricted' => t('Restricted'))), + 'soapbox' => array( t('Celebrity/Soapbox'), + array('soapbox' => t('Mostly Public'))), + 'other' => array( t('Other'), + array('custom' => t('Custom/Expert Mode')))); + $o = ''; + return $o; +} + -- cgit v1.2.3