$global_allow = !$AUTH->id || !empty($access['allow']) && preg_match('/' . $access['allow'] . '/i', $module); if ($AUTH->id && ($rights = $LMS->GetUserRights($AUTH->id))) { foreach ($rights as $level) { if (!$global_allow && !$deny && isset($access['table'][$level]['deny_reg'])) { $deny = (bool) preg_match('/' . $access['table'][$level]['deny_reg'] . '/i', $module); } elseif (!$allow && isset($access['table'][$level]['allow_reg'])) { $allow = (bool) preg_match('/' . $access['table'][$level]['allow_reg'] . '/i', $module); } } } if ($SYSLOG) { $SYSLOG->NewTransaction($module); } if ($global_allow || $allow && !$deny) { $layout['module'] = $module; $LMS->InitUI(); include MODULES_DIR . '/' . $module . '.php'; } else { if ($SYSLOG) { $SYSLOG->AddMessage(SYSLOG_RES_USER, SYSLOG_OPER_USERNOACCESS, array($SYSLOG_RESOURCE_KEYS[SYSLOG_RES_USER] => $AUTH->id), array($SYSLOG_RESOURCE_KEYS[SYSLOG_RES_USER])); } $SMARTY->display('noaccess.html'); } } else { $layout['module'] = 'notfound'; $layout['pagetitle'] = trans('Error!'); $SMARTY->assign('layout', $layout); $SMARTY->assign('server', $_SERVER); $SMARTY->display('notfound.html'); } if ($SESSION->get('lastmodule') != $module) {