diff --git a/actions/admin/settings/100.panel.php b/actions/admin/settings/100.panel.php index ffbb9f4f..3485bbdf 100644 --- a/actions/admin/settings/100.panel.php +++ b/actions/admin/settings/100.panel.php @@ -265,7 +265,37 @@ return array( 'traffic.mail' => $lng['menue']['traffic']['traffic'] . " / Mail" ), 'save_method' => 'storeSettingField' - ) + ), + 'panel_imprint_url' => array( + 'label' => $lng['serversettings']['imprint_url'], + 'settinggroup' => 'panel', + 'varname' => 'imprint_url', + 'type' => 'string', + 'string_type' => 'url', + 'string_emptyallowed' => true, + 'default' => '', + 'save_method' => 'storeSettingField' + ), + 'panel_terms_url' => array( + 'label' => $lng['serversettings']['terms_url'], + 'settinggroup' => 'panel', + 'varname' => 'terms_url', + 'type' => 'string', + 'string_type' => 'url', + 'string_emptyallowed' => true, + 'default' => '', + 'save_method' => 'storeSettingField' + ), + 'panel_privacy_url' => array( + 'label' => $lng['serversettings']['privacy_url'], + 'settinggroup' => 'panel', + 'varname' => 'privacy_url', + 'type' => 'string', + 'string_type' => 'url', + 'string_emptyallowed' => true, + 'default' => '', + 'save_method' => 'storeSettingField' + ), ) ) ) diff --git a/install/froxlor.sql b/install/froxlor.sql index f93818d3..c26b51cb 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -711,8 +711,11 @@ opcache.interned_strings_buffer'), ('panel', 'password_special_char', '!?<>§$%+#=@'), ('panel', 'customer_hide_options', ''), ('panel', 'is_configured', '0'), + ('panel', 'imprint_url', ''), + ('panel', 'terms_url', ''), + ('panel', 'privacy_url', ''), ('panel', 'version', '0.10.25'), - ('panel', 'db_version', '202103110'); + ('panel', 'db_version', '202103240'); DROP TABLE IF EXISTS `panel_tasks`; diff --git a/install/updates/froxlor/0.10/update_0.10.inc.php b/install/updates/froxlor/0.10/update_0.10.inc.php index 60983e8c..91479c92 100644 --- a/install/updates/froxlor/0.10/update_0.10.inc.php +++ b/install/updates/froxlor/0.10/update_0.10.inc.php @@ -787,3 +787,14 @@ if (\Froxlor\Froxlor::isDatabaseVersion('202102200') || \Froxlor\Froxlor::isData \Froxlor\Froxlor::updateToDbVersion('202103110'); } + +if (\Froxlor\Froxlor::isDatabaseVersion('202103110')) { + + showUpdateStep("Adding settings for imprint, terms of use and privacy policy URLs", true); + Settings::AddNew("panel.imprint_url", ''); + Settings::AddNew("panel.terms_url", ''); + Settings::AddNew("panel.privacy_url", ''); + lastStepStatus(0); + + \Froxlor\Froxlor::updateToDbVersion('202103240'); +} diff --git a/lib/Froxlor/Froxlor.php b/lib/Froxlor/Froxlor.php index fd782640..6d5dfd77 100644 --- a/lib/Froxlor/Froxlor.php +++ b/lib/Froxlor/Froxlor.php @@ -10,7 +10,7 @@ final class Froxlor const VERSION = '0.10.25'; // Database version (YYYYMMDDC where C is a daily counter) - const DBVERSION = '202103110'; + const DBVERSION = '202103240'; // Distribution branding-tag (used for Debian etc.) const BRANDING = ''; diff --git a/lib/init.php b/lib/init.php index 0f0067a6..a0a8a431 100644 --- a/lib/init.php +++ b/lib/init.php @@ -480,6 +480,18 @@ if (array_key_exists('css', $_themeoptions['variants'][$themevariant]) && is_arr eval("\$header = \"" . \Froxlor\UI\Template::getTemplate('header', '1') . "\";"); $current_year = date('Y', time()); +$panel_imprint_url = Settings::Get('panel.imprint_url'); +if (!empty($panel_imprint_url) && strtolower(substr($panel_imprint_url, 0, 4)) != 'http') { + $panel_imprint_url = 'https://'.$panel_imprint_url; +} +$panel_terms_url = Settings::Get('panel.terms_url'); +if (!empty($panel_terms_url) && strtolower(substr($panel_terms_url, 0, 4)) != 'http') { + $panel_terms_url = 'https://'.$panel_terms_url; +} +$panel_privacy_url = Settings::Get('panel.privacy_url'); +if (!empty($panel_privacy_url) && strtolower(substr($panel_privacy_url, 0, 4)) != 'http') { + $panel_privacy_url = 'https://'.$panel_privacy_url; +} eval("\$footer = \"" . \Froxlor\UI\Template::getTemplate('footer', '1') . "\";"); unset($js); diff --git a/lng/english.lng.php b/lng/english.lng.php index e00a0c6e..f77eb958 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -2107,3 +2107,12 @@ $lng['error']['no_wwwcnamae_ifwwwalias'] = 'Cannot set CNAME record for "www" as $lng['serversettings']['hide_incompatible_settings'] = 'Hide incompatible settings'; $lng['serversettings']['soaemail'] = 'Mail address to use in SOA records (defaults to sender address from panel settings if empty)'; +$lng['imprint'] = 'Legal notes'; +$lng['serversettings']['imprint_url']['title'] = 'URL to legal notes / imprint'; +$lng['serversettings']['imprint_url']['description'] = 'Specify an URL to your legal notes / imprint site. The link will be visible on the login screen and on the footer when logged in.'; +$lng['terms'] = 'Terms of use'; +$lng['serversettings']['terms_url']['title'] = 'URL to terms of use'; +$lng['serversettings']['terms_url']['description'] = 'Specify an URL to your terms of use site. The link will be visible on the login screen and on the footer when logged in.'; +$lng['privacy'] = 'Privacy policy'; +$lng['serversettings']['privacy_url']['title'] = 'URL to privacy policy'; +$lng['serversettings']['privacy_url']['description'] = 'Specify an URL to your privacy policy site / imprint site. The link will be visible on the login screen and on the footer when logged in.'; diff --git a/lng/german.lng.php b/lng/german.lng.php index b896ea02..c4959d54 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1753,3 +1753,12 @@ $lng['error']['no_wwwcnamae_ifwwwalias'] = 'Es kann kein CNAME Eintrag für "www $lng['serversettings']['hide_incompatible_settings'] = 'Inkompatible Einstellungen ausblenden'; $lng['serversettings']['soaemail'] = 'Mail-Adresse für SOA-Einträge (verwendet Panel-Absender-Name der Panel-Einstellungen falls leer)'; +$lng['imprint'] = 'Impressum'; +$lng['serversettings']['imprint_url']['title'] = 'URL zum Impressum'; +$lng['serversettings']['imprint_url']['description'] = 'Die URL zur Impressums-Seite. Der Link ist auf der Login-Seite und wenn eingeloggt, in der Fußzeile sichtbar.'; +$lng['terms'] = 'AGB'; +$lng['serversettings']['terms_url']['title'] = 'URL zu den AGB'; +$lng['serversettings']['terms_url']['description'] = 'Die URL zur AGB-Seite. Der Link ist auf der Login-Seite und wenn eingeloggt, in der Fußzeile sichtbar.'; +$lng['privacy'] = 'Datenschutzerklärung'; +$lng['serversettings']['privacy_url']['title'] = 'URL zur Datenschutzerklärung'; +$lng['serversettings']['privacy_url']['description'] = 'Die URL zur Datenschutzerklärungs-Seite. Der Link ist auf der Login-Seite und wenn eingeloggt, in der Fußzeile sichtbar.'; diff --git a/templates/Sparkle/assets/css/main.css b/templates/Sparkle/assets/css/main.css index eb696992..127f360b 100644 --- a/templates/Sparkle/assets/css/main.css +++ b/templates/Sparkle/assets/css/main.css @@ -1737,4 +1737,11 @@ td.size-50 { font-weight: 700; padding: 5px 10px; color: #ffe !important; -} \ No newline at end of file +} + +.footer-link:after { + content: " |"; +} +.footer-link:last-child:after { + content: ""; +} diff --git a/templates/Sparkle/footer.tpl b/templates/Sparkle/footer.tpl index 359c0bb9..590bc307 100644 --- a/templates/Sparkle/footer.tpl +++ b/templates/Sparkle/footer.tpl @@ -4,11 +4,14 @@