From 67ac9fc291414fadcde6380a5448df92c5cfe790 Mon Sep 17 00:00:00 2001
From: "michael.daniel" <michael@pcsg.de>
Date: Mon, 8 Jul 2019 15:57:01 +0200
Subject: [PATCH] feat: Predefined footer: short text.

---
 bin/css/style.css                 | 11 ++++++++
 index.html                        |  1 +
 locale.xml                        | 45 ++++++++++++++++++++++++++++-
 settings.xml                      | 47 +++++++++++++++++++++++++++++--
 src/QUI/TemplateCologne/Utils.php | 24 +++++++++++++++-
 template/footer.predefined.html   | 21 ++++++++++++--
 6 files changed, 142 insertions(+), 7 deletions(-)

diff --git a/bin/css/style.css b/bin/css/style.css
index f8d84c9..03ba86a 100644
--- a/bin/css/style.css
+++ b/bin/css/style.css
@@ -680,6 +680,17 @@ a.toTop:before {
 /***************************/
 /* Footer: custom template */
 /***************************/
+.cologne-footer-predefined-container {
+    display: flex;
+    flex-wrap: wrap;
+}
+
+.cologne-footer-predefined-entry {
+    padding: 0 20px;
+    width: 260px;
+    flex-grow: 1;
+}
+
 .quiqqer-control-payments-list-entry-data .quiqqer-control-payments-list-entry-data-title {
     font-weight: 500;
 }
diff --git a/index.html b/index.html
index fdf0ec1..9a66aa5 100644
--- a/index.html
+++ b/index.html
@@ -110,6 +110,7 @@
     {fetch template="template/footer.predefined.html"
         Site=$Site
         paymentsData=$paymentsData
+        shortText=$shortText
     }
 
     {* footer copyright *}
diff --git a/locale.xml b/locale.xml
index 8c79bca..ca148a8 100644
--- a/locale.xml
+++ b/locale.xml
@@ -441,7 +441,49 @@
             <en><![CDATA[Display breadcrumb? <br/>For each page type, specify if you want the breadcrumb navigation to be displayed.]]></en>
         </locale>
 
-        <!-- predefined footer -->
+        <!-- predefined footer: short text -->
+        <locale name="settings.predefinedFooter.shortText">
+            <de><![CDATA[Template vorgefertigtes Footer: kurzer Text]]></de>
+            <en><![CDATA[Template pre-defined footer: short text]]></en>
+        </locale>
+        <locale name="settings.predefinedFooter.shortText.info">
+            <de>
+                <![CDATA[Wenn Sie den Text ändern wollen, bearbeiten Sie die Sprachvariable <strong>settings.predefinedFooter.shortText.content</strong> (zu finden in Menü: Verwaltung -> Sprachvariablen).]]></de>
+            <en>
+                <![CDATA[If you want to change the text, edit the language variable <strong>settings.predefinedFooter.shortText.content</strong> (to find in the menu: Administration -> Translator).]]></en>
+        </locale>
+        <locale name="settings.predefinedFooter.shortText.content" html="true">
+            <de><![CDATA[
+            <p>Maecenas ullamcorper, dui et placerat feugiat, eros pede varius nisi, condimentum viverra felis nunc et lorem. Class aptent taciti sociosqu ad litora torquent per conubia nostra.</p>
+
+            <p><span class="fa fa-envelope-o" style="margin-right: 10px;">&nbsp;</span>&nbsp;<a href="mailto:support@test-domain.de">support@test-domain.de</a></p>
+
+            <p>&nbsp;</p>
+
+            <p><a class="font-icon" href="#"><span class="fa fa-facebook">&nbsp;</span></a><a class="font-icon" href="#"><span class="fa fa-twitter">&nbsp;</span></a><a class="font-icon" href="#"><span class="fa fa-youtube-play">&nbsp;</span></a></p>
+            ]]>
+            </de>
+            <en><![CDATA[
+            <p>Maecenas ullamcorper, dui et placerat feugiat, eros pede varius nisi, condimentum viverra felis nunc et lorem. Class aptent taciti sociosqu ad litora torquent per conubia nostra.</p>
+
+            <p><span class="fa fa-envelope-o" style="margin-right: 10px;">&nbsp;</span>&nbsp;<a href="mailto:support@test-domain.de">support@test-domain.de</a></p>
+
+            <p>&nbsp;</p>
+
+            <p><a class="font-icon" href="#"><span class="fa fa-facebook">&nbsp;</span></a><a class="font-icon" href="#"><span class="fa fa-twitter">&nbsp;</span></a><a class="font-icon" href="#"><span class="fa fa-youtube-play">&nbsp;</span></a></p>
+            ]]>
+            </en>
+        </locale>
+        <locale name="settings.predefinedFooter.shortText.show">
+            <de><![CDATA[Anzeigen]]></de>
+            <en><![CDATA[Enable]]></en>
+        </locale>
+        <locale name="settings.predefinedFooter.shortText.title">
+            <de><![CDATA[Überschrift]]></de>
+            <en><![CDATA[Title]]></en>
+        </locale>
+
+        <!-- predefined footer: payments -->
         <locale name="settings.predefinedFooter.title">
             <de><![CDATA[Template vorgefertigtes Footer: Zahlungsmöglichkeiten]]></de>
             <en><![CDATA[Template pre-defined footer: Payments methods]]></en>
@@ -467,6 +509,7 @@
                 <en><![CDATA[List]]></en>
             </locale>
 
+
         <!-- exceptions -->
         <locale name="exception.user.required">
             <de><![CDATA[User Objekt (QUI\Interfaces\Users\User) wird benötigt.]]></de>
diff --git a/settings.xml b/settings.xml
index 932718e..760d7c0 100644
--- a/settings.xml
+++ b/settings.xml
@@ -95,6 +95,16 @@
                         <type><![CDATA[string]]></type>
                         <defaultvalue>grid</defaultvalue>
                     </conf>
+
+                    <!-- predefined footer: short text -->
+                    <conf name="predefinedFooter.shortText">
+                        <type><![CDATA[bool]]></type>
+                        <defaultvalue>1</defaultvalue>
+                    </conf>
+                    <conf name="predefinedFooter.shortText.title">
+                        <type><![CDATA[string]]></type>
+                    </conf>
+
                 </section>
             </config>
 
@@ -464,7 +474,40 @@
                             </input>
                         </settings>
 
-                        <!-- template custom footer -->
+                        <!-- Footer template: Short text -->
+                        <settings title="templateCologne.settings"
+                                  name="templateCologne.settings.predefinedFooter">
+                            <title>
+                                <locale group="quiqqer/template-cologne"
+                                        var="settings.predefinedFooter.shortText"
+                                />
+                            </title>
+                            <text>
+                                <locale group="quiqqer/template-cologne"
+                                        var="settings.predefinedFooter.shortText.info"
+                                />
+                            </text>
+                            <!-- show -->
+                            <input conf="templateCologne.settings.predefinedFooter.shortText"
+                                   type="checkbox">
+                                <text>
+                                    <locale group="quiqqer/template-cologne"
+                                            var="settings.predefinedFooter.shortText.show"
+                                    />
+                                </text>
+                            </input>
+                            <!-- title -->
+                            <input conf="templateCologne.settings.predefinedFooter.shortText.title"
+                                    type="text" data-qui="controls/lang/InputMultiLang">
+                                <text>
+                                    <locale group="quiqqer/template-cologne"
+                                            var="settings.predefinedFooter.shortText.title"
+                                    />
+                                </text>
+                            </input>
+                        </settings>
+
+                        <!-- template predefined footer -->
                         <settings title="templateCologne.settings"
                                   name="templateCologne.settings.predefinedFooter">
                             <title>
@@ -484,7 +527,7 @@
                             </input>
 
                             <!-- footer: payments title (label) -->
-                            <input  conf="templateCologne.settings.predefinedFooter.payments.title"
+                            <input conf="templateCologne.settings.predefinedFooter.payments.title"
                                     type="text" data-qui="controls/lang/InputMultiLang">
                                 <text>
                                     <locale group="quiqqer/template-cologne"
diff --git a/src/QUI/TemplateCologne/Utils.php b/src/QUI/TemplateCologne/Utils.php
index 5994cdc..d69f16b 100644
--- a/src/QUI/TemplateCologne/Utils.php
+++ b/src/QUI/TemplateCologne/Utils.php
@@ -168,7 +168,27 @@ public static function getConfig($params)
         }
 
         /**
-         * Payments Control
+         * Predefined footer: short text
+         */
+        $shortText = false;
+        if ($Project->getConfig('templateCologne.settings.predefinedFooter.shortText')) {
+            $shortText = [];
+
+            $titles = json_decode($Project->getConfig(
+                'templateCologne.settings.predefinedFooter.shortText.title'
+            ), true);
+
+            $title = false;
+
+            if (isset($titles[$lang])) {
+                $title = $titles[$lang];
+            }
+
+            $shortText['title'] = $title;
+        }
+
+        /**
+         * Predefined footer: Payments Control
          */
         $paymentsData = false;
         if ($Project->getConfig('templateCologne.settings.predefinedFooter.payments')) {
@@ -185,6 +205,7 @@ public static function getConfig($params)
             if (isset($titles[$lang])) {
                 $title = $titles[$lang];
             }
+
             $paymentsData['title'] = $title;
         }
 
@@ -197,6 +218,7 @@ public static function getConfig($params)
             'basketStyle'      => $basketStyle,
             'basketOpen'       => $basketOpen,
             'showCategoryMenu' => $showCategoryMenu,
+            'shortText'        => $shortText,
             'paymentsData'     => $paymentsData
         ];
 
diff --git a/template/footer.predefined.html b/template/footer.predefined.html
index d3e283d..af5e2e6 100644
--- a/template/footer.predefined.html
+++ b/template/footer.predefined.html
@@ -1,9 +1,24 @@
 <div class="cologne-footer-predefined template-grid-container">
-    <div class="template-children-container clearfix">
+    <div class="template-children-container cologne-footer-predefined-container">
 
-        {* <!--payments--> *}
+        {* <!-- short text --> *}
+        {if $shortText}
+        <div class="cologne-footer-predefined-entry cologne-footer-predefined-entry__shortText">
+            {if $shortText['title']}
+            <header class="control-header">
+                <h2>{$shortText['title']}</h2>
+            </header>
+            {/if}
+
+            <div class="shortText-content">
+                {locale group="quiqqer/template-cologne" var="settings.predefinedFooter.shortText.content"}
+            </div>
+        </div>
+        {/if}
+
+        {* <!-- payments --> *}
         {if $paymentsData}
-        <div class="footer-payments grid-50">
+        <div class="cologne-footer-predefined-entry cologne-footer-predefined-entry__footer">
             {if $paymentsData['title']}
             <header class="control-header">
                 <h2>{$paymentsData['title']}</h2>
-- 
GitLab