diff options
author | redmatrix <redmatrix@redmatrix.me> | 2016-01-02 23:39:57 -0800 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2016-01-02 23:39:57 -0800 |
commit | 5b0a17359d6b5b3e27219c9e56117f1017996175 (patch) | |
tree | 2b5988c7661c9a5a67f5da8797ca57381e2aad7a | |
parent | 1ad90b8662a719a0455c6e1e8c21da0844c6d80d (diff) | |
download | volse-hubzilla-5b0a17359d6b5b3e27219c9e56117f1017996175.tar.gz volse-hubzilla-5b0a17359d6b5b3e27219c9e56117f1017996175.tar.bz2 volse-hubzilla-5b0a17359d6b5b3e27219c9e56117f1017996175.zip |
Provide the ability for a hub admin to specify a default permissions role for the first channel created by a new account. This simplifies channel creation by restricting the available options at registration time. The restriction is not applied to any additional channels created under the same account; and in any event can be changed immediately after channel creation, if desired.
-rw-r--r-- | doc/hidden_configs.bb | 4 | ||||
-rw-r--r-- | mod/new_channel.php | 12 | ||||
-rwxr-xr-x | view/tpl/new_channel.tpl | 11 |
3 files changed, 23 insertions, 4 deletions
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb index 8a02a23f2..39ec9569d 100644 --- a/doc/hidden_configs.bb +++ b/doc/hidden_configs.bb @@ -65,6 +65,10 @@ This document assumes you're an administrator. this website. Can be overwritten by user settings. [b]system > projecthome[/b] Set the project homepage as the homepage of your hub. + [b]system > default_permissions_role[/b] + If set to a valid permissions role name (for instance 'public'), use that role for + the first channel created by a new account and don't ask for the "Channel Type" on + the channel creation form. [b]system > workflow_channel_next[/b] The page to direct users to immediately after creating a channel. [b]system > max_daily_registrations[/b] diff --git a/mod/new_channel.php b/mod/new_channel.php index 047048f0a..bec2a3c09 100644 --- a/mod/new_channel.php +++ b/mod/new_channel.php @@ -100,6 +100,17 @@ function new_channel_content(&$a) { return; } + $default_role = ''; + $aid = get_account_id(); + if($aid) { + $r = q("select count(channel_id) as total from channel where channel_account_id = %d", + intval($aid) + ); + if($r && (! intval($r[0]['total']))) { + $default_role = get_config('system','default_permissions_role'); + } + } + $name = ((x($_REQUEST,'name')) ? $_REQUEST['name'] : "" ); $nickname = ((x($_REQUEST,'nickname')) ? $_REQUEST['nickname'] : "" ); $privacy_role = ((x($_REQUEST,'permissions_role')) ? $_REQUEST['permissions_role'] : "" ); @@ -117,6 +128,7 @@ function new_channel_content(&$a) { '$name' => $name, '$help_role' => t('Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you'), '$role' => array('permissions_role' , t('Channel Type'), ($privacy_role) ? $privacy_role : 'social', '<a href="help/roles" target="_blank">'.t('Read more about roles').'</a>',get_roles()), + '$default_role' => $default_role, '$nickname' => $nickname, '$submit' => t('Create') )); diff --git a/view/tpl/new_channel.tpl b/view/tpl/new_channel.tpl index f78a3fc2d..46b32b8a9 100755 --- a/view/tpl/new_channel.tpl +++ b/view/tpl/new_channel.tpl @@ -5,10 +5,13 @@ <div id="newchannel-desc" class="descriptive-paragraph">{{$desc}}</div> - <div id="newchannel-role-help" class="descriptive-paragraph">{{$help_role}}</div> - {{include file="field_select_grouped.tpl" field=$role}} - <div id="newchannel-role-end" class="newchannel-field-end"></div> - + {{if $default_role}} + <input type="hidden" name="permissions_role" value="{{$default_role}}" /> + {{else}} + <div id="newchannel-role-help" class="descriptive-paragraph">{{$help_role}}</div> + {{include file="field_select_grouped.tpl" field=$role}} + <div id="newchannel-role-end" class="newchannel-field-end"></div> + {{/if}} <label for="newchannel-name" id="label-newchannel-name" class="newchannel-label" >{{$label_name}}</label> <input type="text" name="name" id="newchannel-name" class="newchannel-input" value="{{$name}}" /> |