projects
/
mailer.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
'NO-ACL' is more clear that we don't have an ACL for the given admin than three aster...
[mailer.git]
/
inc
/
libs
/
admins_functions.php
diff --git
a/inc/libs/admins_functions.php
b/inc/libs/admins_functions.php
index 9739305777b21a352542a83ef24cf3e966d20b73..c1987fb465b8c4cfd7b5841f26f25a63ab040f4f 100644
(file)
--- a/
inc/libs/admins_functions.php
+++ b/
inc/libs/admins_functions.php
@@
-41,18
+41,20
@@
if (!defined('__SECURITY')) {
}
// Check ACL for menu combination
}
// Check ACL for menu combination
-function adminsCheckAdminAcl ($action, $what) {
- // If action is login or logout allow allways!
- $default = 'allow';
+function isAdminsAllowedByAcl ($action, $what) {
+ // Get admin's id
+ $adminId = getCurrentAdminId();
+
if (($action == 'login') || ($action == 'logout')) {
if (($action == 'login') || ($action == 'logout')) {
+ // If action is login or logout allow allways!
return true;
return true;
- }
// END - if
-
- // Default is deny
- $ret = false;
+ }
elseif (isset($GLOBALS[__FUNCTION__][$adminId][$action][$what])) {
+ // If we have cache, use it
+ return $GLOBALS[__FUNCTION__][$adminId][$action][$what];
+ }
- //
Get admin's i
d
- $
adminId = getCurrentAdminId()
;
+ //
But default result is faile
d
+ $
GLOBALS[__FUNCTION__][$action][$what] = false
;
// Get admin's defult access right
$default = getAdminDefaultAcl($adminId);
// Get admin's defult access right
$default = getAdminDefaultAcl($adminId);
@@
-63,7
+65,7
@@
function adminsCheckAdminAcl ($action, $what) {
$parent_action = getActionFromModuleWhat('admin', $what);
// Check with this function...
$parent_action = getActionFromModuleWhat('admin', $what);
// Check with this function...
- $parent =
adminsCheckAdmin
Acl($parent_action, '');
+ $parent =
isAdminsAllowedBy
Acl($parent_action, '');
} else {
// Anything else is true!
$parent = false;
} else {
// Anything else is true!
$parent = false;
@@
-81,7
+83,7
@@
function adminsCheckAdminAcl ($action, $what) {
$aclMode = $GLOBALS['cache_array']['admin_acls']['access_mode'][$adminId][$key];
// Log debug message
$aclMode = $GLOBALS['cache_array']['admin_acls']['access_mode'][$adminId][$key];
// Log debug message
- logDebugMessage(__FUNCTION__, __LINE__, 'action=' . $action . ',key=' . $key . ',acl_mode=' . $aclMode);
+
//* DEBUG: */
logDebugMessage(__FUNCTION__, __LINE__, 'action=' . $action . ',key=' . $key . ',acl_mode=' . $aclMode);
// Count cache hits
incrementStatsEntry('cache_hits');
// Count cache hits
incrementStatsEntry('cache_hits');
@@
-93,13
+95,13
@@
function adminsCheckAdminAcl ($action, $what) {
$aclMode = $GLOBALS['cache_array']['admin_acls']['access_mode'][$adminId][$key];
// Log debug message
$aclMode = $GLOBALS['cache_array']['admin_acls']['access_mode'][$adminId][$key];
// Log debug message
- logDebugMessage(__FUNCTION__, __LINE__, 'what=' . $what . ',key=' . $key . ',acl_mode=' . $aclMode);
+
//* DEBUG: */
logDebugMessage(__FUNCTION__, __LINE__, 'what=' . $what . ',key=' . $key . ',acl_mode=' . $aclMode);
// Count cache hits
incrementStatsEntry('cache_hits');
}
} elseif (!isExtensionActive('cache')) {
// Count cache hits
incrementStatsEntry('cache_hits');
}
} elseif (!isExtensionActive('cache')) {
- //
Old version
, so load it from database
+ //
Extension ext-cache is absent
, so load it from database
$result = false;
if (!empty($action)) {
// Main menu
$result = false;
if (!empty($action)) {
// Main menu
@@
-123,14
+125,14
@@
function adminsCheckAdminAcl ($action, $what) {
// Check ACL and (maybe) allow
//* DEBUG: */ debugOutput('default='.$default.',acl_mode='.$aclMode.',parent='.intval($parent));
// Check ACL and (maybe) allow
//* DEBUG: */ debugOutput('default='.$default.',acl_mode='.$aclMode.',parent='.intval($parent));
- if ((($default == 'allow') && ($aclMode != 'deny')) || (($default == 'deny') && ($aclMode == 'allow')) || ($parent === true) || (($default == '
***
') && ($aclMode == 'failed') && ($parent === false))) {
+ if ((($default == 'allow') && ($aclMode != 'deny')) || (($default == 'deny') && ($aclMode == 'allow')) || ($parent === true) || (($default == '
NO-ACL
') && ($aclMode == 'failed') && ($parent === false))) {
// Access is granted
// Access is granted
- $
ret
= true;
+ $
GLOBALS[__FUNCTION__][$adminId][$action][$what]
= true;
} // END - if
// Return value
//* DEBUG: */ debugOutput(__FUNCTION__.'['.__LINE__.']:act='.$action.',wht='.$what.',default='.$default.',aclMode='.$aclMode);
} // END - if
// Return value
//* DEBUG: */ debugOutput(__FUNCTION__.'['.__LINE__.']:act='.$action.',wht='.$what.',default='.$default.',aclMode='.$aclMode);
- return $
ret
;
+ return $
GLOBALS[__FUNCTION__][$adminId][$action][$what]
;
}
// Create email link to admins's account
}
// Create email link to admins's account