* @copyright 2019 MyAAC * @link https://my-aac.org */ use MyAAC\UsageStatistics; use MyAAC\Visitors; require_once 'common.php'; require_once SYSTEM . 'functions.php'; $uri = $_SERVER['REQUEST_URI']; if(false !== strpos($uri, 'index.php')) { $uri = str_replace_first('/index.php', '', $uri); } if(0 === strpos($uri, '/')) { $uri = str_replace_first('/', '', $uri); } if(preg_match("/^[A-Za-z0-9-_%'+\/]+\.png$/i", $uri)) { if (!empty(BASE_DIR)) { $tmp = explode('.', str_replace_first(str_replace_first('/', '', BASE_DIR) . '/', '', $uri)); } else { $tmp = explode('.', $uri); } $_REQUEST['name'] = urldecode($tmp[0]); chdir(TOOLS . 'signature'); include TOOLS . 'signature/index.php'; exit(); } if(preg_match("/^(.*)\.(gif|jpg|png|jpeg|tiff|bmp|css|js|less|map|html|zip|rar|gz|ttf|woff|ico)$/i", $_SERVER['REQUEST_URI'])) { http_response_code(404); exit; } if((!isset($config['installed']) || !$config['installed']) && file_exists(BASE . 'install')) { header('Location: ' . BASE_URL . 'install/'); exit(); } $template_place_holders = array(); require_once SYSTEM . 'init.php'; require_once SYSTEM . 'template.php'; require_once SYSTEM . 'login.php'; require_once SYSTEM . 'status.php'; $twig->addGlobal('config', $config); $twig->addGlobal('status', $status); // backward support for gesior if(setting('core.backward_support')) { define('INITIALIZED', true); $SQL = $db; $layout_header = template_header(); $layout_name = $template_path; $news_content = ''; $tickers_content = ''; $main_content = ''; $config['access_admin_panel'] = 2; $group_id_of_acc_logged = 0; if($logged && $account_logged) $group_id_of_acc_logged = $account_logged->getGroupId(); $config['site'] = &$config; $config['server'] = &$config['lua']; $config['site']['shop_system'] = setting('core.gifts_system'); $config['site']['gallery_page'] = true; if(!isset($config['vdarkborder'])) $config['vdarkborder'] = '#505050'; if(!isset($config['darkborder'])) $config['darkborder'] = '#D4C0A1'; if(!isset($config['lightborder'])) $config['lightborder'] = '#F1E0C6'; $config['site']['download_page'] = true; $config['site']['serverinfo_page'] = true; $config['site']['screenshot_page'] = true; $forumSetting = setting('core.forum'); if($forumSetting != '') $config['forum_link'] = (strtolower($forumSetting) === 'site' ? getLink('forum') : $forumSetting); foreach($status as $key => $value) $config['status']['serverStatus_' . $key] = $value; } require_once SYSTEM . 'router.php'; $hooks->trigger(HOOK_STARTUP); // anonymous usage statistics // sent only when user agrees if(setting('core.anonymous_usage_statistics')) { $report_time = 30 * 24 * 60 * 60; // report one time per 30 days $should_report = true; $value = ''; if($cache->enabled() && $cache->fetch('last_usage_report', $value)) { $should_report = time() > (int)$value + $report_time; } else { $value = ''; if(fetchDatabaseConfig('last_usage_report', $value)) { $should_report = time() > (int)$value + $report_time; if($cache->enabled()) { $cache->set('last_usage_report', $value, 60 * 60); } } else { registerDatabaseConfig('last_usage_report', time() - ($report_time - (7 * 24 * 60 * 60))); // first report after a week $should_report = false; } } if($should_report) { UsageStatistics::report(); updateDatabaseConfig('last_usage_report', time()); if($cache->enabled()) { $cache->set('last_usage_report', time(), 60 * 60); } } } if(setting('core.views_counter')) require_once SYSTEM . 'counter.php'; if(setting('core.visitors_counter')) { $visitors = new Visitors(setting('core.visitors_counter_ttl')); } /** * @var OTS_Account $account_logged */ if ($logged && admin()) { $content .= $twig->render('admin-bar.html.twig', [ 'username' => USE_ACCOUNT_NAME ? $account_logged->getName() : $account_logged->getId() ]); } $title_full = (isset($title) ? $title . ' - ' : '') . $config['lua']['serverName']; require $template_path . '/' . $template_index; echo base64_decode('PCEtLSBQb3dlcmVkIGJ5IE15QUFDIDo6IGh0dHBzOi8vd3d3Lm15LWFhYy5vcmcvIC0tPg==') . PHP_EOL; if(superAdmin()) { echo ''; echo PHP_EOL . ''; if(function_exists('memory_get_peak_usage')) { echo PHP_EOL . ''; } } $hooks->trigger(HOOK_FINISH);