Project

General

Profile

1
<?php
2
/**
3
 *
4
 * @category        admin
5
 * @package         groups
6
 * @author          Ryan Djurovich, WebsiteBaker Project
7
 * @copyright       2009-2011, Website Baker Org. e.V.
8
 * @link			http://www.websitebaker2.org/
9
 * @license         http://www.gnu.org/licenses/gpl.html
10
 * @platform        WebsiteBaker 2.8.x
11
 * @requirements    PHP 5.2.2 and higher
12
 * @version         $Id: get_permissions.php 1529 2011-11-25 05:03:32Z Luisehahne $
13
 * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/admin/groups/get_permissions.php $
14
 * @lastmodified    $Date: 2011-11-25 06:03:32 +0100 (Fri, 25 Nov 2011) $
15
 *
16
 */
17

    
18

    
19
if(!defined('WB_PATH')) { exit('Direct access to this file is not allowed'); }
20

    
21
// Get system permissions
22
if($admin->get_post('advanced') != 'yes') {
23
	$system_permissions['pages'] = $admin->get_post('pages');
24
		$system_permissions['pages_view'] = $system_permissions['pages'];
25
		$system_permissions['pages_add'] = $system_permissions['pages'];
26
		$system_permissions['pages_add_l0'] = $system_permissions['pages'];
27
		$system_permissions['pages_settings'] = $system_permissions['pages'];
28
		$system_permissions['pages_modify'] = $system_permissions['pages'];
29
		$system_permissions['pages_intro'] = $system_permissions['pages'];
30
		$system_permissions['pages_delete'] = $system_permissions['pages'];
31
	$system_permissions['media'] = $admin->get_post('media');
32
		$system_permissions['media_view'] = $system_permissions['media'];
33
		$system_permissions['media_upload'] = $system_permissions['media'];
34
		$system_permissions['media_rename'] = $system_permissions['media'];
35
		$system_permissions['media_delete'] = $system_permissions['media'];
36
		$system_permissions['media_create'] = $system_permissions['media'];
37
	if($admin->get_post('modules') != '' OR $admin->get_post('templates') != '' OR $admin->get_post('languages') != '') {
38
		$system_permissions['addons'] = 1;
39
	} else {
40
		$system_permissions['addons'] = 0;
41
	}
42
		$system_permissions['modules'] = $admin->get_post('modules');
43
			$system_permissions['modules_view'] = $system_permissions['modules'];
44
			$system_permissions['modules_install'] = $system_permissions['modules'];
45
			$system_permissions['modules_uninstall'] = $system_permissions['modules'];
46
		$system_permissions['templates'] = $admin->get_post('templates');
47
			$system_permissions['templates_view'] = $system_permissions['templates'];
48
			$system_permissions['templates_install'] = $system_permissions['templates'];
49
			$system_permissions['templates_uninstall'] = $system_permissions['templates'];
50
		$system_permissions['languages'] = $admin->get_post('languages');
51
			$system_permissions['languages_view'] = $system_permissions['languages'];
52
			$system_permissions['languages_install'] = $system_permissions['languages'];
53
			$system_permissions['languages_uninstall'] = $system_permissions['languages'];
54
	$system_permissions['settings'] = $admin->get_post('settings');
55
		$system_permissions['settings_basic'] = $system_permissions['settings'];
56
		$system_permissions['settings_advanced'] = $system_permissions['settings'];
57
	if($admin->get_post('users') != '' OR $admin->get_post('groups') != '') {
58
		$system_permissions['access'] = 1;
59
	} else {
60
		$system_permissions['access'] = 0;
61
	}
62
	$system_permissions['users'] = $admin->get_post('users');
63
	$system_permissions['users_view'] = $system_permissions['users'];
64
	$system_permissions['users_add'] = $system_permissions['users'];
65
	$system_permissions['users_modify'] = $system_permissions['users'];
66
	$system_permissions['users_delete'] = $system_permissions['users'];
67
	$system_permissions['groups'] = $admin->get_post('groups');
68
	$system_permissions['groups_view'] = $system_permissions['groups'];
69
	$system_permissions['groups_add'] = $system_permissions['groups'];
70
	$system_permissions['groups_modify'] = $system_permissions['groups'];
71
	$system_permissions['groups_delete'] = $system_permissions['groups'];
72
	$system_permissions['admintools'] = $admin->get_post('admintools');
73
	$system_permissions['admintools_settings'] = $system_permissions['admintools'];
74
} else {
75
	// Pages
76
	$system_permissions['pages_view'] = $admin->get_post('pages_view');
77
		$system_permissions['pages_add'] = $admin->get_post('pages_add');
78
	if($admin->get_post('pages_add') != 1 AND $admin->get_post('pages_add_l0') == 1) {
79
		$system_permissions['pages_add'] = $admin->get_post('pages_add_l0');
80
	}
81
	$system_permissions['pages_add_l0'] = $admin->get_post('pages_add_l0');
82
	$system_permissions['pages_settings'] = $admin->get_post('pages_settings');
83
	$system_permissions['pages_modify'] = $admin->get_post('pages_modify');
84
	$system_permissions['pages_intro'] = $admin->get_post('pages_intro');
85
	$system_permissions['pages_delete'] = $admin->get_post('pages_delete');
86
	if($system_permissions['pages_view'] == 1 OR $system_permissions['pages_add'] == 1 OR $system_permissions['pages_settings'] == 1 OR $system_permissions['pages_modify'] == 1 OR $system_permissions['pages_intro'] == 1 OR $system_permissions['pages_delete'] == 1) {
87
		$system_permissions['pages'] = 1;
88
	} else {
89
		$system_permissions['pages'] = '';
90
	}
91
	// Media
92
	$system_permissions['media_view'] = $admin->get_post('media_view');
93
	$system_permissions['media_upload'] = $admin->get_post('media_upload');
94
	$system_permissions['media_rename'] = $admin->get_post('media_rename');
95
	$system_permissions['media_delete'] = $admin->get_post('media_delete');
96
	$system_permissions['media_create'] = $admin->get_post('media_create');
97
	if($system_permissions['media_view'] == 1 OR $system_permissions['media_upload'] == 1 OR $system_permissions['media_rename'] == 1 OR $system_permissions['media_delete'] == 1 OR $system_permissions['media_create'] == 1) {
98
		$system_permissions['media'] = 1;
99
	} else {
100
		$system_permissions['media'] = '';
101
	}
102
	// Add-ons
103
		// Modules
104
		$system_permissions['modules_view'] = $admin->get_post('modules_view');
105
		$system_permissions['modules_install'] = $admin->get_post('modules_install');
106
		$system_permissions['modules_uninstall'] = $admin->get_post('modules_uninstall');
107
		if($system_permissions['modules_view'] == 1 OR $system_permissions['modules_install'] == 1 OR $system_permissions['modules_uninstall'] == 1) {
108
			$system_permissions['modules'] = 1;
109
		} else {
110
			$system_permissions['modules'] = '';
111
		}
112
		// Templates
113
		$system_permissions['templates_view'] = $admin->get_post('templates_view');
114
		$system_permissions['templates_install'] = $admin->get_post('templates_install');
115
		$system_permissions['templates_uninstall'] = $admin->get_post('templates_uninstall');
116
		if($system_permissions['templates_view'] == 1 OR $system_permissions['templates_install'] == 1 OR $system_permissions['templates_uninstall'] == 1) {
117
			$system_permissions['templates'] = 1;
118
		} else {
119
			$system_permissions['templates'] = '';
120
		}
121
		// Languages
122
		$system_permissions['languages_view'] = $admin->get_post('languages_view');
123
		$system_permissions['languages_install'] = $admin->get_post('languages_install');
124
		$system_permissions['languages_uninstall'] = $admin->get_post('languages_uninstall');
125
		if($system_permissions['languages_install'] == 1 OR $system_permissions['languages_uninstall'] == 1) {
126
			$system_permissions['languages'] = 1;
127
		} else {
128
			$system_permissions['languages'] = '';
129
		}
130
		// Admintools
131
		$system_permissions['admintools_settings'] = $admin->get_post('admintools_settings');
132
		if($system_permissions['admintools_settings'] == 1) {
133
			$system_permissions['admintools'] = 1;
134
		} else {
135
			$system_permissions['admintools'] = '';
136
		}
137
	if($system_permissions['modules'] == 1 OR $system_permissions['templates'] == 1 OR $system_permissions['languages'] == 1) {
138
		$system_permissions['addons'] = 1;
139
	} else {
140
		$system_permissions['addons'] = '';
141
	}
142
	// Settings
143
	$system_permissions['settings_basic'] = $admin->get_post('settings_basic');
144
	$system_permissions['settings_advanced'] = $admin->get_post('settings_advanced');
145
	if($system_permissions['settings_basic'] == 1 OR $system_permissions['settings_advanced'] == 1) {
146
		$system_permissions['settings'] = 1;
147
	} else {
148
		$system_permissions['settings'] = '';
149
	}
150
	// Access
151
		// Users
152
		$system_permissions['users_view'] = $admin->get_post('users_view');
153
		$system_permissions['users_add'] = $admin->get_post('users_add');
154
		$system_permissions['users_modify'] = $admin->get_post('users_modify');
155
		$system_permissions['users_delete'] = $admin->get_post('users_delete');
156
		if($system_permissions['users_view'] == 1 OR $system_permissions['users_add'] == 1 OR $system_permissions['users_modify'] == 1 OR $system_permissions['users_delete'] == 1) {
157
			$system_permissions['users'] = 1;
158
		} else {
159
			$system_permissions['users'] = '';
160
		}
161
		// Groups
162
		$system_permissions['groups_view'] = $admin->get_post('groups_view');
163
		$system_permissions['groups_add'] = $admin->get_post('groups_add');
164
		$system_permissions['groups_modify'] = $admin->get_post('groups_modify');
165
		$system_permissions['groups_delete'] = $admin->get_post('groups_delete');
166
		if($system_permissions['groups_view'] == 1 OR $system_permissions['groups_add'] == 1 OR $system_permissions['groups_modify'] == 1 OR $system_permissions['groups_delete'] == 1) {
167
			$system_permissions['groups'] = 1;
168
		} else {
169
			$system_permissions['groups'] = '';
170
		}
171
	if($system_permissions['users'] == 1 OR $system_permissions['groups'] == 1) {
172
		$system_permissions['access'] = 1;
173
	} else {
174
		$system_permissions['access'] = '';
175
	}
176
}
177

    
178
// Implode system permissions
179
$imploded_system_permissions = '';
180
foreach($system_permissions AS $name => $value) {
181
	if($value == true) {
182
		if($imploded_system_permissions == '') {
183
			$imploded_system_permissions = $name;
184
		} else {
185
			$imploded_system_permissions .= ','.$name;
186
		}
187
	}
188
}
189

    
190
$system_permissions = $imploded_system_permissions;
191

    
192
// Get module permissions
193
$module_permissions = '';
194
if($handle = opendir(WB_PATH.'/modules/')) {
195
	while (false !== ($file = readdir($handle))) {
196
		if($file != "." AND $file != ".." AND $file != ".svn" AND is_dir(WB_PATH."/modules/$file") AND file_exists(WB_PATH."/modules/$file/info.php")) {
197
			// Include the modules info file
198
			require(WB_PATH.'/modules/'.$file.'/info.php');
199
			// Check if it was selected to be used or not
200
			$count = 0;
201
			if(is_array($admin->get_post('module_permissions'))) {
202
				foreach($admin->get_post('module_permissions') AS $selected_name) {
203
					if($file == $selected_name) {
204
						$count = $count+1;
205
					}
206
				}
207
			}
208
			if($count == 0) {
209
				// Add unselected modules to list
210
				if($module_permissions == '') {
211
					$module_permissions = $file;
212
				} else {
213
					$module_permissions .= ','.$file;
214
				}
215
			}
216
		}
217
	}
218
}
219

    
220
// Get template permissions
221
$template_permissions = '';
222
if($handle = opendir(WB_PATH.'/templates/')) {
223
	while (false !== ($file = readdir($handle))) {
224
		if($file != "." AND $file != ".." AND $file != ".svn" AND is_dir(WB_PATH."/templates/$file") AND file_exists(WB_PATH."/templates/$file/info.php")) {
225
			// Include the modules info file
226
			require(WB_PATH.'/templates/'.$file.'/info.php');
227
			// Check if it was selected to be used or not
228
			$count = 0;
229
			if(is_array($admin->get_post('template_permissions'))) {
230
				foreach($admin->get_post('template_permissions') AS $selected_name) {
231
					if($file == $selected_name) {
232
						$count = $count+1;
233
					}
234
				}
235
			}
236
			if($count == 0) {
237
				// Add unselected modules to list
238
				if($template_permissions == '') {
239
					$template_permissions = $file;
240
				} else {
241
					$template_permissions .= ','.$file;
242
				}
243
			}
244
		}
245
	}
246
}
247

    
248
?>
(2-2/5)