Changeset 107 for trunk/expressoAdmin1_2/inc/class.functions.inc.php
- Timestamp:
- 11/12/07 07:15:17 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.functions.inc.php
r89 r107 46 46 $array_acl = $this->make_array_acl($acl['acl']); 47 47 48 switch($access) 49 { 50 case list_users: 51 if ($array_acl[acl_add_users] || $array_acl[acl_edit_users] || $array_acl[acl_delete_users] || $array_acl[acl_change_users_password] || $array_acl[acl_change_users_quote] || $array_acl[acl_edit_sambausers_attributes] || $array_acl[acl_view_users] || $array_acl[acl_manipulate_corporative_information]) 52 return true; 53 break; 54 case list_groups: 55 if ($array_acl[acl_add_groups] || $array_acl[acl_edit_groups] || $array_acl[acl_delete_groups]) 56 return true; 57 break; 58 case list_maillists: 59 if ($array_acl[acl_add_maillists] || $array_acl[acl_edit_maillists] || $array_acl[acl_delete_maillists]) 60 return true; 61 break; 62 case list_sectors: 63 if ($array_acl[acl_create_sectors] || $array_acl[acl_edit_sectors] || $array_acl[acl_delete_sectors]) 64 return true; 65 break; 66 case list_computers: 67 if ($array_acl[acl_create_computers] || $array_acl[acl_edit_computers] || $array_acl[acl_delete_computers]) 68 return true; 69 break; 70 71 case display_groups: 72 if ( $array_acl[acl_edit_users] || $array_acl[acl_view_users] || ($array_acl[acl_edit_sambausers_attributes] && ($this->current_config['expressoAdmin_samba_support'] == 'true')) ) 73 return true; 74 break; 75 case display_emailconfig: 76 if ($array_acl[acl_edit_users] || $array_acl[acl_view_users]) 77 return true; 78 break; 79 case display_applications: 80 if ($array_acl[acl_edit_users] || $array_acl[acl_view_users]) 81 return true; 82 break; 83 case display_emaillists: 84 if ($array_acl[acl_edit_users] || $array_acl[acl_view_users]) 85 return true; 86 break; 87 88 default: 89 return $array_acl["acl_$access"]; 90 } 91 return false; 92 } 93 94 /* OLD FUNCTION 95 function check_acl($account_lid, $access) 96 { 97 $acl = $this->read_acl($account_lid); 98 $array_acl = $this->make_array_acl($acl['acl']); 99 48 100 //What access ?? In the IF, verify if have access. 49 101 switch($access) … … 73 125 return true; 74 126 break; 127 case edit_users_picture: 128 if ($array_acl[acl_edit_users_picture]) 129 return true; 130 break; 75 131 case manipulate_corporative_information: 76 132 if ($array_acl[acl_manipulate_corporative_information]) … … 93 149 return true; 94 150 break; 95 case edit_sambausers_attributes: 151 case edit_sambausers_attributes: case list_maillists: 152 if ($array_acl[acl_add_maillists] || $array_acl[acl_edit_maillists] || $array_acl[acl_delete_maillists]) 153 return true; 154 break; 155 96 156 if ($array_acl[acl_edit_sambausers_attributes]) 97 157 return true; … … 202 262 203 263 default: 204 return false;264 return $array_acl["acl_$access"]; 205 265 } 206 266 return false; 207 267 } 268 */ 208 269 209 270 // Read acl from db … … 227 288 228 289 // Make a array read humam 229 // Last acl: 268435456, 536870912290 // Last acl: 536.870.912 230 291 function make_array_acl($acl) 231 292 { 293 $array_acl_tmp = array(); 294 $tmp = array( "acl_add_users", 295 "acl_edit_users", 296 "acl_delete_users", 297 "acl_EMPTY1", 298 "acl_add_groups", 299 "acl_edit_groups", 300 "acl_delete_groups", 301 "acl_change_users_password", 302 "acl_add_maillists", 303 "acl_edit_maillists", 304 "acl_delete_maillists", 305 "acl_EMPTY2", 306 "acl_create_sectors", 307 "acl_edit_sectors", 308 "acl_delete_sectors", 309 "acl_edit_sambausers_attributes", 310 "acl_view_global_sessions", 311 "acl_view_logs", 312 "acl_change_users_quote", 313 "acl_set_user_default_password", 314 "acl_create_computers", 315 "acl_edit_computers", 316 "acl_delete_computers", 317 "acl_rename_users", 318 "acl_edit_sambadomains", 319 "acl_view_users", 320 "acl_edit_email_groups", 321 "acl_empty_user_inbox", 322 "acl_manipulate_corporative_information", 323 "acl_edit_users_picture" 324 ); 325 326 foreach ($tmp as $index => $right) 327 { 328 $bin = ''; 329 for ($i=0; $i<$index; $i++) 330 { 331 $bin .= '0'; 332 } 333 $bin = '1' . $bin; 334 335 $array_acl[$right] = $acl & bindec($bin); 336 } 337 return $array_acl; 338 /* 232 339 $array_acl['acl_add_users'] = $acl & 1; 233 340 $array_acl['acl_edit_users'] = $acl & 2; 234 341 $array_acl['acl_delete_users'] = $acl & 4; 235 $array_acl['acl_rename_users'] = $acl & 8388608; 236 $array_acl['acl_view_users'] = $acl & 33554432; 237 $array_acl['acl_manipulate_corporative_information'] = $acl & 268435456; 342 //8 238 343 $array_acl['acl_add_groups'] = $acl & 16; 239 344 $array_acl['acl_edit_groups'] = $acl & 32; 240 345 $array_acl['acl_delete_groups'] = $acl & 64; 241 $array_acl['acl_edit_email_groups'] = $acl & 67108864;242 346 $array_acl['acl_change_users_password'] = $acl & 128; 243 $array_acl['acl_change_users_quote'] = $acl & 262144;244 $array_acl['acl_set_user_default_password'] = $acl & 524288;245 $array_acl['acl_empty_user_inbox'] = $acl & 134217728;246 $array_acl['acl_edit_sambausers_attributes'] = $acl & 32768;247 $array_acl['acl_edit_sambadomains'] = $acl & 16777216;248 347 $array_acl['acl_add_maillists'] = $acl & 256; 249 348 $array_acl['acl_edit_maillists'] = $acl & 512; 250 349 $array_acl['acl_delete_maillists'] = $acl & 1024; 350 //2048 251 351 $array_acl['acl_create_sectors'] = $acl & 4096; 252 352 $array_acl['acl_edit_sectors'] = $acl & 8192; 253 353 $array_acl['acl_delete_sectors'] = $acl & 16384; 354 $array_acl['acl_edit_sambausers_attributes'] = $acl & 32768; 254 355 $array_acl['acl_view_global_sessions'] = $acl & 65536; 255 356 $array_acl['acl_view_logs'] = $acl & 131072; 357 $array_acl['acl_change_users_quote'] = $acl & 262144; 358 $array_acl['acl_set_user_default_password'] = $acl & 524288; 256 359 $array_acl['acl_create_computers'] = $acl & 1048576; 257 360 $array_acl['acl_edit_computers'] = $acl & 2097152; 258 361 $array_acl['acl_delete_computers'] = $acl & 4194304; 362 $array_acl['acl_rename_users'] = $acl & 8388608; 363 $array_acl['acl_edit_sambadomains'] = $acl & 16777216; 364 $array_acl['acl_view_users'] = $acl & 33554432; 365 $array_acl['acl_edit_email_groups'] = $acl & 67108864; 366 $array_acl['acl_empty_user_inbox'] = $acl & 134217728; 367 $array_acl['acl_manipulate_corporative_information'] = $acl & 268435456; 368 $array_acl['acl_edit_users_picture'] = $acl & 536870912; 259 369 return $array_acl; 370 */ 260 371 } 261 372
Note: See TracChangeset
for help on using the changeset viewer.