aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Settings/Network.php128
-rwxr-xr-xview/tpl/settings_module.tpl15
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>