aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Settings/Features.php28
-rw-r--r--include/features.php4
-rwxr-xr-xview/tpl/settings_features.tpl7
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">