Gewinnliste Adventskalender 2023

Fehler bei der Verarbeitung der Vorlage.
The string doesn't match the expected date/time/date-time format. The string to parse was: "". The expected format was: "dd.MM.y".
The nested reason given follows:
Unparseable date: ""

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign gewinnDatum = cellValue?trim?...  [in template "10154#10194#50250808" at line 99, column 21]
----
1<#-- -------------------------------------------------------------------- --> 
2 
3<#-- Diese Funktion dient dazu eine Gewinliste für einen                  --> 
4<#-- Adventskalender zu veröffentlichen                                   --> 
5<#-- Sie gibt eine im Feld Gewinnzahlen als "/t" sepatierte Liste         --> 
6<#-- als Tabelle aus, wobei Zeilen, in denen im ersten Element ein        --> 
7<#-- in der Zukunft liegendes Datum steht nut angezeigt werden.           --> 
8<#-- Zählfehler der Treffer korrigiert                                    --> 
9<#-- 02.10.2024 Armin J. Gaul                                             --> 
10 
11<#-- -------------------------------------------------------------------- --> 
12 
13 
14<#setting locale="de_DE"> 
15<#setting time_zone="Europe/Berlin"> 
16 
17<#assign 
18httpComponentsUtil = staticUtil["com.liferay.portal.kernel.util.HttpComponentsUtil"] 
19vergleichsDatum = .now?datetime 
20gewinnTabelle = Gewinnzahlen.getData() 
21url= themeDisplay.getURLCurrent() 
22basisurl= themeDisplay.getURLCurrent()?keep_before("?") 
23 
24suche = false 
25quotation = false 
26suchstring = httpComponentsUtil.getParameter(url, "search", false) 
27 
28<#-- START übergebenes Datum nutzen --> 
29anzahlTreffer = 0 
30anzeigedatumtext = httpComponentsUtil.getParameter(url, "date", false) 
31/> 
32 
33<#if anzeigedatumtext?? && anzeigedatumtext?matches('\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d') > 
34    <#assign anzeigedatum = anzeigedatumtext?date> 
35</#if> 
36<#if anzeigedatumtext?? && anzeigedatumtext == "today"> 
37    <#assign anzeigedatum = .now?date> 
38</#if> 
39<#if ZeitversatzVeröffentlichung?? > 
40    <#assign stundenOffset = ZeitversatzVeröffentlichung.getData() > 
41<#else> 
42    <#assign stundenOffset = 0 > 
43</#if> 
44<#-- ENDE übergebenes Datum nutzen --> 
45 
46 
47<div class="article article_main"> 
48    <div class="article_headline"> 
49        <h2 id="tablestart"> 
50            ${.vars['reserved-article-title'].data} 
51        </h2> 
52    </div> 
53 
54    <p style="text-align: right;"><input id="neuerSuchstring" value="${suchstring}" placeholder="Gewinn suchen..." type="search"></p> 
55 
56 
57    <#if suchstring != "" > 
58        <#assign suche = true > 
59        <p>Suchergebnis f&uuml;r Suchbegriff "${suchstring}"</p> 
60    </#if> 
61 
62    <table width="100%" border="1" cellpadding="5" cellspacing="0"> 
63        <#list gewinnTabelle?split("\n") as lineValue> 
64 
65 
66 
67            <#if !quotation> 
68                <#assign 
69                istDatum = false 
70                treffer = false 
71                lineText="<tr>" 
72                /> 
73            </#if> 
74 
75            <#list lineValue?split("\t") as cellValue> 
76 
77                <#list cellValue?replace("\"","")?split(",") as testWert > 
78                    <#attempt> 
79                        <#if testWert?trim != "" && testWert?trim?replace(suchstring,"","r") == "" > 
80                            <#assign treffer = true > 
81                        </#if> 
82                        <#recover> 
83                    </#attempt> 
84                </#list> 
85 
86                <#if cellValue?index == 0 && !quotation> 
87                    <#if cellValue?trim?replace("\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d","","r") == ""  > 
88                        <#assign istDatum = true> 
89                    <#else> 
90                    <#-- Überschrift --> 
91                        <#assign anzeigen = true > 
92                        <#assign treffer = true > 
93                    </#if> 
94                </#if> 
95 
96                <#if (cellValue?index == 0) && istDatum && !quotation> 
97 
98 
99                    <#assign gewinnDatum = cellValue?trim?date + ', ${stundenOffset}:01:00'> 
100                    <#assign lineText=lineText+"<td>"+gewinnDatum?date+"</td>" > 
101                    <#assign anzeigen = (gewinnDatum?datetime?iso_utc?date("yyyy-MM-dd'T'HH:mm:ss") <= vergleichsDatum?datetime?iso_utc?date("yyyy-MM-dd'T'HH:mm:ss")) > 
102 
103                    <#if anzeigedatum?? && !anzeigedatum?date?matches(gewinnDatum?date)> 
104                        <#assign anzeigen = false > 
105                    </#if> 
106 
107 
108                <#else> 
109 
110                    <#if !quotation> 
111                        <#assign lineText=lineText+"<td>"> 
112                    </#if> 
113 
114                    <#if cellValue?replace("\"\"","")?starts_with("\"")  && !(cellValue[1..]?replace("\"\"","")?contains("\"")) && !quotation > 
115                        <#assign quotation=true > 
116                    </#if> 
117 
118                    <#if !istDatum && !quotation> 
119                        <#assign lineText=lineText+"<b>"+cellValue?replace("\"","&quot;")?trim+"</b>"> 
120                    <#else> 
121                        <#if !quotation> 
122                            <#assign lineText=lineText+cellValue?replace("\"","&quot;")?trim> 
123                        <#else> 
124                            <#assign lineText=lineText+cellValue?replace("\"\"","&quot;")?replace("\"","")?trim> 
125                        </#if> 
126                    </#if> 
127 
128 
129                    <#if cellValue?replace("\"\"","")?ends_with("\"") && quotation > 
130                        <#assign quotation=false > 
131                    </#if> 
132 
133 
134                    <#if !quotation> 
135                        <#assign lineText=lineText+"</td>"> 
136                    <#else> 
137                        <#assign lineText=lineText+"&Tab;"> 
138                    </#if> 
139 
140 
141 
142                </#if> 
143            </#list> 
144 
145            <#if !quotation> 
146                <#assign lineText=lineText+"</tr>"> 
147            <#else> 
148                <#assign lineText=lineText+"<br>"> 
149            </#if> 
150 
151            <#if anzeigen && (!suche || treffer) && !quotation> 
152                ${lineText} 
153                <#if istDatum> 
154                    <#assign anzahlTreffer = anzahlTreffer + 1 > 
155                </#if> 
156            </#if> 
157        </#list> 
158    </table> 
159 
160    <#if anzahlTreffer == 0 > 
161        <#if !suche> 
162            <div class="portlet-msg-alert"><h1>Aktuell sind zu diesem Datum noch keine Gewinne ver&ouml;ffentlicht, 
163                    weshalb wir Sie noch um ein wenig Geduld bitten. Vielen Dank!</h1></div> 
164        <#else> 
165            <div class="portlet-msg-alert"><h1>Aktuell sind zu dieser Suche keine Gewinne ver&ouml;ffentlicht.</h1> 
166            </div> 
167        </#if> 
168    </#if> 
169 
170</div> 
171<p> 
172</p> 
173<script> 
174    document.getElementById("neuerSuchstring") 
175        .addEventListener("keyup", function (event) { 
176            event.preventDefault(); 
177            if (event.keyCode === 13) { 
178                doSearch(); 
179
180        }); 
181 
182    function doSearch() { 
183        str = document.getElementById("neuerSuchstring").value; 
184        window.location.replace("${basisurl}" + "?search=" + str + "#tablestart"); 
185
186 
187</script> 

Gewinnliste Adventskalender 2023

Fehler bei der Verarbeitung der Vorlage.
The string doesn't match the expected date/time/date-time format. The string to parse was: "". The expected format was: "dd.MM.y".
The nested reason given follows:
Unparseable date: ""

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign gewinnDatum = cellValue?trim?...  [in template "10154#10194#50250808" at line 99, column 21]
----
1<#-- -------------------------------------------------------------------- --> 
2 
3<#-- Diese Funktion dient dazu eine Gewinliste für einen                  --> 
4<#-- Adventskalender zu veröffentlichen                                   --> 
5<#-- Sie gibt eine im Feld Gewinnzahlen als "/t" sepatierte Liste         --> 
6<#-- als Tabelle aus, wobei Zeilen, in denen im ersten Element ein        --> 
7<#-- in der Zukunft liegendes Datum steht nut angezeigt werden.           --> 
8<#-- Zählfehler der Treffer korrigiert                                    --> 
9<#-- 02.10.2024 Armin J. Gaul                                             --> 
10 
11<#-- -------------------------------------------------------------------- --> 
12 
13 
14<#setting locale="de_DE"> 
15<#setting time_zone="Europe/Berlin"> 
16 
17<#assign 
18httpComponentsUtil = staticUtil["com.liferay.portal.kernel.util.HttpComponentsUtil"] 
19vergleichsDatum = .now?datetime 
20gewinnTabelle = Gewinnzahlen.getData() 
21url= themeDisplay.getURLCurrent() 
22basisurl= themeDisplay.getURLCurrent()?keep_before("?") 
23 
24suche = false 
25quotation = false 
26suchstring = httpComponentsUtil.getParameter(url, "search", false) 
27 
28<#-- START übergebenes Datum nutzen --> 
29anzahlTreffer = 0 
30anzeigedatumtext = httpComponentsUtil.getParameter(url, "date", false) 
31/> 
32 
33<#if anzeigedatumtext?? && anzeigedatumtext?matches('\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d') > 
34    <#assign anzeigedatum = anzeigedatumtext?date> 
35</#if> 
36<#if anzeigedatumtext?? && anzeigedatumtext == "today"> 
37    <#assign anzeigedatum = .now?date> 
38</#if> 
39<#if ZeitversatzVeröffentlichung?? > 
40    <#assign stundenOffset = ZeitversatzVeröffentlichung.getData() > 
41<#else> 
42    <#assign stundenOffset = 0 > 
43</#if> 
44<#-- ENDE übergebenes Datum nutzen --> 
45 
46 
47<div class="article article_main"> 
48    <div class="article_headline"> 
49        <h2 id="tablestart"> 
50            ${.vars['reserved-article-title'].data} 
51        </h2> 
52    </div> 
53 
54    <p style="text-align: right;"><input id="neuerSuchstring" value="${suchstring}" placeholder="Gewinn suchen..." type="search"></p> 
55 
56 
57    <#if suchstring != "" > 
58        <#assign suche = true > 
59        <p>Suchergebnis f&uuml;r Suchbegriff "${suchstring}"</p> 
60    </#if> 
61 
62    <table width="100%" border="1" cellpadding="5" cellspacing="0"> 
63        <#list gewinnTabelle?split("\n") as lineValue> 
64 
65 
66 
67            <#if !quotation> 
68                <#assign 
69                istDatum = false 
70                treffer = false 
71                lineText="<tr>" 
72                /> 
73            </#if> 
74 
75            <#list lineValue?split("\t") as cellValue> 
76 
77                <#list cellValue?replace("\"","")?split(",") as testWert > 
78                    <#attempt> 
79                        <#if testWert?trim != "" && testWert?trim?replace(suchstring,"","r") == "" > 
80                            <#assign treffer = true > 
81                        </#if> 
82                        <#recover> 
83                    </#attempt> 
84                </#list> 
85 
86                <#if cellValue?index == 0 && !quotation> 
87                    <#if cellValue?trim?replace("\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d","","r") == ""  > 
88                        <#assign istDatum = true> 
89                    <#else> 
90                    <#-- Überschrift --> 
91                        <#assign anzeigen = true > 
92                        <#assign treffer = true > 
93                    </#if> 
94                </#if> 
95 
96                <#if (cellValue?index == 0) && istDatum && !quotation> 
97 
98 
99                    <#assign gewinnDatum = cellValue?trim?date + ', ${stundenOffset}:01:00'> 
100                    <#assign lineText=lineText+"<td>"+gewinnDatum?date+"</td>" > 
101                    <#assign anzeigen = (gewinnDatum?datetime?iso_utc?date("yyyy-MM-dd'T'HH:mm:ss") <= vergleichsDatum?datetime?iso_utc?date("yyyy-MM-dd'T'HH:mm:ss")) > 
102 
103                    <#if anzeigedatum?? && !anzeigedatum?date?matches(gewinnDatum?date)> 
104                        <#assign anzeigen = false > 
105                    </#if> 
106 
107 
108                <#else> 
109 
110                    <#if !quotation> 
111                        <#assign lineText=lineText+"<td>"> 
112                    </#if> 
113 
114                    <#if cellValue?replace("\"\"","")?starts_with("\"")  && !(cellValue[1..]?replace("\"\"","")?contains("\"")) && !quotation > 
115                        <#assign quotation=true > 
116                    </#if> 
117 
118                    <#if !istDatum && !quotation> 
119                        <#assign lineText=lineText+"<b>"+cellValue?replace("\"","&quot;")?trim+"</b>"> 
120                    <#else> 
121                        <#if !quotation> 
122                            <#assign lineText=lineText+cellValue?replace("\"","&quot;")?trim> 
123                        <#else> 
124                            <#assign lineText=lineText+cellValue?replace("\"\"","&quot;")?replace("\"","")?trim> 
125                        </#if> 
126                    </#if> 
127 
128 
129                    <#if cellValue?replace("\"\"","")?ends_with("\"") && quotation > 
130                        <#assign quotation=false > 
131                    </#if> 
132 
133 
134                    <#if !quotation> 
135                        <#assign lineText=lineText+"</td>"> 
136                    <#else> 
137                        <#assign lineText=lineText+"&Tab;"> 
138                    </#if> 
139 
140 
141 
142                </#if> 
143            </#list> 
144 
145            <#if !quotation> 
146                <#assign lineText=lineText+"</tr>"> 
147            <#else> 
148                <#assign lineText=lineText+"<br>"> 
149            </#if> 
150 
151            <#if anzeigen && (!suche || treffer) && !quotation> 
152                ${lineText} 
153                <#if istDatum> 
154                    <#assign anzahlTreffer = anzahlTreffer + 1 > 
155                </#if> 
156            </#if> 
157        </#list> 
158    </table> 
159 
160    <#if anzahlTreffer == 0 > 
161        <#if !suche> 
162            <div class="portlet-msg-alert"><h1>Aktuell sind zu diesem Datum noch keine Gewinne ver&ouml;ffentlicht, 
163                    weshalb wir Sie noch um ein wenig Geduld bitten. Vielen Dank!</h1></div> 
164        <#else> 
165            <div class="portlet-msg-alert"><h1>Aktuell sind zu dieser Suche keine Gewinne ver&ouml;ffentlicht.</h1> 
166            </div> 
167        </#if> 
168    </#if> 
169 
170</div> 
171<p> 
172</p> 
173<script> 
174    document.getElementById("neuerSuchstring") 
175        .addEventListener("keyup", function (event) { 
176            event.preventDefault(); 
177            if (event.keyCode === 13) { 
178                doSearch(); 
179
180        }); 
181 
182    function doSearch() { 
183        str = document.getElementById("neuerSuchstring").value; 
184        window.location.replace("${basisurl}" + "?search=" + str + "#tablestart"); 
185
186 
187</script>