diff options
-rw-r--r-- | Zotlabs/Module/Settings/Features.php | 28 | ||||
-rw-r--r-- | include/features.php | 4 | ||||
-rwxr-xr-x | view/tpl/settings_features.tpl | 7 |
3 files changed, 33 insertions, 6 deletions
diff --git a/Zotlabs/Module/Settings/Features.php b/Zotlabs/Module/Settings/Features.php index 5b642acc3..3c3205c65 100644 --- a/Zotlabs/Module/Settings/Features.php +++ b/Zotlabs/Module/Settings/Features.php @@ -11,7 +11,13 @@ class Features { // Build list of features and check which are set // We will not create any settings for features that are above our techlevel - $features = get_features(); + if(intval($_REQUEST['techlevel'])) + $level = intval($_REQUEST['techlevel']); + else { + $level = get_account_techlevel(); + } + + $features = get_features(true,$level); $all_features = array(); foreach($features as $k => $v) { foreach($v as $f) @@ -28,9 +34,21 @@ class Features { } function get() { - $arr = array(); - $features = get_features(); - + + $arr = []; + if(intval($_REQUEST['techlevel'])) + $level = intval($_REQUEST['techlevel']); + else { + $level = get_account_techlevel(); + } + + $techlevels = \Zotlabs\Lib\Techlevels::levels(); + + $def_techlevel = \App::$account['account_level']; + $techlock = get_config('system','techlevel_lock'); + + $features = get_features(true,$level); + foreach($features as $fname => $fdata) { $arr[$fname] = array(); $arr[$fname][0] = $fdata[0]; @@ -43,6 +61,8 @@ class Features { $o .= replace_macros($tpl, array( '$form_security_token' => get_form_security_token("settings_features"), '$title' => t('Additional Features'), + '$techlevel' => [ 'techlevel', t('Your technical skill level'), $def_techlevel, t('Used to provide a member experience and additional features consistent with your comfort level'), $techlevels ], + '$techlock' => $techlock, '$features' => $arr, '$submit' => t('Submit'), )); diff --git a/include/features.php b/include/features.php index 4859a01db..57a6f7310 100644 --- a/include/features.php +++ b/include/features.php @@ -44,7 +44,7 @@ function feature_level($feature,$def) { return $def; } -function get_features($filtered = true) { +function get_features($filtered = true, $level = (-1)) { $account = \App::get_account(); @@ -499,7 +499,7 @@ function get_features($filtered = true) { $arr = $x['features']; - $techlevel = get_account_techlevel(); + $techlevel = (($level >= 0) ? $level : get_account_techlevel()); // removed any locked features and remove the entire category if this makes it empty diff --git a/view/tpl/settings_features.tpl b/view/tpl/settings_features.tpl index f8c162e17..0b65e2524 100755 --- a/view/tpl/settings_features.tpl +++ b/view/tpl/settings_features.tpl @@ -4,6 +4,13 @@ </div> <form action="settings/features" method="post" autocomplete="off"> <input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + {{if ! $techlock}} + <div class="section-content-tools-wrapper"> + {{include file="field_select.tpl" field=$techlevel}} + </div> + {{else}} + <input type="hidden" name="techlevel" value="{{$techlevel.2}}" /> + {{/if}} <div class="panel-group" id="settings" role="tablist" aria-multiselectable="true"> {{foreach $features as $g => $f}} <div class="panel"> |