RuleEngine + Frame
This commit is contained in:
parent
d5783efff7
commit
ea1aae60c3
@ -1,4 +0,0 @@
|
|||||||
<div id="footerdiv" class="content-responsive">
|
|
||||||
<hr />
|
|
||||||
made with vanilla PHP and MySQL<span class="footerspan2">, no frameworks, no bootstrap, no unnecessary* javascript</span>
|
|
||||||
</div>
|
|
@ -1,19 +0,0 @@
|
|||||||
<div id="headerdiv">
|
|
||||||
<div class="logowrapper">
|
|
||||||
<a href="/"><img class="logo" src="/data/images/logo.png" alt="Mikescher.com Logo" /></a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tabrow">
|
|
||||||
<a class="tab <?php if ($HEADER_ACTIVE === 'home') echo 'tab_active'; ?>" href="/">Home</a>
|
|
||||||
<a class="tab <?php if ($HEADER_ACTIVE === 'euler') echo 'tab_active'; ?>" href="/blog/1/Project_Euler_with_Befunge">Project Euler</a>
|
|
||||||
<a class="tab <?php if ($HEADER_ACTIVE === 'blog') echo 'tab_active'; ?>" href="/blog">Blog</a>
|
|
||||||
<a class="tab <?php if ($HEADER_ACTIVE === 'programs') echo 'tab_active'; ?>" href="/programs">Programs</a>
|
|
||||||
<a class="tab <?php if ($HEADER_ACTIVE === 'webapps') echo 'tab_active'; ?>" href="/webapps">Tools</a>
|
|
||||||
<?php if (isLoggedInByCookie()): ?><a class="tab tab_admin" href="/admin">Admin</a><?php endif; ?>
|
|
||||||
<a class="tab <?php if ($HEADER_ACTIVE === 'about') echo 'tab_active'; ?>" href="/about">About</a>
|
|
||||||
<div class="tab_split" ></div>
|
|
||||||
<?php if (isLoggedInByCookie()): ?><a class="tab tab_logout" href="/logout"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-8 0 40 32"><path d="m 18,24 0,4 -14,0 0,-24 14,0 0,4 4,0 0,-8 -22,0 0,32 22,0 0,-8 z m -6,-4.003 0,-8 12,0 0,-4 8,8 -8,8 0,-4 z"></path></svg></a><?php endif; ?>
|
|
||||||
<a class="tab tab_github" href="https://github.com/Mikescher/">Github</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
52
www/frames/default_frame.php
Normal file
52
www/frames/default_frame.php
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
require_once (__DIR__ . '/../internals/website.php');
|
||||||
|
|
||||||
|
/** @var PageFrameOptions $FRAME_OPTIONS */ global $FRAME_OPTIONS;
|
||||||
|
/** @var URLRoute $ROUTE */ global $ROUTE;
|
||||||
|
/** @var Website $SITE */ global $SITE;
|
||||||
|
?>
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title><?php echo $FRAME_OPTIONS->title; ?></title>
|
||||||
|
<meta name="google-site-verification" content="pZOhmjeJcQbRMNa8xRLam4dwJ2oYwMwISY1lRKreSSs"/>
|
||||||
|
<link rel="icon" type="image/png" href="/data/images/favicon.png"/>
|
||||||
|
<link rel="canonical" href="<?php echo $FRAME_OPTIONS->canonical_url; ?>"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="mastercontainer">
|
||||||
|
|
||||||
|
<div id="headerdiv">
|
||||||
|
<div class="logowrapper">
|
||||||
|
<a href="/"><img class="logo" src="/data/images/logo.png" alt="Mikescher.com Logo" /></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tabrow">
|
||||||
|
<a class="tab <?php if ($FRAME_OPTIONS->activeHeader === 'home') echo 'tab_active'; ?>" href="/">Home</a>
|
||||||
|
<a class="tab <?php if ($FRAME_OPTIONS->activeHeader === 'euler') echo 'tab_active'; ?>" href="/blog/1/Project_Euler_with_Befunge">Project Euler</a>
|
||||||
|
<a class="tab <?php if ($FRAME_OPTIONS->activeHeader === 'blog') echo 'tab_active'; ?>" href="/blog">Blog</a>
|
||||||
|
<a class="tab <?php if ($FRAME_OPTIONS->activeHeader === 'programs') echo 'tab_active'; ?>" href="/programs">Programs</a>
|
||||||
|
<a class="tab <?php if ($FRAME_OPTIONS->activeHeader === 'webapps') echo 'tab_active'; ?>" href="/webapps">Tools</a>
|
||||||
|
<?php if ($SITE->isLoggedInByCookie()): ?><a class="tab tab_admin" href="/admin">Admin</a><?php endif; ?>
|
||||||
|
<a class="tab <?php if ($FRAME_OPTIONS->activeHeader === 'about') echo 'tab_active'; ?>" href="/about">About</a>
|
||||||
|
<div class="tab_split" ></div>
|
||||||
|
<?php if ($SITE->isLoggedInByCookie()): ?><a class="tab tab_logout" href="/logout"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-8 0 40 32"><path d="m 18,24 0,4 -14,0 0,-24 14,0 0,4 4,0 0,-8 -22,0 0,32 22,0 0,-8 z m -6,-4.003 0,-8 12,0 0,-4 8,8 -8,8 0,-4 z"></path></svg></a><?php endif; ?>
|
||||||
|
<a class="tab tab_github" href="https://github.com/Mikescher/">Github</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php echo $FRAME_OPTIONS->raw; ?>
|
||||||
|
|
||||||
|
<div id="footerdiv" class="content-responsive">
|
||||||
|
<hr />
|
||||||
|
made with vanilla PHP and MySQL<span class="footerspan2">, no frameworks, no bootstrap, no unnecessary* javascript</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
259
www/index.php
259
www/index.php
@ -7,212 +7,81 @@ $site->init();
|
|||||||
|
|
||||||
$URL_RULES =
|
$URL_RULES =
|
||||||
[
|
[
|
||||||
[ 'url' => [], 'target' => 'pages/main.php', 'options' => [], ],
|
[ 'url' => [], 'target' => 'main.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['index'], 'target' => 'pages/main.php', 'options' => [], ],
|
[ 'url' => ['index'], 'target' => 'main.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['index.php'], 'target' => 'pages/main.php', 'options' => [], ],
|
[ 'url' => ['index.php'], 'target' => 'main.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['msmain', 'index'], 'target' => 'pages/main.php', 'options' => [], ],
|
[ 'url' => ['msmain', 'index'], 'target' => 'main.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['about'], 'target' => 'pages/about.php', 'options' => [], ],
|
[ 'url' => ['about'], 'target' => 'about.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['msmain', 'about'], 'target' => 'pages/about.php', 'options' => [], ],
|
[ 'url' => ['msmain', 'about'], 'target' => 'about.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['login'], 'target' => 'pages/login.php', 'options' => [ 'login_target' => '/' ], ],
|
[ 'url' => ['login'], 'target' => 'login.php', 'options' => [ 'http' ], 'parameter' => [ 'login_target' => '/' ], ],
|
||||||
[ 'url' => ['logout'], 'target' => 'pages/logout.php', 'options' => [ 'logout_target' => '/' ], ],
|
[ 'url' => ['logout'], 'target' => 'logout.php', 'options' => [ 'http' ], 'parameter' => [ 'logout_target' => '/' ], ],
|
||||||
|
|
||||||
[ 'url' => ['programs'], 'target' => 'pages/programs_list.php', 'options' => [ 'categoryfilter' => '' ], ],
|
[ 'url' => ['programs'], 'target' => 'programs_list.php', 'options' => [ 'http' ], 'parameter' => [ 'categoryfilter' => '' ], ],
|
||||||
[ 'url' => ['programs', 'index'], 'target' => 'pages/programs_list.php', 'options' => [ 'categoryfilter' => '%GET%' ], ],
|
[ 'url' => ['programs', 'index'], 'target' => 'programs_list.php', 'options' => [ 'http' ], 'parameter' => [ 'categoryfilter' => '%GET%' ], ],
|
||||||
[ 'url' => ['programs', 'index'], 'target' => 'pages/programs_list.php', 'options' => [ 'categoryfilter' => '' ], ],
|
[ 'url' => ['programs', 'index'], 'target' => 'programs_list.php', 'options' => [ 'http' ], 'parameter' => [ 'categoryfilter' => '' ], ],
|
||||||
[ 'url' => ['programs', 'cat', '?{categoryfilter}'], 'target' => 'pages/programs_list.php', 'options' => [ 'categoryfilter' => '%URL%' ], ],
|
[ 'url' => ['programs', 'cat', '?{categoryfilter}'], 'target' => 'programs_list.php', 'options' => [ 'http' ], 'parameter' => [ 'categoryfilter' => '%URL%' ], ],
|
||||||
[ 'url' => ['downloads', 'details.php'], 'target' => 'pages/programs_list.php', 'options' => [ 'categoryfilter' => '' ], ],
|
[ 'url' => ['downloads', 'details.php'], 'target' => 'programs_list.php', 'options' => [ 'http' ], 'parameter' => [ 'categoryfilter' => '' ], ],
|
||||||
[ 'url' => ['downloads', 'downloads.php'], 'target' => 'pages/programs_list.php', 'options' => [ 'categoryfilter' => '' ], ],
|
[ 'url' => ['downloads', 'downloads.php'], 'target' => 'programs_list.php', 'options' => [ 'http' ], 'parameter' => [ 'categoryfilter' => '' ], ],
|
||||||
[ 'url' => ['programs', 'view', '?{id}'], 'target' => 'pages/programs_view.php', 'options' => [ 'id' => '%URL%' ], ],
|
[ 'url' => ['programs', 'view', '?{id}'], 'target' => 'programs_view.php', 'options' => [ 'http' ], 'parameter' => [ 'id' => '%URL%' ], ],
|
||||||
[ 'url' => ['programs', 'view'], 'target' => 'pages/programs_view.php', 'options' => [ 'id' => '%GET%' ], ],
|
[ 'url' => ['programs', 'view'], 'target' => 'programs_view.php', 'options' => [ 'http' ], 'parameter' => [ 'id' => '%GET%' ], ],
|
||||||
[ 'url' => ['downloads', '?{id}'], 'target' => 'pages/programs_download.php', 'options' => [ 'id' => '%URL%' ], ],
|
[ 'url' => ['downloads', '?{id}'], 'target' => 'programs_download.php', 'options' => [ 'http' ], 'parameter' => [ 'id' => '%URL%' ], ],
|
||||||
[ 'url' => ['programs', 'download', '?{id}'], 'target' => 'pages/programs_download.php', 'options' => [ 'id' => '%URL%' ], ],
|
[ 'url' => ['programs', 'download', '?{id}'], 'target' => 'programs_download.php', 'options' => [ 'http' ], 'parameter' => [ 'id' => '%URL%' ], ],
|
||||||
[ 'url' => ['programs', 'download'], 'target' => 'pages/programs_download.php', 'options' => [ 'id' => '%GET%' ], ],
|
[ 'url' => ['programs', 'download'], 'target' => 'programs_download.php', 'options' => [ 'http' ], 'parameter' => [ 'id' => '%GET%' ], ],
|
||||||
|
|
||||||
[ 'url' => ['books'], 'target' => 'pages/books_list.php', 'options' => [], ],
|
[ 'url' => ['books'], 'target' => 'books_list.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['books', 'list'], 'target' => 'pages/books_list.php', 'options' => [], ],
|
[ 'url' => ['books', 'list'], 'target' => 'books_list.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['books', 'view', '?{id}'], 'target' => 'pages/books_view.php', 'options' => [ 'id' => '%GET%' ], ],
|
[ 'url' => ['books', 'view', '?{id}'], 'target' => 'books_view.php', 'options' => [ 'http' ], 'parameter' => [ 'id' => '%GET%' ], ],
|
||||||
[ 'url' => ['books', 'view', '?{id}', '*'], 'target' => 'pages/books_view.php', 'options' => [ 'id' => '%URL%' ], ],
|
[ 'url' => ['books', 'view', '?{id}', '*'], 'target' => 'books_view.php', 'options' => [ 'http' ], 'parameter' => [ 'id' => '%URL%' ], ],
|
||||||
|
|
||||||
[ 'url' => ['update.php'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'progs::updatecheck' ], ],
|
[ 'url' => ['update.php'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'progs::updatecheck' ], ],
|
||||||
[ 'url' => ['update.php', '?{Name}'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'progs::updatecheck' ], ],
|
[ 'url' => ['update.php', '?{Name}'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'progs::updatecheck' ], ],
|
||||||
[ 'url' => ['update'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'progs::updatecheck' ], ],
|
[ 'url' => ['update'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'progs::updatecheck' ], ],
|
||||||
[ 'url' => ['update', '?{Name}'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'progs::updatecheck' ], ],
|
[ 'url' => ['update', '?{Name}'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'progs::updatecheck' ], ],
|
||||||
[ 'url' => ['update2'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'progs::updatecheck' ], ],
|
[ 'url' => ['update2'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'progs::updatecheck' ], ],
|
||||||
[ 'url' => ['api', 'update'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'progs::updatecheck' ], ],
|
[ 'url' => ['api', 'update'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'progs::updatecheck' ], ],
|
||||||
[ 'url' => ['api', 'update', '?{Name}'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'progs::updatecheck' ], ],
|
[ 'url' => ['api', 'update', '?{Name}'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'progs::updatecheck' ], ],
|
||||||
[ 'url' => ['api', 'test'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'base::test' ], ],
|
[ 'url' => ['api', 'test'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'base::test' ], ],
|
||||||
[ 'url' => ['api', 'setselfadress'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'server::setselfaddress' ], ],
|
[ 'url' => ['api', 'setselfadress'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'server::setselfaddress' ], ],
|
||||||
[ 'url' => ['api', 'statsping'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'alephnote::statsping' ], ],
|
[ 'url' => ['api', 'statsping'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'alephnote::statsping' ], ],
|
||||||
[ 'url' => ['api', 'webhook', '?{target}'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'server::gitwebhook' ], ],
|
[ 'url' => ['api', 'webhook', '?{target}'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'server::gitwebhook' ], ],
|
||||||
[ 'url' => ['api', 'backupupload'], 'target' => 'pages/api.php', 'options' => [ '_opt' => 'http', 'cmd' => 'server::backupupload' ], ],
|
[ 'url' => ['api', 'backupupload'], 'target' => 'api.php', 'options' => [ 'http' ], 'parameter' => [ 'cmd' => 'server::backupupload' ], ],
|
||||||
[ 'url' => ['api', '?{cmd}'], 'target' => 'pages/api.php', 'options' => [ 'cmd' => '%URL%' ], ],
|
[ 'url' => ['api', '?{cmd}'], 'target' => 'api.php', 'options' => [ ], 'parameter' => [ 'cmd' => '%URL%' ], ],
|
||||||
|
|
||||||
[ 'url' => ['admin'], 'target' => 'pages/admin.php', 'options' => [ '_opt' => 'password'], ],
|
[ 'url' => ['admin'], 'target' => 'admin.php', 'options' => [ 'password' ], 'parameter' => [ ] ],
|
||||||
|
|
||||||
[ 'url' => ['blog'], 'target' => 'pages/blog_list.php', 'options' => [], ],
|
[ 'url' => ['blog'], 'target' => 'blog_list.php', 'options' => [ ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['log'], 'target' => 'pages/blog_list.php', 'options' => [], ],
|
[ 'url' => ['log'], 'target' => 'blog_list.php', 'options' => [ ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['blogpost', 'index'], 'target' => 'pages/blog_list.php', 'options' => [], ],
|
[ 'url' => ['blogpost', 'index'], 'target' => 'blog_list.php', 'options' => [ ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['blog', '?{id}'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
[ 'url' => ['blog', '?{id}'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
||||||
[ 'url' => ['blog', '?{id}'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
[ 'url' => ['blog', '?{id}'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
||||||
[ 'url' => ['blog', '?{id}', '?{name}'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
[ 'url' => ['blog', '?{id}', '?{name}'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
||||||
[ 'url' => ['blog', '?{id}', '?{name}', '?{subview}'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%URL%', 'subview' => '%URL%' ], ],
|
[ 'url' => ['blog', '?{id}', '?{name}', '?{subview}'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%URL%', 'subview' => '%URL%' ], ],
|
||||||
[ 'url' => ['log', '?{id}'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
[ 'url' => ['log', '?{id}'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
||||||
[ 'url' => ['log', '?{id}'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
[ 'url' => ['log', '?{id}'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
||||||
[ 'url' => ['log', '?{id}', '?{name}'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
[ 'url' => ['log', '?{id}', '?{name}'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%URL%', 'subview' => '' ], ],
|
||||||
[ 'url' => ['log', '?{id}', '?{name}', '?{subview}'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%URL%', 'subview' => '%URL%' ], ],
|
[ 'url' => ['log', '?{id}', '?{name}', '?{subview}'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%URL%', 'subview' => '%URL%' ], ],
|
||||||
[ 'url' => ['blogpost', 'view'], 'target' => 'pages/blog_view.php', 'options' => [ 'id' => '%GET%', 'subview' => '' ], ],
|
[ 'url' => ['blogpost', 'view'], 'target' => 'blog_view.php', 'options' => [ ], 'parameter' => [ 'id' => '%GET%', 'subview' => '' ], ],
|
||||||
|
|
||||||
[ 'url' => ['webapps'], 'target' => 'pages/webapps_list.php', 'options' => [], ],
|
[ 'url' => ['webapps'], 'target' => 'webapps_list.php', 'options' => [ ], 'parameter' => [ ], ],
|
||||||
|
|
||||||
[ 'url' => ['highscores', 'list.php'], 'target' => 'pages/highscores_listentries.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'list.php'], 'target' => 'highscores_listentries.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'list'], 'target' => 'pages/highscores_listentries.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'list'], 'target' => 'highscores_listentries.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'listentries'], 'target' => 'pages/highscores_listentries.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'listentries'], 'target' => 'highscores_listentries.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'list.php'], 'target' => 'pages/highscores_listgames.php', 'options' => [ '_opt' => 'http' ], ],
|
[ 'url' => ['highscores', 'list.php'], 'target' => 'highscores_listgames.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['highscores', 'list'], 'target' => 'pages/highscores_listgames.php', 'options' => [ '_opt' => 'http' ], ],
|
[ 'url' => ['highscores', 'list'], 'target' => 'highscores_listgames.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['highscores', 'listgames'], 'target' => 'pages/highscores_listgames.php', 'options' => [ '_opt' => 'http' ], ],
|
[ 'url' => ['highscores', 'listgames'], 'target' => 'highscores_listgames.php', 'options' => [ 'http' ], 'parameter' => [ ], ],
|
||||||
[ 'url' => ['highscores', 'insert.php'], 'target' => 'pages/highscores_insert.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%', 'check' => '%GET%', 'name' => '%GET%', 'rand' => '%GET%', 'points' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'insert.php'], 'target' => 'highscores_insert.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%', 'check' => '%GET%', 'name' => '%GET%', 'rand' => '%GET%', 'points' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'insert'], 'target' => 'pages/highscores_insert.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%', 'check' => '%GET%', 'name' => '%GET%', 'rand' => '%GET%', 'points' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'insert'], 'target' => 'highscores_insert.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%', 'check' => '%GET%', 'name' => '%GET%', 'rand' => '%GET%', 'points' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'update.php'], 'target' => 'pages/highscores_update.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%', 'check' => '%GET%', 'name' => '%GET%', 'rand' => '%GET%', 'points' => '%GET%', 'nameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'update.php'], 'target' => 'highscores_update.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%', 'check' => '%GET%', 'name' => '%GET%', 'rand' => '%GET%', 'points' => '%GET%', 'nameid' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'update'], 'target' => 'pages/highscores_update.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%', 'check' => '%GET%', 'name' => '%GET%', 'rand' => '%GET%', 'points' => '%GET%', 'nameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'update'], 'target' => 'highscores_update.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%', 'check' => '%GET%', 'name' => '%GET%', 'rand' => '%GET%', 'points' => '%GET%', 'nameid' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'list_top50.php'], 'target' => 'pages/highscores_top50.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'list_top50.php'], 'target' => 'highscores_top50.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'list_top50'], 'target' => 'pages/highscores_top50.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'list_top50'], 'target' => 'highscores_top50.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'getNewID.php'], 'target' => 'pages/highscores_newid.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'getNewID.php'], 'target' => 'highscores_newid.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%' ], ],
|
||||||
[ 'url' => ['highscores', 'newid'], 'target' => 'pages/highscores_newid.php', 'options' => [ '_opt' => 'http', 'gameid' => '%GET%' ], ],
|
[ 'url' => ['highscores', 'newid'], 'target' => 'highscores_newid.php', 'options' => [ 'http' ], 'parameter' => [ 'gameid' => '%GET%' ], ],
|
||||||
|
|
||||||
[ 'url' => ['404'], 'target' => 'pages/error_404.php', 'options' => [], ],
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$site->serve($URL_RULES);
|
$site->serve($URL_RULES);
|
||||||
|
|
||||||
//#############################################################################
|
|
||||||
|
|
||||||
try {
|
|
||||||
InitPHP();
|
|
||||||
|
|
||||||
if (isProd())
|
|
||||||
$requri = $_SERVER['REQUEST_URI'];
|
|
||||||
else
|
|
||||||
$requri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : 'localhost:80/';
|
|
||||||
|
|
||||||
$parse = parse_url($requri);
|
|
||||||
|
|
||||||
$path = isset($parse['path']) ? $parse['path'] : '';
|
|
||||||
$pathparts = preg_split('@/@', $path, NULL, PREG_SPLIT_NO_EMPTY);
|
|
||||||
$partcount = count($pathparts);
|
|
||||||
|
|
||||||
global $OPTIONS;
|
|
||||||
global $HEADER_ACTIVE;
|
|
||||||
|
|
||||||
$HEADER_ACTIVE = 'none';
|
|
||||||
|
|
||||||
foreach ($URL_RULES as $rule)
|
|
||||||
{
|
|
||||||
if ($partcount !== count($rule['url'])) continue;
|
|
||||||
|
|
||||||
$urlparams = [];
|
|
||||||
$ctrlOpt = key_exists('_opt', $rule['options']) ? explode('|', $rule['options']['_opt']) : [];
|
|
||||||
$target = $rule['target'];
|
|
||||||
|
|
||||||
$match = true;
|
|
||||||
for($i = 0; $i < $partcount; $i++)
|
|
||||||
{
|
|
||||||
$comp = $rule['url'][$i];
|
|
||||||
if (startsWith($comp, '?{') && endsWith($comp, '}'))
|
|
||||||
{
|
|
||||||
$ident = substr($comp, 2, strlen($comp)-3);
|
|
||||||
$urlparams[$ident] = $pathparts[$i];
|
|
||||||
}
|
|
||||||
else if ($comp === '*')
|
|
||||||
{
|
|
||||||
// ok
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (strtolower($comp) !== strtolower($pathparts[$i])) { $match = false; break; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!$match) continue;
|
|
||||||
|
|
||||||
$opt = [ 'controllerOptions' => $ctrlOpt, 'uri' => $requri ];
|
|
||||||
foreach($rule['options'] as $optname => $optvalue)
|
|
||||||
{
|
|
||||||
$value = $optvalue;
|
|
||||||
|
|
||||||
if ($value === '%GET%')
|
|
||||||
{
|
|
||||||
if (!isset($_GET[$optname])) { $match = false; break; }
|
|
||||||
$value = $_GET[$optname];
|
|
||||||
}
|
|
||||||
else if ($value === '%POST%')
|
|
||||||
{
|
|
||||||
if (!isset($_POST[$optname])) { $match = false; break; }
|
|
||||||
$value = $_POST[$optname];
|
|
||||||
}
|
|
||||||
else if ($value === '%URL%')
|
|
||||||
{
|
|
||||||
if (!isset($urlparams[$optname])) { $match = false; break; }
|
|
||||||
$value = urldecode($urlparams[$optname]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$opt[strtolower($optname)] = $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
$opt['_urlparams'] = [];
|
|
||||||
foreach ($urlparams as $name => $value) $opt['_urlparams'][strtolower($name)] = urldecode($value);
|
|
||||||
|
|
||||||
if (!$match) continue;
|
|
||||||
|
|
||||||
if (in_array('disabled', $ctrlOpt)) continue;
|
|
||||||
|
|
||||||
if (in_array('password', $ctrlOpt))
|
|
||||||
{
|
|
||||||
if (!isLoggedInByCookie())
|
|
||||||
{
|
|
||||||
$opt['login_target'] = $path;
|
|
||||||
$target = 'pages/login.php';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$is_http = (!isset($_SERVER['HTTPS'])) || empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off";
|
|
||||||
|
|
||||||
if (isProd() && $is_http && !in_array('http', $ctrlOpt))
|
|
||||||
{
|
|
||||||
ob_clean();
|
|
||||||
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
|
||||||
header('HTTP/1.1 301 Moved Permanently');
|
|
||||||
header('Location: ' . $redirect);
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
$OPTIONS = $opt;
|
|
||||||
|
|
||||||
/** @noinspection PhpIncludeInspection */
|
|
||||||
include $target;
|
|
||||||
return;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
// [404] - Page Not Found
|
|
||||||
$OPTIONS = [];
|
|
||||||
httpError('404', 'Page not found');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Exception $e) {
|
|
||||||
|
|
||||||
if (isProd())
|
|
||||||
{
|
|
||||||
sendExceptionMail($e);
|
|
||||||
httpError('500 ', 'Internal server error');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (isset($e->xdebug_message)) echo '<table class="xdebug-error xe-uncaught-exception" dir="ltr" border="1" cellspacing="0" cellpadding="1">'.$e->xdebug_message.'</table>';
|
|
||||||
else echo nl2br($e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO euler insert+show 32bit | 64bit mode
|
//TODO euler insert+show 32bit | 64bit mode
|
||||||
//TODO support for different color schemes
|
//TODO support for different color schemes
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once (__DIR__ . '/../internals/database.php');
|
require_once (__DIR__ . '/../internals/database.php');
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once __DIR__ . '/base.php';
|
require_once __DIR__ . '/base.php';
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
class Database
|
class Database
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
class Euler
|
class Euler
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once (__DIR__ . '/../internals/database.php');
|
require_once (__DIR__ . '/../internals/database.php');
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once (__DIR__ . '/../internals/base.php');
|
require_once (__DIR__ . '/../internals/base.php');
|
||||||
require_once (__DIR__ . '/../extern/egg/ExtendedGitGraph2.php');
|
require_once (__DIR__ . '/../extern/egg/ExtendedGitGraph2.php');
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
|
|
||||||
class PageFrameOptions
|
class PageFrameOptions
|
||||||
|
109
www/internals/parsedowncustom.php
Normal file
109
www/internals/parsedowncustom.php
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once (__DIR__ . '/../internals/base.php');
|
||||||
|
require_once (__DIR__ . '/../extern/Parsedown.php');
|
||||||
|
require_once (__DIR__ . '/../extern/ParsedownExtra.php');
|
||||||
|
|
||||||
|
|
||||||
|
class ParsedownCustom extends ParsedownExtra
|
||||||
|
{
|
||||||
|
protected function element(array $Element)
|
||||||
|
{
|
||||||
|
if (isset($Element['custom']) && $Element['custom'] && isset($Element['handler']))
|
||||||
|
return $this->{$Element['handler']}($Element['text']);
|
||||||
|
else
|
||||||
|
return parent::element($Element);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function blockFencedCode($Line)
|
||||||
|
{
|
||||||
|
$Block = parent::blockFencedCode($Line);
|
||||||
|
if ($Block === null) return $Block;
|
||||||
|
|
||||||
|
$Block['custom'] = false;
|
||||||
|
|
||||||
|
if (isset($Block['element']['text']['attributes']))
|
||||||
|
{
|
||||||
|
foreach ($Block['element']['text']['attributes'] as $attr)
|
||||||
|
{
|
||||||
|
$spl = explode('__', $attr);
|
||||||
|
|
||||||
|
if ($spl[0] === 'language-befungerunner')
|
||||||
|
{
|
||||||
|
$Block['element']['handler'] = 'handleBef93';
|
||||||
|
$Block['custom'] = true;
|
||||||
|
$Block['element']['text']['b93_speed'] = null;
|
||||||
|
$Block['element']['text']['b93_interactive'] = true;
|
||||||
|
$Block['element']['text']['b93_editable'] = true;
|
||||||
|
|
||||||
|
foreach ($spl as $param)
|
||||||
|
{
|
||||||
|
if (startsWith($param, 'speed-')) $Block['element']['text']['b93_speed'] = intval( substr($param, strlen('speed-')));
|
||||||
|
if (startsWith($param, 'interactive-')) $Block['element']['text']['b93_interactive'] = boolval(substr($param, strlen('interactive-')));
|
||||||
|
if (startsWith($param, 'editable-')) $Block['element']['text']['b93_editable'] = boolval(substr($param, strlen('editable-')));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $Block;
|
||||||
|
}
|
||||||
|
else if ($spl[0] === 'language-bfjoustrunner')
|
||||||
|
{
|
||||||
|
$Block['element']['handler'] = 'handleBFJoust';
|
||||||
|
$Block['custom'] = true;
|
||||||
|
return $Block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $Block;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function blockFencedCodeComplete($Block)
|
||||||
|
{
|
||||||
|
if (! $Block['custom']) { return parent::blockFencedCodeComplete($Block); }
|
||||||
|
|
||||||
|
$Block['element']['custom'] = true;
|
||||||
|
|
||||||
|
return $Block;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function handleBFJoust(array $Element)
|
||||||
|
{
|
||||||
|
global $PARAM_CODE_LEFT;
|
||||||
|
global $PARAM_CODE_RIGHT;
|
||||||
|
|
||||||
|
$split = preg_split("/\-{16,}/", $Element['text']);
|
||||||
|
|
||||||
|
$PARAM_CODE_LEFT = trim($split[0]);
|
||||||
|
$PARAM_CODE_RIGHT = trim($split[1]);
|
||||||
|
|
||||||
|
return require (__DIR__ . '/../fragments/widget_bfjoust.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function handleBef93(array $Element)
|
||||||
|
{
|
||||||
|
global $PARAM_BEFUNGE93RUNNER;
|
||||||
|
$PARAM_BEFUNGE93RUNNER =
|
||||||
|
[
|
||||||
|
'code' => $Element['text'],
|
||||||
|
'url' => '',
|
||||||
|
'interactive' => $Element['b93_interactive'],
|
||||||
|
'speed' => $Element['b93_speed'],
|
||||||
|
'editable' => $Element['b93_editable'],
|
||||||
|
];
|
||||||
|
return require (__DIR__ . '/../fragments/widget_befunge93.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function blockTable($Line, array $Block = null)
|
||||||
|
{
|
||||||
|
// https://stackoverflow.com/a/46346412/1761622
|
||||||
|
|
||||||
|
$Block = parent::blockTable($Line, $Block);
|
||||||
|
|
||||||
|
if ($Block === null) return $Block;
|
||||||
|
if (!key_exists('element', $Block)) return $Block;
|
||||||
|
|
||||||
|
$Block['element']['attributes']['class'] = 'stripedtable';
|
||||||
|
|
||||||
|
return $Block;
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once __DIR__ . '/base.php';
|
require_once __DIR__ . '/base.php';
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once "website.php";
|
require_once "website.php";
|
||||||
require_once "utils.php";
|
|
||||||
|
|
||||||
class RuleEngine
|
class RuleEngine
|
||||||
{
|
{
|
||||||
@ -28,11 +27,7 @@ class RuleEngine
|
|||||||
$route = self::testRule($app, $rule, $requri, $pathparts, $partcount);
|
$route = self::testRule($app, $rule, $requri, $pathparts, $partcount);
|
||||||
if ($route === null) continue;
|
if ($route === null) continue;
|
||||||
|
|
||||||
if ($app->getCurrentRights() >= $route->minimal_access_rights) return $route;
|
if ($route->needsAdminLogin && !$app->isLoggedIn()) return URLRoute::getLoginRoute($route, $requri);
|
||||||
|
|
||||||
if ($app->isLoggedIn()) return URLRoute::getInsufficentRightsRoute($requri);
|
|
||||||
|
|
||||||
if (!$app->isLoggedIn()) return URLRoute::getLoginRoute($route, $requri);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return URLRoute::getNotFoundRoute($requri);
|
return URLRoute::getNotFoundRoute($requri);
|
||||||
@ -98,9 +93,9 @@ class RuleEngine
|
|||||||
|
|
||||||
if (isset($ctrlOpt['method']) && $_SERVER["REQUEST_METHOD"] !== $ctrlOpt['method']) return null;
|
if (isset($ctrlOpt['method']) && $_SERVER["REQUEST_METHOD"] !== $ctrlOpt['method']) return null;
|
||||||
|
|
||||||
$route->minimal_access_rights = (($rule['rights']===null) ? 0 : $rule['rights']);
|
$route->needsAdminLogin = isset($ctrlOpt['password']);
|
||||||
|
|
||||||
if ($app->isProd() && $app->config->app_enforce_https && isHTTPRequest() && !in_array('http', $ctrlOpt))
|
if ($app->isProd() && isHTTPRequest() && !in_array('http', $ctrlOpt))
|
||||||
{
|
{
|
||||||
// enforce https
|
// enforce https
|
||||||
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once (__DIR__ . '/../internals/database.php');
|
require_once (__DIR__ . '/../internals/database.php');
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once "URLRoute.php";
|
require_once "website.php";
|
||||||
|
|
||||||
class URLRoute
|
class URLRoute
|
||||||
{
|
{
|
||||||
@ -14,7 +14,7 @@ class URLRoute
|
|||||||
public $parameter;
|
public $parameter;
|
||||||
|
|
||||||
/** @var int */
|
/** @var int */
|
||||||
public $minimal_access_rights;
|
public $needsAdminLogin;
|
||||||
|
|
||||||
/** @var int */
|
/** @var int */
|
||||||
public $isAPI;
|
public $isAPI;
|
||||||
@ -24,19 +24,19 @@ class URLRoute
|
|||||||
$this->targetpath = __DIR__ . '/../pages/' . $target;
|
$this->targetpath = __DIR__ . '/../pages/' . $target;
|
||||||
$this->full_url = $url;
|
$this->full_url = $url;
|
||||||
$this->parameter = [];
|
$this->parameter = [];
|
||||||
$this->minimal_access_rights = 0;
|
$this->needsAdminLogin = false;
|
||||||
$this->isAPI = false;
|
$this->isAPI = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param VApp $app
|
* @param Website $app
|
||||||
* @return PageFrameOptions
|
* @return PageFrameOptions
|
||||||
*/
|
*/
|
||||||
public function get(Website $app): PageFrameOptions
|
public function get(Website $app): PageFrameOptions
|
||||||
{
|
{
|
||||||
$pfo = new PageFrameOptions();
|
$pfo = new PageFrameOptions();
|
||||||
|
|
||||||
$pfo->title = $app->config->verein_kurzel . " Orga"; // default title
|
$pfo->title = 'Mikescher.com'; // default title
|
||||||
if ($this->isAPI)
|
if ($this->isAPI)
|
||||||
{
|
{
|
||||||
$pfo->frame = 'no_frame.php';
|
$pfo->frame = 'no_frame.php';
|
||||||
@ -71,18 +71,6 @@ class URLRoute
|
|||||||
return $FRAME_OPTIONS;
|
return $FRAME_OPTIONS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $requri
|
|
||||||
* @return URLRoute
|
|
||||||
*/
|
|
||||||
public static function getInsufficentRightsRoute(string $requri): URLRoute
|
|
||||||
{
|
|
||||||
$r = new URLRoute('errors/insufficent_rights.php', $requri);
|
|
||||||
$r->parameter = [];
|
|
||||||
$r->minimal_access_rights = 0;
|
|
||||||
return $r;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param URLRoute $route
|
* @param URLRoute $route
|
||||||
* @param string $requri
|
* @param string $requri
|
||||||
@ -92,7 +80,6 @@ class URLRoute
|
|||||||
{
|
{
|
||||||
$r = new URLRoute('login.php', $requri);
|
$r = new URLRoute('login.php', $requri);
|
||||||
$r->parameter = [ 'redirect' => $route->full_url ];
|
$r->parameter = [ 'redirect' => $route->full_url ];
|
||||||
$r->minimal_access_rights = 0;
|
|
||||||
return $r;
|
return $r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +91,6 @@ class URLRoute
|
|||||||
{
|
{
|
||||||
$r = new URLRoute('errors/not_found.php', $requri);
|
$r = new URLRoute('errors/not_found.php', $requri);
|
||||||
$r->parameter = [];
|
$r->parameter = [];
|
||||||
$r->minimal_access_rights = 0;
|
|
||||||
return $r;
|
return $r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,7 +102,6 @@ class URLRoute
|
|||||||
{
|
{
|
||||||
$r = new URLRoute('errors/server_error.php', $requri);
|
$r = new URLRoute('errors/server_error.php', $requri);
|
||||||
$r->parameter = [];
|
$r->parameter = [];
|
||||||
$r->minimal_access_rights = 0;
|
|
||||||
return $r;
|
return $r;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
global $CONFIG;
|
global $CONFIG;
|
||||||
$CONFIG = require 'config.php';
|
$CONFIG = require 'config.php';
|
||||||
@ -40,7 +40,6 @@ function httpDie($errorcode, $message)
|
|||||||
ob_flush();
|
ob_flush();
|
||||||
http_response_code($errorcode);
|
http_response_code($errorcode);
|
||||||
die($message);
|
die($message);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function destructiveUrlEncode($str) {
|
function destructiveUrlEncode($str) {
|
||||||
@ -404,3 +403,34 @@ function getRandomToken($length = 32)
|
|||||||
|
|
||||||
throw new InvalidArgumentException("No random");
|
throw new InvalidArgumentException("No random");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isHTTPRequest()
|
||||||
|
{
|
||||||
|
return (!isset($_SERVER['HTTPS'])) || empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off";
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatException($e)
|
||||||
|
{
|
||||||
|
if ($e === null) return "NULL";
|
||||||
|
|
||||||
|
if ($e instanceof Exception)
|
||||||
|
{
|
||||||
|
$r = '';
|
||||||
|
$r .= $e->getMessage() . "\n\n";
|
||||||
|
$r .= $e->getFile() . "\n\n";
|
||||||
|
$r .= $e->getTraceAsString() . "\n\n";
|
||||||
|
if (isset($e->xdebug_message))
|
||||||
|
{
|
||||||
|
$xdbg = $e->xdebug_message;
|
||||||
|
$xdbg = str_replace('<br />', "\n", $xdbg);
|
||||||
|
$xdbg = str_replace('<br/>', "\n", $xdbg);
|
||||||
|
$xdbg = str_replace('<br>', "\n", $xdbg);
|
||||||
|
$xdbg = strip_tags($xdbg);
|
||||||
|
$xdbg = htmlspecialchars($xdbg);
|
||||||
|
$r .= $xdbg . "\n";
|
||||||
|
}
|
||||||
|
return $r;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'object';
|
||||||
|
}
|
@ -1,9 +1,25 @@
|
|||||||
<?php if(count(get_included_files()) ==1) exit("Direct access not permitted.");
|
<?php
|
||||||
|
|
||||||
require_once 'ruleengine.php';
|
require_once 'ruleengine.php';
|
||||||
require_once 'urlroute.php';
|
require_once 'urlroute.php';
|
||||||
require_once 'pageframeoptions.php';
|
require_once 'pageframeoptions.php';
|
||||||
|
|
||||||
|
require_once 'utils.php';
|
||||||
|
|
||||||
|
require_once 'database.php';
|
||||||
|
require_once 'adventofcode.php';
|
||||||
|
require_once 'alephnoteStatistics.php';
|
||||||
|
require_once 'blog.php';
|
||||||
|
require_once 'books.php';
|
||||||
|
require_once 'euler.php';
|
||||||
|
require_once 'highscores.php';
|
||||||
|
require_once 'programs.php';
|
||||||
|
require_once 'updateslog.php';
|
||||||
|
require_once 'webapp.php';
|
||||||
|
|
||||||
|
require_once 'mikeschergitgraph.php';
|
||||||
|
require_once 'parsedowncustom.php';
|
||||||
|
|
||||||
class Website
|
class Website
|
||||||
{
|
{
|
||||||
/** @var Website */
|
/** @var Website */
|
||||||
|
34
www/pages/error_servererror.php
Normal file
34
www/pages/error_servererror.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<?php
|
||||||
|
require_once (__DIR__ . '/../internals/base.php');
|
||||||
|
global $OPTIONS;
|
||||||
|
|
||||||
|
$errorcode = $OPTIONS['code'];
|
||||||
|
$errormsg = $OPTIONS['message'];
|
||||||
|
?>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Mikescher.com - <?php echo $errormsg; ?></title>
|
||||||
|
<link rel="icon" type="image/png" href="/data/images/favicon.png"/>
|
||||||
|
<?php printHeaderCSS(); ?>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="mastercontainer">
|
||||||
|
|
||||||
|
<?php $HEADER_ACTIVE='none'; include (__DIR__ . '/../fragments/header.php'); ?>
|
||||||
|
|
||||||
|
<div id="content" class="content-responsive content-fullheight">
|
||||||
|
|
||||||
|
<div class="ev_master">
|
||||||
|
<div class="ev_code"><?php echo $errorcode; ?></div>
|
||||||
|
<div class="ev_msg"><?php echo $errormsg; ?></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<?php printAdditionalScripts(); ?>
|
||||||
|
<?php printAdditionalStylesheets(); ?>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user