X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=html%2Fgetkiosk.php;h=1b383e753632037e4ab817709ce8e94adef7aa04;hb=3a4267cf68ad2bab22b38af3536251e6d2e90ec2;hp=bd8d0e8e704fe23020fb127119f17b2337916aa5;hpb=c10d1b618eaf92e4245ae4cf24a50c63ac381926;p=gosa.git diff --git a/html/getkiosk.php b/html/getkiosk.php index bd8d0e8e7..1b383e753 100644 --- a/html/getkiosk.php +++ b/html/getkiosk.php @@ -49,26 +49,35 @@ function getkiosk ($id) /* Basic setup, remove eventually registered sessions */ @require_once ("../include/php_setup.inc"); @require_once ("functions.inc"); -error_reporting (E_ALL); +error_reporting (E_ALL | E_STRICT); session_start (); /* Logged in? Simple security check */ if (!isset($_SESSION['ui'])){ - gosa_log ("Error: getkiosk.php called without session"); - header ("Location: ../index.php"); + new log("security","fai","",array(),"Error: getkiosk.php called without session") ; + header ("Location: index.php"); exit; } $ui= $_SESSION["ui"]; $config= $_SESSION['config']; /* Check ACL's */ -$acl= get_permissions ($config->current['BASE'], $ui->subtreeACL); -$acl= get_module_permission($acl, "all", $config->current['BASE']); -if (chkacl($acl, "all") != ""){ - header ("Location: ../index.php"); +#FIXME Use more specific acl categories instead of all/all +$ui = get_userinfo(); + +$tmp = $ui->get_module_departments("server/goKioskService"); +$found = FALSE; +foreach($tmp as $dir){ + if(preg_match("/r/",$ui->get_permissions($dir,"server/goKioskService"))){ + $found = TRUE; + break; + } +} +if(!$found){ + header ("Location: index.php"); exit; } -$dir = search_config($config->data,"environment", "KIOSKPATH"); +$dir= $config->search('environment', 'kioskpath', array('tabs','menu')); getkiosk($dir."/".$_GET['id']); // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: