summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcontent.html1
l---------index.php1
-rwxr-xr-xphp/footer.php4
-rw-r--r--[-rwxr-xr-x]php/index.php (renamed from app.php)26
-rwxr-xr-xphp/render.php37
5 files changed, 46 insertions, 23 deletions
diff --git a/content.html b/content.html
new file mode 100755
index 0000000..ff8feb5
--- /dev/null
+++ b/content.html
@@ -0,0 +1 @@
+<p>Hello, World!</p>
diff --git a/index.php b/index.php
new file mode 120000
index 0000000..0464ed7
--- /dev/null
+++ b/index.php
@@ -0,0 +1 @@
+php/index.php \ No newline at end of file
diff --git a/php/footer.php b/php/footer.php
index 0d9c8b6..695b39f 100755
--- a/php/footer.php
+++ b/php/footer.php
@@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-require_once PHP_DIR . 'replace.php';
+require_once ROOT . '/php/replace.php';
$year = date('Y');
@@ -25,7 +25,7 @@ $targets = [
'{{YEAR}}' => $year
];
-$html = replace(HTML_DIR . 'footer.html', $targets);
+$html = replace(ROOT . '/html/footer.html', $targets);
echo $html;
?>
diff --git a/app.php b/php/index.php
index 6a4b41e..2f2377d 100755..100644
--- a/app.php
+++ b/php/index.php
@@ -17,29 +17,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-ini_set('display_errors', 1);
-error_reporting(E_ALL);
+define('ROOT', rtrim($_SERVER['DOCUMENT_ROOT'], '/') . '/');
-define('ROOT_DIR', __DIR__ . '/');
-define('HTML_DIR', __DIR__ . '/html/');
-define('PHP_DIR', __DIR__ . '/php/');
+require_once ROOT . '/php/render.php';
-require_once PHP_DIR . 'replace.php';
-require_once PHP_DIR . 'execute.php';
-require_once PHP_DIR . 'path-clean.php';
+$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
+$file = rtrim($path, '/') . '/content.html';
-$file = path_clean($_GET['file'] ?? 'index.html');
+render_page(ROOT . $file);
-$device = 'desktop';
-
-$targets = [
- '{{header}}' => file_get_contents(HTML_DIR . 'header.html'),
- '{{content}}' => file_get_contents(ROOT_DIR . $file),
- '{{footer}}' => execute(PHP_DIR . 'footer.php'),
- '{{device}}' => $device
-];
-
-$app_html = replace(HTML_DIR . 'app.html', $targets);
-
-echo $app_html;
?>
diff --git a/php/render.php b/php/render.php
new file mode 100755
index 0000000..00aafb0
--- /dev/null
+++ b/php/render.php
@@ -0,0 +1,37 @@
+<?php
+/*
+ * GNUfault.org - GNUfault's website
+ * Copyright (C) 2026 Connor Thomson
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+require_once ROOT . '/php/replace.php';
+require_once ROOT . '/php/execute.php';
+
+function render_page(string $page) {
+ $device = 'desktop';
+
+ $targets = [
+ '{{header}}' => file_get_contents(ROOT . '/html/header.html'),
+ '{{content}}' => file_get_contents($page),
+ '{{footer}}' => execute(ROOT . '/php/footer.php'),
+ '{{device}}' => $device
+ ];
+
+ $app_html = replace(ROOT . '/html/app.html', $targets);
+
+ echo $app_html;
+}
+?>