Project

General

Profile

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

    
19

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

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

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

    
191
$system_permissions = $imploded_system_permissions;
192

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

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

    
249
?>
(2-2/5)