コード例 #1
0
ファイル: index.php プロジェクト: oswida/lms
     $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) {