seperate settings for mod network

This commit is contained in:
Mario Vavti 2018-09-17 11:36:11 +02:00
parent dcacfc1124
commit a9853e6033
2 changed files with 143 additions and 0 deletions

View file

@ -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;
}
}

15
view/tpl/settings_module.tpl Executable file
View file

@ -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>