'; // echo 'Error number: ' . mysqli_connect_errno() . '
'; // echo 'Error message: ' . mysqli_connect_error() . '
'; // die(); // } $loader = new \Twig\Loader\FilesystemLoader(['./templates', './user_content']); $twig = new \Twig\Environment($loader,['debug' => true]); $twig->addExtension(new Twig\Extra\Markdown\MarkdownExtension()); use Twig\Extra\Markdown\DefaultMarkdown; use Twig\Extra\Markdown\MarkdownRuntime; use Twig\RuntimeLoader\RuntimeLoaderInterface; $twig->addRuntimeLoader(new class implements RuntimeLoaderInterface { public function load($class) { if (MarkdownRuntime::class === $class) { return new MarkdownRuntime(new DefaultMarkdown()); } } }); $SURI = $_SERVER['REQUEST_URI']; if($SURI == '/') { echo $twig->render('root.html'); } elseif(preg_match('/^\/api/', $SURI)) { if(preg_match('/^\/api\/posts(.*)$/', $SURI, $match)) { header('Content-Type: application/json'); echo json_encode($adapter->get_post_by_path($match[1])); } elseif(preg_match('/^\/api\/subposts(.*)$/', $SURI, $match)) { header('Content-Type: application/json'); echo json_encode(get_subposts($match[1])); } elseif($SURI == '/api/upload') { if(array_key_exists('post_data', $_FILES)) { $adapter->handle_upload($_POST['post_path'], $_FILES['post_data']['tmp_name']); } echo $twig->render('upload.html'); } } elseif($_SERVER['HTTP_SEC_FETCH_DEST'] == 'image') { header('Location: /raw' . $SURI); exit(0); } elseif(true) { $post = $adapter->get_post_by_path($SURI); if($post['post_metadata']['type'] == 'directory') { if(preg_match('/^(.*[^\/])((?:#.*)?)$/', $SURI, $match)) { header('Location: ' . $match[1] . '/' . $match[2]); exit(0); } echo $twig->render('directory.html', [ "post" => $post, "subposts" => $post['subposts'] ]); } elseif($post['post_metadata']['type'] == 'text/markdown') { echo $twig->render('about.html', [ "post" => $post, "subposts" => $post['subposts'] ]); } elseif($post['post_metadata']['type'] == 'file') { echo $twig->render('image.html', [ "post" => $post ]); } } elseif(preg_match('/^\/about(.html)?$/', $SURI)) { echo $twig->render('about.html'); } elseif(preg_match('/^\/gallery\/([^\?]+)/', $SURI)) { echo $twig->render('/gallery/gallery_entry.html', [ 'image_url' => '/static/banner/0.png', 'image_title' => 'Test!', 'image_desc' => 'A soft piece made by a dear friend', 'artist_name' => 'Doggonaut', 'artist_src_link' => 'https://twitter.com/doggonaut' ]); } else { echo $twig->render('rrror.html',[ "error_code" => '404 Hoard not found!', "error_description" => "Well, we searched far and wide for `" . $SURI . "` but somehow it must have gotten lost... Sorry!" ]); } ?>