aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Settings/Network.php
blob: 7d19d7c5183a9225798658230c364b9ed6bbacdb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?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,
			'$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;

	}

}