Esempio n. 1
0
function EWGLoadProfileFile($file,$user,$group) {
	
	if ($user===false) {
		$p=array(
			$_SERVER['DOCUMENT_ROOT'].'/etc')
			;
			
		} else {
		if (!WGValidUser($user)) return false;
		if (!WGValidUser($group)) return false;
		$p=array(
			$_SERVER['DOCUMENT_ROOT'].'/etc',
			$_SERVER['DOCUMENT_ROOT'].'/etc/_grp/_all',
			$_SERVER['DOCUMENT_ROOT'].'/etc/_grp/'.$group,
			$_SERVER['DOCUMENT_ROOT'].'/home/'.$user.'/.webgui')
			;
		}
	
	$t0=array();
	foreach($p as $f) {
		$f=$f.'/'.$file;
		if (file_exists($f)) {
			$t1=@file_get_contents($f);	
			if ($t1!==false) {
				$t1=@json_decode($t1,true); 
				if (is_array($t1)) $t0=array_merge($t0,$t1);
				}
			}
		}
	if (!count($t0)) return false;
	$rs=array();
	foreach($t0 as $db) {
		$r=true;
		if (isset($db['can'])) {
			$r=WGCan($db['can']);
			}
			
		if (isset($db['group'])) {
			if ($group===false or $user===false) {
				$r=false;
				} else {
				$r = isset($db['group'][$group]) ? $db['group'][$group] : true;
				}
			}
		if ($r) $rs[] = $db;
		}
		
	return EWGListKeyOrder($rs);
	}
Esempio n. 2
0
function checkAccess() {
	if (!WGSession() or !WGCan('root')) FatalError("Access denied");
	}