$res = $LMS->ExecHook('module_load_before', array('module' => $module)); if ($res['abort']) { $SESSION->close(); $DB->Destroy(); die; } $module = $res['module']; if ($AUTH->passwdrequiredchange) { $module = 'chpasswd'; } if ($module == '') { $module = ConfigHelper::getConfig('phpui.default_module'); } if (file_exists(MODULES_DIR . '/' . $module . '.php')) { $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';