summaryrefslogblamecommitdiffstats
path: root/inc/permission.inc.php
blob: defa9f4dd8630f3c870ab111e4764860c64577eb (plain) (tree)
1
2
3
4
5
6
7
8
9



                
                                            



                                                                                          
          


                                               



                                                                                                                    



















                                                                             

 
<?php

class Permission
{
	private static $permissions = array(
		'superadmin' => 1, // Can do everything
		'baseconfig_global' => 2, // Change configuration globally
		'baseconfig_local' => 4, // Change configuration for specifig groups/rooms
		'translation' => 8, // Can edit translations
	);

	public static function get($permission)
	{
		if (!isset(self::$permissions[$permission])) Util::traceError('Invalid permission: ' . $permission);
		return self::$permissions[$permission];
	}


	public static function addGlobalTags(&$array, $locationid, $disabled)
	{
		if (!Module::isAvailable('permissionmanager'))
			return;
		foreach ($disabled as $perm) {
			if (User::hasPermission($perm, $locationid))
				continue;
			if (strpos($perm, '.') === false) {
				$array[$perm]['disabled'] = 'disabled';
				continue;
			}
			$temp =& $array;
			foreach (explode('.', $perm) as $sub) {
				$temp =& $temp[$sub];
			}
			$temp['disabled'] = 'disabled';
		}
	}

}