From eefd1667a6f0890c6cfd29b061564c4284f8af28 Mon Sep 17 00:00:00 2001 From: Karoline Dyve Samuelsen Date: Sun, 15 Feb 2026 19:45:54 +0100 Subject: [PATCH] Vibe translated footer and header from php to twig. --- themes/pvv/default/includes/footer.twig | 11 ++ themes/pvv/default/includes/header.twig | 160 ++++++++++++++++++++++++ 2 files changed, 171 insertions(+) create mode 100644 themes/pvv/default/includes/footer.twig create mode 100644 themes/pvv/default/includes/header.twig diff --git a/themes/pvv/default/includes/footer.twig b/themes/pvv/default/includes/footer.twig new file mode 100644 index 0000000..662efc7 --- /dev/null +++ b/themes/pvv/default/includes/footer.twig @@ -0,0 +1,11 @@ +{% if htmlinject.htmlContentPost %} + {% for c in htmlinject.htmlContentPost %} + {{ c }} + {% endfor %} +{% endif %} + + + + + + diff --git a/themes/pvv/default/includes/header.twig b/themes/pvv/default/includes/header.twig new file mode 100644 index 0000000..96eb356 --- /dev/null +++ b/themes/pvv/default/includes/header.twig @@ -0,0 +1,160 @@ +{# Support the htmlinject hook, which allows modules to change header, pre and post body on all pages. #} +{% set htmlinject = { + 'htmlContentPre': [], + 'htmlContentPost': [], + 'htmlContentHead': [], +} %} + +{% set jquery = jquery|default([]) %} + +{% if pageid is defined %} + {% set hookinfo = { + 'pre': htmlinject.htmlContentPre, + 'post': htmlinject.htmlContentPost, + 'head': htmlinject.htmlContentHead, + 'jquery': jquery, + 'page': pageid + } %} + {# SimpleSAML_Module::callHooks('htmlinject', hookinfo); #} +{% endif %} + + + +{{ header|default('SimpleSAMLphp') }} + + + + +{% if jquery is not empty %} + {% set version = jquery.version|default('1.8') %} + + {% if version == '1.8' %} + {% if jquery.core|default(false) %} + + {% endif %} + + {% if jquery.ui|default(false) %} + + {% endif %} + + {% if jquery.css|default(false) %} + + {% endif %} + {% endif %} +{% endif %} + +{% if clipboard_js is defined %} + +{% endif %} + +{% if htmlinject.htmlContentHead is not empty %} + {% for c in htmlinject.htmlContentHead %} + {{ c|raw }} + {% endfor %} +{% endif %} + + + + + +{% if head is defined %} + {{ head|raw }} +{% endif %} + +{% set onLoad = '' %} +{% if autofocus is defined %} + {% set onLoad = onLoad ~ "SimpleSAML_focus('" ~ autofocus ~ "');" %} +{% endif %} +{% if onLoad_js is defined %} + {% set onLoad = onLoad ~ onLoad_js %} +{% endif %} + +{% if onLoad != '' %} + +{% else %} + +{% endif %} + +

{{ header|default('SimpleSAMLphp') }}

+ + + {% set includeLanguageBar = true %} + {% if _POST is not empty %} + {% set includeLanguageBar = false %} + {% endif %} + {% if hideLanguageBar is defined and hideLanguageBar == true %} + {% set includeLanguageBar = false %} + {% endif %} + + {% if includeLanguageBar %} + + {% set languages = getLanguageList() %} + {% if languages|length > 1 %} +
+ {% set langnames = { + 'no': 'Bokmål', + 'nn': 'Nynorsk', + 'se': 'Sámegiella', + 'sam': 'Åarjelh-saemien giele', + 'da': 'Dansk', + 'en': 'English', + 'de': 'Deutsch', + 'sv': 'Svenska', + 'fi': 'Suomeksi', + 'es': 'Español', + 'fr': 'Français', + 'it': 'Italiano', + 'nl': 'Nederlands', + 'lb': 'Lëtzebuergesch', + 'cs': 'Čeština', + 'sl': 'Slovenščina', + 'lt': 'Lietuvių kalba', + 'hr': 'Hrvatski', + 'hu': 'Magyar', + 'pl': 'Język polski', + 'pt': 'Português', + 'pt-br': 'Português brasileiro', + 'ru': 'русский язык', + 'et': 'eesti keel', + 'tr': 'Türkçe', + 'el': 'ελληνικά', + 'ja': '日本語', + 'zh': '简体中文', + 'zh-tw': '繁體中文', + 'ar': 'العربية', + 'fa': 'پارسی', + 'ur': 'اردو', + 'he': 'עִבְרִית', + 'id': 'Bahasa Indonesia', + 'sr': 'Srpski', + 'lv': 'Latviešu', + 'ro': 'Românește', + 'eu': 'Euskara', + } %} + + {% set textarray = [] %} + {% for lang, current in languages %} + {% if current %} + {% set textarray = textarray|merge([langnames[lang|lower]]) %} + {% else %} + {% set url = addURLParameters(getSelfURL(), {languageParameterName: lang}) %} + {% set textarray = textarray|merge(['' ~ langnames[lang|lower] ~ '']) %} + {% endif %} + {% endfor %} + {{ textarray|join(' | ')|raw }} +
+ {% endif %} + + {% endif %} + + + +
+ + + +{% if htmlinject.htmlContentPre is not empty %} + {% for c in htmlinject.htmlContentPre %} + {{ c|raw }} + {% endfor %} +{% endif %}