* [ADDED] Smarty acl_check function * [ADDED] Optional default return value for getValue calls * [UPDATE] ACL Checks in page controllers * [UPDATE] Navigation template to use check_acl from Smarty * [ADDED] New ACL options where needed * [REMOVED] Disable pages from System Settings Tab * [ADDED] Above removed pages into ACL Settings Tab This will make usage of ACLs a bit easier and transparent. Also fixes #1731 once merged.
30 lines
876 B
PHP
30 lines
876 B
PHP
<?php
|
|
$smarty->registerPlugin("function","acl_check", "check_acl_access");
|
|
|
|
function check_acl_access($params, $smarty)
|
|
{
|
|
$isAuthenticated = isset($_SESSION['AUTHENTICATED']) ? true : false;
|
|
$iAclSetting = $params['acl'];
|
|
$sUrl = '<li class="'.$params['icon'].'"><a href="'.$_SERVER['SCRIPT_NAME'].'?page='.$params['page'].'&action='.$params['action'].'">'.$params['name'].'</a></li>';
|
|
if (isset($params['fallback']))
|
|
$sFallbackUrl = '<li class="'.$params['icon'].'"><a href="'.$_SERVER['SCRIPT_NAME'].'?page='.$params['page'].'">'.$params['name'].'</a></li>';
|
|
switch($iAclSetting) {
|
|
case '0':
|
|
if ($isAuthenticated) {
|
|
echo $sUrl;
|
|
} else if (isset($params['fallback']) && !$isAuthenticated) {
|
|
echo $sFallbackUrl;
|
|
}
|
|
break;
|
|
case '1':
|
|
echo $sUrl;
|
|
break;
|
|
case '2':
|
|
break;
|
|
default:
|
|
echo $sUrl;
|
|
break;
|
|
}
|
|
}
|
|
?>
|