From 03e8a27a7d267330a4fcf3e1112f2ef48c71c83d Mon Sep 17 00:00:00 2001 From: BodgeMaster <> Date: Thu, 2 Sep 2021 07:40:16 +0200 Subject: [PATCH] started working on moving hard-coded things to config --- macros/README.md | 2 -- macros/pass0_templates.json | 4 ++++ macros/pass1.json | 4 ++++ macros/{variable_grabbler.pass2.json => pass2.json} | 3 +-- macros/pass3_base-names.json | 4 ++++ macros/pass4_install-config.json | 3 +++ macros/templates/README.md | 5 +++++ macros/{ => templates}/banner_cookies.template | 0 macros/{ => templates}/navbar.template | 0 macros/variable_grabbler.pass0.json | 5 ----- macros/variable_grabbler.pass1.json | 4 ---- 11 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 macros/pass0_templates.json create mode 100644 macros/pass1.json rename macros/{variable_grabbler.pass2.json => pass2.json} (90%) create mode 100644 macros/pass3_base-names.json create mode 100644 macros/pass4_install-config.json create mode 100644 macros/templates/README.md rename macros/{ => templates}/banner_cookies.template (100%) rename macros/{ => templates}/navbar.template (100%) delete mode 100644 macros/variable_grabbler.pass0.json delete mode 100644 macros/variable_grabbler.pass1.json diff --git a/macros/README.md b/macros/README.md index db246ad..4814bb6 100644 --- a/macros/README.md +++ b/macros/README.md @@ -11,7 +11,5 @@ A short description of what the variables do and where they should go: * `%CONTENT_DIR%` (anywhere in code) → the path to the ThreadR directory (without domain name) * `%STYLESHEET%` (in HTML) → adds the tag linking the stylesheet * `%REQUIRE_LOGIN%` (in PHP code, before any non-header data is sent to client) → sends users to the login page if they are not logged in -### [navbar.template](./navbar.template), [banner_cookies.template](./banner_cookies.template) -file templates for variables from the code variable replacement system ### [README.md](./README.md) this file diff --git a/macros/pass0_templates.json b/macros/pass0_templates.json new file mode 100644 index 0000000..fc69442 --- /dev/null +++ b/macros/pass0_templates.json @@ -0,0 +1,4 @@ +{ +"NAVBAR":["file","macros/templates/navbar.template"], +"BANNER_COOKIES":["file","macros/templates/banner_cookies.template"] +} diff --git a/macros/pass1.json b/macros/pass1.json new file mode 100644 index 0000000..936428d --- /dev/null +++ b/macros/pass1.json @@ -0,0 +1,4 @@ +{ +"STYLESHEET":"", +"REQUIRE_LOGIN":"if (!$login) { header(\"Location: https:\/\/%DOMAIN_NAME%%CONTENT_DIR%\/login\/\\?error=session\"); die(); }" +} diff --git a/macros/variable_grabbler.pass2.json b/macros/pass2.json similarity index 90% rename from macros/variable_grabbler.pass2.json rename to macros/pass2.json index ef01cb4..3f34f41 100644 --- a/macros/variable_grabbler.pass2.json +++ b/macros/pass2.json @@ -1,6 +1,5 @@ { -"CONTENT_DIR":"/threadr", -"NO_CHEAP_SESSION_STEALING":"if (isset($_SESSION['user_id'])) {if ($_SESSION['user_ip']!=$_SERVER['REMOTE_ADDR'] || $_SESSION['user_http_user_agent']!=$_SERVER['HTTP_USER_AGENT']){ $_SESSION = array(); if (ini_get(\"session.use_cookies\")){ $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params[\"path\"], $params[\"domain\"], $params[\"secure\"], $params[\"httponly\"]); } session_destroy(); header(\"Location: https://threadr.lostcave.ddnss.de/threadr/login/\\?error=session\"); die();}}", +"NO_CHEAP_SESSION_STEALING":"if (isset($_SESSION['user_id'])) {if ($_SESSION['user_ip']!=$_SERVER['REMOTE_ADDR'] || $_SESSION['user_http_user_agent']!=$_SERVER['HTTP_USER_AGENT']){ $_SESSION = array(); if (ini_get(\"session.use_cookies\")){ $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params[\"path\"], $params[\"domain\"], $params[\"secure\"], $params[\"httponly\"]); } session_destroy(); header(\"Location: https://%DOMAIN_NAME%%CONTENT_DIR%/login/\\?error=session\"); die();}}", "SET_LOGIN_VARIABLE":"if (isset($_SESSION['user_id'])) { $login = true; } else { $login = false; }", "PLEAZE_NO_CACHE":"header('Cache-Control: no-cache, no-store, must-revalidate');header('Pragma: no-cache');header('Expires: 0');", "FORCE_LOGOUT":"$_SESSION = array(); if (ini_get('session.use_cookies')) { $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params['path'], $params['domain'], $params['secure'], $params['httponly']);} session_destroy();", diff --git a/macros/pass3_base-names.json b/macros/pass3_base-names.json new file mode 100644 index 0000000..24eb037 --- /dev/null +++ b/macros/pass3_base-names.json @@ -0,0 +1,4 @@ +{ + "DOMAIN_NAME":["exec","sed --quiet "/domain_name=/s/.*=//p" config/names.conf"], + "CONTENT_DIR":["exec","sed --quiet "/threadr_home=/s/.*=//p" config/names.conf"] +} diff --git a/macros/pass4_install-config.json b/macros/pass4_install-config.json new file mode 100644 index 0000000..6e96021 --- /dev/null +++ b/macros/pass4_install-config.json @@ -0,0 +1,3 @@ +{ + "ABOUT_PAGE":["file","config/templates/about.template"] +} diff --git a/macros/templates/README.md b/macros/templates/README.md new file mode 100644 index 0000000..bd09eae --- /dev/null +++ b/macros/templates/README.md @@ -0,0 +1,5 @@ +# Files +### [navbar.template](./navbar.template) +contains the navbar, depends on a variable in PHP to determine which field on the navbar should be highlighted +### [banner_cookies.template](./banner_cookies.template) +contains the cookie banner diff --git a/macros/banner_cookies.template b/macros/templates/banner_cookies.template similarity index 100% rename from macros/banner_cookies.template rename to macros/templates/banner_cookies.template diff --git a/macros/navbar.template b/macros/templates/navbar.template similarity index 100% rename from macros/navbar.template rename to macros/templates/navbar.template diff --git a/macros/variable_grabbler.pass0.json b/macros/variable_grabbler.pass0.json deleted file mode 100644 index aacd39b..0000000 --- a/macros/variable_grabbler.pass0.json +++ /dev/null @@ -1,5 +0,0 @@ -{ -"NAVBAR":["file","macros/navbar.template"], -"BANNER_COOKIES":["file","macros/banner_cookies.template"], -"ABOUT_PAGE":["file","config/about.template"] -} diff --git a/macros/variable_grabbler.pass1.json b/macros/variable_grabbler.pass1.json deleted file mode 100644 index b6cf169..0000000 --- a/macros/variable_grabbler.pass1.json +++ /dev/null @@ -1,4 +0,0 @@ -{ -"STYLESHEET":"", -"REQUIRE_LOGIN":"if (!$login) { header(\"Location: https:\/\/threadr.lostcave.ddnss.de%CONTENT_DIR%\/login\/\\?error=session\"); die(); }" -}