move connection filtering setting from network to connections, provide a link to settings in the navbar if present for a module and some code optimisation
This commit is contained in:
parent
a6db822a69
commit
1ca558f011
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
namespace Zotlabs\Module;
|
||||
|
||||
use App;
|
||||
|
||||
require_once('include/socgraph.php');
|
||||
require_once('include/selectors.php');
|
||||
@ -12,8 +13,10 @@ class Connections extends \Zotlabs\Web\Controller {
|
||||
|
||||
if(! local_channel())
|
||||
return;
|
||||
|
||||
App::$profile_uid = local_channel();
|
||||
|
||||
$channel = \App::get_channel();
|
||||
$channel = App::get_channel();
|
||||
if($channel)
|
||||
head_set_icon($channel['xchan_photo_s']);
|
||||
|
||||
@ -43,7 +46,7 @@ class Connections extends \Zotlabs\Web\Controller {
|
||||
$all = false;
|
||||
|
||||
if(! $_REQUEST['aj'])
|
||||
$_SESSION['return_url'] = \App::$query_string;
|
||||
$_SESSION['return_url'] = App::$query_string;
|
||||
|
||||
$search_flags = "";
|
||||
$head = '';
|
||||
@ -88,14 +91,14 @@ class Connections extends \Zotlabs\Web\Controller {
|
||||
$search_flags = " and abook_pending = 1 ";
|
||||
$head = t('New');
|
||||
$pending = true;
|
||||
\App::$argv[1] = 'pending';
|
||||
App::$argv[1] = 'pending';
|
||||
}
|
||||
else {
|
||||
$head = t('All');
|
||||
$search_flags = '';
|
||||
$all = true;
|
||||
\App::$argc = 1;
|
||||
unset(\App::$argv[1]);
|
||||
App::$argc = 1;
|
||||
unset(App::$argv[1]);
|
||||
}
|
||||
break;
|
||||
// case 'unconnected':
|
||||
@ -225,15 +228,15 @@ class Connections extends \Zotlabs\Web\Controller {
|
||||
intval(local_channel())
|
||||
);
|
||||
if($r) {
|
||||
\App::set_pager_total($r[0]['total']);
|
||||
App::set_pager_total($r[0]['total']);
|
||||
$total = $r[0]['total'];
|
||||
}
|
||||
|
||||
$r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash
|
||||
WHERE abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra $sql_extra2 ORDER BY xchan_name LIMIT %d OFFSET %d ",
|
||||
intval(local_channel()),
|
||||
intval(\App::$pager['itemspage']),
|
||||
intval(\App::$pager['start'])
|
||||
intval(App::$pager['itemspage']),
|
||||
intval(App::$pager['start'])
|
||||
);
|
||||
|
||||
$contacts = array();
|
||||
@ -337,7 +340,7 @@ class Connections extends \Zotlabs\Web\Controller {
|
||||
'$finding' => (($searching) ? t('Connections search') . ": '" . $search . "'" : ""),
|
||||
'$submit' => t('Find'),
|
||||
'$edit' => t('Edit'),
|
||||
'$cmd' => \App::$cmd,
|
||||
'$cmd' => App::$cmd,
|
||||
'$contacts' => $contacts,
|
||||
'$paginate' => paginate($a),
|
||||
|
||||
|
51
Zotlabs/Module/Settings/Connections.php
Normal file
51
Zotlabs/Module/Settings/Connections.php
Normal file
@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace Zotlabs\Module\Settings;
|
||||
|
||||
|
||||
class Connections {
|
||||
|
||||
function post() {
|
||||
check_form_security_token_redirectOnErr('/settings/connections', 'settings_connections');
|
||||
|
||||
$features = self::get_features();
|
||||
|
||||
process_features_post(local_channel(), $features, $_POST);
|
||||
|
||||
build_sync_packet();
|
||||
return;
|
||||
}
|
||||
|
||||
function get() {
|
||||
|
||||
$features = self::get_features();
|
||||
|
||||
$tpl = get_markup_template("settings_module.tpl");
|
||||
|
||||
$o .= replace_macros($tpl, array(
|
||||
'$action_url' => 'settings/connections',
|
||||
'$form_security_token' => get_form_security_token("settings_connections"),
|
||||
'$title' => t('Connections Settings'),
|
||||
'$features' => process_features_get(local_channel(), $features),
|
||||
'$submit' => t('Submit')
|
||||
));
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
||||
function get_features() {
|
||||
$arr = [
|
||||
[
|
||||
'connfilter',
|
||||
t('Connection Filtering'),
|
||||
t('Filter incoming posts from connections based on keywords/content'),
|
||||
false,
|
||||
get_config('feature_lock','connfilter')
|
||||
]
|
||||
];
|
||||
|
||||
return $arr;
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -10,13 +10,7 @@ class 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, '');
|
||||
}
|
||||
process_features_post(local_channel(), $features, $_POST);
|
||||
|
||||
build_sync_packet();
|
||||
return;
|
||||
@ -26,17 +20,13 @@ class Network {
|
||||
|
||||
$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,
|
||||
'$features' => process_features_get(local_channel(), $features),
|
||||
'$submit' => t('Submit')
|
||||
));
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
version: 1
|
||||
url: $baseurl/connections
|
||||
version: 1.1
|
||||
url: $baseurl/connections, $baseurl/settings/connections
|
||||
requires: local_channel
|
||||
name: Connections
|
||||
photo: icon:users
|
||||
|
@ -44,6 +44,23 @@ function feature_level($feature,$def) {
|
||||
return $def;
|
||||
}
|
||||
|
||||
function process_features_get($uid, $features) {
|
||||
foreach($features as $f) {
|
||||
$arr[] = array('feature_' . $f[0],$f[1],((intval(feature_enabled($uid, $f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
function process_features_post($uid, $features, $post_arr) {
|
||||
foreach($features as $f) {
|
||||
$k = $f[0];
|
||||
if(array_key_exists("feature_$k",$post_arr))
|
||||
set_pconfig($uid,'feature',$k, (string) $post_arr["feature_$k"]);
|
||||
else
|
||||
set_pconfig($uid,'feature', $k, '');
|
||||
}
|
||||
}
|
||||
|
||||
function get_features($filtered = true, $level = (-1)) {
|
||||
|
||||
$account = \App::get_account();
|
||||
|
@ -199,17 +199,21 @@ function nav($template = 'default') {
|
||||
// turned off until somebody discovers this and figures out a good location for it.
|
||||
$powered_by = '';
|
||||
|
||||
$url = '';
|
||||
$settings_url = '';
|
||||
|
||||
if(App::$profile_uid && App::$nav_sel['raw_name']) {
|
||||
$active_app = q("SELECT app_url FROM app WHERE app_channel = %d AND app_name = '%s' LIMIT 1",
|
||||
intval(App::$profile_uid),
|
||||
dbesc(App::$nav_sel['raw_name'])
|
||||
);
|
||||
|
||||
|
||||
if($active_app) {
|
||||
if(strpos($active_app[0]['app_url'], ',')) {
|
||||
$urls = explode(',', $active_app[0]['app_url']);
|
||||
$url = trim($urls[0]);
|
||||
$settings_url = trim($urls[1]);
|
||||
if($is_owner)
|
||||
$settings_url = trim($urls[1]);
|
||||
}
|
||||
else {
|
||||
$url = $active_app[0]['app_url'];
|
||||
@ -296,7 +300,8 @@ function nav($template = 'default') {
|
||||
'$addapps' => t('Add Apps'),
|
||||
'$orderapps' => t('Arrange Apps'),
|
||||
'$sysapps_toggle' => t('Toggle System Apps'),
|
||||
'$url' => (($url) ? $url : App::$cmd)
|
||||
'$url' => (($url) ? $url : App::$cmd),
|
||||
'$settings_url' => $settings_url
|
||||
));
|
||||
|
||||
if(x($_SESSION, 'reload_avatar') && $observer) {
|
||||
|
@ -70,7 +70,15 @@
|
||||
<br><small>{{$sitelocation}}</small>
|
||||
{{/if}}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
{{if $settings_url}}
|
||||
<div id="nav-app-settings-link-wrapper" class="navbar-nav mr-auto">
|
||||
<a id="nav-app-settings-link" href="{{$settings_url}}" class="nav-link">
|
||||
<i class="fa fa-fw fa-cog"></i>
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<div class="navbar-toggler-right">
|
||||
|
13
view/tpl/settings_addon.tpl
Normal file
13
view/tpl/settings_addon.tpl
Normal file
@ -0,0 +1,13 @@
|
||||
<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}}'>
|
||||
{{$content}}
|
||||
<div class="settings-submit-wrapper" >
|
||||
<button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Reference in New Issue
Block a user