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); }
function checkAccess() { if (!WGSession() or !WGCan('root')) FatalError("Access denied"); }