aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Widget/Settings_menu.php
blob: 041ca312ff95e93b711c889b0c2ef96d2bee62a6 (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
<?php

namespace Zotlabs\Widget;

class Settings_menu {

	function widget($arr) {

		if(! local_channel())
			return;


		$channel = \App::get_channel();

		$abook_self_id = 0;

		// Retrieve the 'self' address book entry for use in the auto-permissions link

		$role = get_pconfig(local_channel(),'system','permissions_role');

		$abk = q("select abook_id from abook where abook_channel = %d and abook_self = 1 limit 1",
			intval(local_channel())
		);
		if($abk)
			$abook_self_id = $abk[0]['abook_id'];

		$x = q("select count(*) as total from hubloc where hubloc_hash = '%s' and hubloc_deleted = 0 ",
			dbesc($channel['channel_hash'])
		);

		$hublocs = (($x && $x[0]['total'] > 1) ? true : false);

		$tabs = array(
			array(
				'label'	=> t('Account settings'),
				'url' 	=> z_root().'/settings/account',
				'selected'	=> ((argv(1) === 'account') ? 'active' : ''),
			),

			array(
				'label'	=> t('Channel settings'),
				'url' 	=> z_root().'/settings/channel',
				'selected'	=> ((argv(1) === 'channel') ? 'active' : ''),
			),

		);

		if(get_account_techlevel() > 0 && get_features()) {
			$tabs[] = 	array(
					'label'	=> t('Additional features'),
					'url' 	=> z_root().'/settings/features',
					'selected'	=> ((argv(1) === 'features') ? 'active' : ''),
			);
		}

		$tabs[] =	array(
			'label'	=> t('Addon settings'),
			'url' 	=> z_root().'/settings/featured',
			'selected'	=> ((argv(1) === 'featured') ? 'active' : ''),
		);

		$tabs[] =	array(
			'label'	=> t('Display settings'),
			'url' 	=> z_root().'/settings/display',
			'selected'	=> ((argv(1) === 'display') ? 'active' : ''),
		);

		if($hublocs) {
			$tabs[] = array(
				'label' => t('Manage locations'),
				'url' => z_root() . '/locs',
				'selected' => ((argv(1) === 'locs') ? 'active' : ''),
			);
		}

		$tabs[] =	array(
			'label' => t('Export channel'),
			'url' => z_root() . '/uexport',
			'selected' => ''
		);

		if(feature_enabled(local_channel(),'access_tokens')) {
			$tabs[] =	array(
				'label' => t('Guest Access Tokens'),
				'url' => z_root() . '/settings/tokens',
				'selected' => ((argv(1) === 'tokens') ? 'active' : ''),
			);
		}

		if(feature_enabled(local_channel(),'permcats')) {
			$tabs[] = array(
				'label' => t('Permission Categories'),
				'url' => z_root() . '/settings/permcats',
				'selected' => ((argv(1) === 'permcats') ? 'active' : ''),
			);
		}

		if($role === false || $role === 'custom') {
			$tabs[] = array(
				'label' => t('Connection Default Permissions'),
				'url' => z_root() . '/defperms',
				'selected' => ''
			);
		}

		$tabtpl = get_markup_template("generic_links_widget.tpl");
		return replace_macros($tabtpl, array(
			'$title' => t('Settings'),
			'$class' => 'settings-widget',
			'$items' => $tabs,
		));
	}

}