diff --git a/init.php b/init.php index a500f5a..7b789dc 100644 --- a/init.php +++ b/init.php @@ -7,8 +7,19 @@ // PREPARE CLASSES FOR STATE STORAGE // + // lang reference + class Lang_Ref { + public static object $dict; + } + // nav class Nav { public static ?string $active = null; } + + // footer + class Footer { + public static array $lang_href; + public static bool $cookieaccept_but_no_lang = false; + } ?> diff --git a/page/admin/footer.php b/page/admin/footer.php deleted file mode 100644 index 060f473..0000000 --- a/page/admin/footer.php +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - diff --git a/page/admin/login/index.php b/page/admin/login/index.php index 383d466..e85ff12 100644 --- a/page/admin/login/index.php +++ b/page/admin/login/index.php @@ -3,8 +3,6 @@ namespace Kimendisch\Sbgg_Jetzt; use Flake\Url_Redirect; use Flake\Request; - use Flake\Lang; - use Flake\Lang_Dict; use Flake\Page; use Flake\Cookieaccept; use Flake\Csrf; @@ -25,34 +23,18 @@ // LANGUAGE MANAGER // // hack: fake get param from constant $_GET["lang"] = "en"; - - // initialize - $lang = new Lang(list: ["de", "en"], default: "en"); - - // load dict - $dict = new Lang_Dict($lang); - require("./page/strings.php"); + require("./page/lang_base.php"); // PAGE INIT // Page::start(); Page::title("SBGG.jetzt - Admin Area"); - Page::icon("./asset/logo-256.png"); - - Page::lang($lang->get()); - Page::viewport(scale: 1, zoom: true); - Page::robots(index: false, follow: false); - Page::author("Kim Endisch"); + Page::$head["og_title"] = ''; - Page::$head["analytics"] = ''; - Page::css("./page/start/style.css"); - Page::css("./page/start/style.css.php", eval: true); + require("./page/page_base.php"); Page::css(__DIR__ . "/style.css"); - - Page::font("ubuntu"); - Page::font("tabler"); ?> @@ -122,4 +104,7 @@ - + diff --git a/page/admin/newsletter/content.php b/page/admin/newsletter/content.php index 2d7bc8f..145a8a4 100644 --- a/page/admin/newsletter/content.php +++ b/page/admin/newsletter/content.php @@ -1,8 +1,6 @@ get()); - Page::viewport(scale: 1, zoom: true); - Page::robots(index: false, follow: false); - Page::author("Kim Endisch"); + Page::$head["og_title"] = ''; - Page::$head["analytics"] = ''; - Page::css("./page/start/style.css"); - Page::css("./page/start/style.css.php", eval: true); + require("./page/page_base.php"); Page::js(__DIR__ . "/iframe_magic.js"); Page::js(__DIR__ . "/send_one.js"); Page::js(__DIR__ . "/send_all.js"); - - Page::font("ubuntu"); - Page::font("tabler"); ?> @@ -227,4 +209,7 @@ - + diff --git a/page/admin/newsletter/overview.php b/page/admin/newsletter/overview.php index 3a8b961..64b0467 100644 --- a/page/admin/newsletter/overview.php +++ b/page/admin/newsletter/overview.php @@ -2,8 +2,6 @@ declare(strict_types = 1); namespace Kimendisch\Sbgg_Jetzt; use DateTimeImmutable; - use Flake\Lang; - use Flake\Lang_Dict; use Flake\Page; // HANDLE AUTHENTICATION // @@ -13,33 +11,17 @@ // LANGUAGE MANAGER // // hack: fake get param from constant $_GET["lang"] = "en"; - - // initialize - $lang = new Lang(list: ["de", "en"], default: "en"); - - // load dict - $dict = new Lang_Dict($lang); - require("./page/strings.php"); + require("./page/lang_base.php"); // PAGE INIT // Page::start(); Page::title("SBGG.jetzt - Admin Area"); - Page::icon("./asset/logo-256.png"); - - Page::lang($lang->get()); - Page::viewport(scale: 1, zoom: true); - Page::robots(index: false, follow: false); - Page::author("Kim Endisch"); + Page::$head["og_title"] = ''; - Page::$head["analytics"] = ''; - Page::css("./page/start/style.css"); - Page::css("./page/start/style.css.php", eval: true); - - Page::font("ubuntu"); - Page::font("tabler"); + require("./page/page_base.php"); ?> @@ -97,4 +79,7 @@ - + diff --git a/page/admin/start/index.php b/page/admin/start/index.php index 38bbf14..498021e 100644 --- a/page/admin/start/index.php +++ b/page/admin/start/index.php @@ -1,8 +1,6 @@ get()); - Page::viewport(scale: 1, zoom: true); - Page::robots(index: false, follow: false); - Page::author("Kim Endisch"); + Page::$head["og_title"] = ''; - Page::$head["analytics"] = ''; - Page::css("./page/start/style.css"); - Page::css("./page/start/style.css.php", eval: true); - - Page::font("ubuntu"); - Page::font("tabler"); + require("./page/page_base.php"); ?> @@ -90,4 +72,7 @@ - + diff --git a/page/start/copylink.js b/page/copylink.js similarity index 100% rename from page/start/copylink.js rename to page/copylink.js diff --git a/page/copylink_dict.js.php b/page/copylink_dict.js.php new file mode 100644 index 0000000..4022d87 --- /dev/null +++ b/page/copylink_dict.js.php @@ -0,0 +1,7 @@ +get("copylink_hint_text")) . ";"); +?> diff --git a/page/footer.php b/page/footer.php new file mode 100644 index 0000000..1b63538 --- /dev/null +++ b/page/footer.php @@ -0,0 +1,44 @@ + + + + + + + diff --git a/page/imprint/index.php b/page/imprint/index.php index 74ef4bf..5c1343c 100644 --- a/page/imprint/index.php +++ b/page/imprint/index.php @@ -1,10 +1,7 @@ "de", "imprint" => "en", ])[Request::path()[0] ?? null] ?? "de"; - - // initialize - $lang = new Lang(list: ["de", "en"], default: "de"); - - // load dict - $dict = new Lang_Dict($lang); - require("./page/strings.php"); + require("./page/lang_base.php"); // PAGE INIT // Page::start(); Page::title($dict->get("legal_imprint_page_title")); - Page::icon("./asset/logo-256.png"); - - Page::lang($lang->get()); - Page::viewport(scale: 1, zoom: true); - + Page::$head["alternate_de"] = ''; + Page::$head["alternate_en"] = ''; Page::robots(index: false, follow: false); - Page::author("Kim Endisch"); - Page::$head["analytics"] = ''; + Page::$head["og_title"] = ''; Page::$head["mastodon_verify"] = ''; - Page::css("./page/start/style.css"); - Page::css("./page/start/style.css.php", eval: true); + require("./page/page_base.php"); Page::css(__DIR__ . "/style.css"); - - Page::font("ubuntu"); - Page::font("tabler"); ?> @@ -72,26 +55,10 @@ - + "/impressum", + "en" => "/imprint", + ]; + require("./page/footer.php"); +?> diff --git a/page/lang_base.php b/page/lang_base.php new file mode 100644 index 0000000..651a8ad --- /dev/null +++ b/page/lang_base.php @@ -0,0 +1,16 @@ + diff --git a/page/newsletter/subscribe/index.php b/page/newsletter/subscribe/index.php index fd16842..e234316 100644 --- a/page/newsletter/subscribe/index.php +++ b/page/newsletter/subscribe/index.php @@ -1,14 +1,10 @@ get("newsletter_subscribe_page_title")); - Page::icon("./asset/logo-256.png"); - - Page::lang($lang->get()); - Page::viewport(scale: 1, zoom: true); - Page::robots(index: false, follow: false); - Page::author("Kim Endisch"); + Page::$head["og_title"] = ''; - Page::$head["analytics"] = ''; - - Page::css("./page/start/style.css"); - Page::css("./page/start/style.css.php", eval: true); + require("./page/page_base.php"); Page::js(__DIR__ . "/main.js"); - - Page::font("ubuntu"); - Page::font("tabler"); ?> @@ -115,26 +94,10 @@ - + Url::query_modify(remove: ["slang"], add: ["slang=de"]), + "en" => Url::query_modify(remove: ["slang"], add: ["slang=en"]), + ]; + require("./page/footer.php"); +?> diff --git a/page/newsletter/unsubscribe/index.php b/page/newsletter/unsubscribe/index.php index aeb58d5..7e1d91b 100644 --- a/page/newsletter/unsubscribe/index.php +++ b/page/newsletter/unsubscribe/index.php @@ -1,11 +1,7 @@ get("newsletter_unsubscribe_page_title")); - Page::icon("./asset/logo-256.png"); - - Page::lang($lang->get()); - Page::viewport(scale: 1, zoom: true); - Page::robots(index: false, follow: false); - Page::author("Kim Endisch"); + Page::$head["og_title"] = ''; - Page::$head["analytics"] = ''; - - Page::css("./page/start/style.css"); - Page::css("./page/start/style.css.php", eval: true); + require("./page/page_base.php"); Page::js(__DIR__ . "/main.js"); - - Page::font("ubuntu"); - Page::font("tabler"); ?> @@ -106,26 +85,10 @@ - + Url::query_modify(remove: ["slang"], add: ["slang=de"]), + "en" => Url::query_modify(remove: ["slang"], add: ["slang=en"]), + ]; + require("./page/footer.php"); +?> diff --git a/page/page_base.php b/page/page_base.php new file mode 100644 index 0000000..0d2aa29 --- /dev/null +++ b/page/page_base.php @@ -0,0 +1,35 @@ +get("description")); + Page::lang($lang->get()); + Page::viewport(scale: 1, zoom: true); + + Page::author("Kim Endisch"); + Page::keywords("selbstbestimmungsgesetz-jetzt", "sbgg-jetzt", "selbstbestimmungsgesetz", "selbstbestimmung", "sbgg", "SBGG", "tsg", "transsexuellengesetz", "trans", "nicht-binär", "non-binary", "deutschland", "gender", "geschlecht", "identität", "roadmap", "timeline", "stand", "aktuell", "aktueller stand", "wann", "wann kommt", "inkrafttreten", "referentenentwurf"); + + Page::$head["og_description"] = ''; + Page::$head["og_type"] = ''; + $banner_file_path = ([ + "de" => "./asset/banner-de-bg-1920.png", + "en" => "./asset/banner-en-bg-1920.png", + ])[$lang->get()] ?? "./asset/banner-de-bg-1920.png"; + Page::$head["og_image"] = ''; + Page::$head["og_url"] = ''; + + Page::$head["analytics"] = ''; + + Page::css("./page/style.css"); + Page::css("./page/style.css.php", eval: true); + Page::js("./page/copylink_dict.js.php", eval: true); + Page::js("./page/copylink.js"); + + Page::font("ubuntu"); + Page::font("tabler"); +?> diff --git a/page/privacy/index.php b/page/privacy/index.php index 633f977..aa07539 100644 --- a/page/privacy/index.php +++ b/page/privacy/index.php @@ -1,10 +1,7 @@ "de", "privacy" => "en", ])[Request::path()[0] ?? null] ?? "de"; - - // initialize - $lang = new Lang(list: ["de", "en"], default: "de"); - - // load dict - $dict = new Lang_Dict($lang); - require("./page/strings.php"); + require("./page/lang_base.php"); // PAGE INIT // Page::start(); Page::title($dict->get("legal_privacy_page_title")); - Page::icon("./asset/logo-256.png"); - - Page::lang($lang->get()); - Page::viewport(scale: 1, zoom: true); - + Page::$head["alternate_de"] = ''; + Page::$head["alternate_en"] = ''; Page::robots(index: false, follow: false); - Page::author("Kim Endisch"); - Page::$head["analytics"] = ''; + Page::$head["og_title"] = ''; Page::$head["mastodon_verify"] = ''; - Page::css("./page/start/style.css"); - Page::css("./page/start/style.css.php", eval: true); + require("./page/page_base.php"); Page::css("./page/imprint/style.css"); - - Page::font("ubuntu"); - Page::font("tabler"); ?> @@ -72,26 +55,10 @@ - + "/datenschutz", + "en" => "/privacy", + ]; + require("./page/footer.php"); +?> diff --git a/page/start/copylink_dict.js.php b/page/start/copylink_dict.js.php deleted file mode 100644 index 7125402..0000000 --- a/page/start/copylink_dict.js.php +++ /dev/null @@ -1,10 +0,0 @@ -get("copylink_hint_text")) . ";"); -?> diff --git a/page/start/index.php b/page/start/index.php index acb198b..4e186d9 100644 --- a/page/start/index.php +++ b/page/start/index.php @@ -7,7 +7,6 @@ use Flake\Hidden; use Flake\File; use Flake\Project; - use Flake\Url; // HACK: CONVERT GET PARAM TO PATH PARAM // if(isset($_GET["lang"])){ @@ -29,56 +28,22 @@ // hack: fake get param from url path $param_lang = Project::param("lang") ?? "de"; $_GET["lang"] = $param_lang; - - // initialize - $lang = new Lang(list: ["de", "en"], default: "de"); - - // load dict - $dict = new Lang_Dict($lang); - require("./page/strings.php"); - - // make available to `eval`-ed scripts - global $kimendisch_sbgg_jetzt_dict; - $kimendisch_sbgg_jetzt_dict = $dict; + require("./page/lang_base.php"); // PAGE INIT // Page::start(); Page::title($dict->get("title")); - Page::icon("./asset/logo-256.png"); - Page::description($dict->get("description")); - - Page::lang($lang->get()); - Page::viewport(scale: 1, zoom: true); Page::$head["alternate_de"] = ''; Page::$head["alternate_en"] = ''; - Page::robots(index: true, follow: true); - Page::author("Kim Endisch"); - Page::keywords("selbstbestimmungsgesetz-jetzt", "sbgg-jetzt", "selbstbestimmungsgesetz", "selbstbestimmung", "sbgg", "SBGG", "tsg", "transsexuellengesetz", "trans", "nicht-binär", "non-binary", "deutschland", "gender", "geschlecht", "identität", "roadmap", "timeline", "stand", "aktuell", "aktueller stand", "wann", "wann kommt", "inkrafttreten", "referentenentwurf"); Page::$head["og_title"] = ''; - Page::$head["og_description"] = ''; - Page::$head["og_type"] = ''; - $banner_file_path = ([ - "de" => "./asset/banner-de-bg-1920.png", - "en" => "./asset/banner-en-bg-1920.png", - ])[$lang->get()] ?? "./asset/banner-de-bg-1920.png"; - Page::$head["og_image"] = ''; - Page::$head["og_url"] = ''; - - Page::$head["analytics"] = ''; Page::$head["mastodon_verify"] = ''; - Page::css(__DIR__ . "/style.css"); - Page::css(__DIR__ . "/style.css.php", eval: true); - Page::js(__DIR__ . "/copylink_dict.js.php", eval: true); - Page::js(__DIR__ . "/copylink.js"); + require("./page/page_base.php"); Page::js(__DIR__ . "/newsletter.js"); - - Page::font("ubuntu"); - Page::font("tabler"); ?> @@ -643,26 +608,10 @@ - + "/", + "en" => "/en", + ]; + require("./page/footer.php"); +?> diff --git a/page/start/style.css b/page/style.css similarity index 100% rename from page/start/style.css rename to page/style.css diff --git a/page/start/style.css.php b/page/style.css.php similarity index 100% rename from page/start/style.css.php rename to page/style.css.php