diff options
-rw-r--r-- | Zotlabs/Module/Settings/Network.php | 128 | ||||
-rwxr-xr-x | view/tpl/settings_module.tpl | 15 |
2 files changed, 143 insertions, 0 deletions
diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php new file mode 100644 index 000000000..14a118f2c --- /dev/null +++ b/Zotlabs/Module/Settings/Network.php @@ -0,0 +1,128 @@ +<?php + +namespace Zotlabs\Module\Settings; + + +class Network { + + function post() { + check_form_security_token_redirectOnErr('/settings/network', 'settings_network'); + + $features = self::get_features(); + + foreach($features as $f) { + $k = $f[0]; + if(array_key_exists("feature_$k",$_POST)) + set_pconfig(local_channel(),'feature',$k, (string) $_POST["feature_$k"]); + else + set_pconfig(local_channel(),'feature', $k, ''); + } + + build_sync_packet(); + return; + } + + function get() { + + $features = self::get_features(); + + foreach($features as $f) { + $arr[] = array('feature_' . $f[0],$f[1],((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On'))); + } + + $tpl = get_markup_template("settings_module.tpl"); + + $o .= replace_macros($tpl, array( + '$action_url' => 'settings/network', + '$form_security_token' => get_form_security_token("settings_network"), + '$title' => t('Activity Settings'), + '$features' => $arr, + '$baseurl' => z_root(), + '$submit' => t('Submit'), + )); + + return $o; + } + + function get_features() { + $arr = [ + + [ + 'archives', + t('Search by Date'), + t('Ability to select posts by date ranges'), + false, + get_config('feature_lock','archives') + ], + + [ + 'savedsearch', + t('Saved Searches'), + t('Save search terms for re-use'), + false, + get_config('feature_lock','savedsearch') + ], + + [ + 'order_tab', + t('Alternate Stream Order'), + t('Ability to order the stream by last post date, last comment date or unthreaded activities'), + false, + get_config('feature_lock','order_tab') + ], + + [ + 'name_tab', + t('Contact Filter'), + t('Ability to display only posts of a selected contact'), + false, + get_config('feature_lock','name_tab') + ], + + [ + 'forums_tab', + t('Forum Filter'), + t('Ability to display only posts of a specific forum'), + false, + get_config('feature_lock','forums_tab') + ], + + [ + 'personal_tab', + t('Personal Posts Filter'), + t('Ability to display only posts that you\'ve interacted on'), + false, + get_config('feature_lock','personal_tab') + ], + + [ + 'affinity', + t('Affinity Tool'), + t('Filter stream activity by depth of relationships'), + false, + get_config('feature_lock','affinity') + ], + + [ + 'suggest', + t('Suggest Channels'), + t('Show friend and connection suggestions'), + false, + get_config('feature_lock','suggest') + ], + + [ + 'connfilter', + t('Connection Filtering'), + t('Filter incoming posts from connections based on keywords/content'), + false, + get_config('feature_lock','connfilter') + ] + + ]; + + return $arr; + + } + +} diff --git a/view/tpl/settings_module.tpl b/view/tpl/settings_module.tpl new file mode 100755 index 000000000..b2ac5462f --- /dev/null +++ b/view/tpl/settings_module.tpl @@ -0,0 +1,15 @@ +<div class="generic-content-wrapper"> + <div class="section-title-wrapper"> + <h2>{{$title}}</h2> + </div> + <div class="section-content-wrapper"> + <form action="{{$action_url}}" method="post" autocomplete="off"> + <input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + {{foreach $features as $feature}} + {{include file="field_checkbox.tpl" field=$feature}} + {{/foreach}} + <div class="settings-submit-wrapper" > + <button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button> + </div> + </div> +</div> |