1<#assign HtmlParserUtil = staticUtil["com.liferay.portal.kernel.util.HtmlParserUtil"] />
2<#assign journalArticleResourceService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService") />
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
4<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
5<#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") />
6<#assign friendlyUrlEntryService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") />
7<#assign classnameId = classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle") />
8
9<#assign publicURL = themeDisplay.getPathFriendlyURLPublic() />
10<#assign customImage = true />
11
12<#attempt>
13 <#assign fileUrl = Imagen_destacadaFieldSet.Imagen_destacada.getData()?split("?")[0] />
14 <#assign urlParts = fileUrl?split("/") />
15 <#assign uuid = urlParts[urlParts?size - 1] />
16 <#assign groupIdImg = themeDisplay.getScopeGroupId() />
17 <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")/>
18 <#assign fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupIdImg) />
19 <#assign fileEntryId = fileEntry.getFileEntryId() />
20 <#assign nombreArchivo = fileEntry.getFileName() />
21 <#recover>
22 <#assign customImage = false />
23</#attempt>
24
25<#assign diaCambio = 7 />
26<#assign mesCambio = 2 />
27<#assign anoCambio = 2018 />
28<#assign longGroupId = getterUtil.getLong(groupId) />
29<#assign id = .vars["reserved-article-id"].data />
30
31<#attempt>
32 <#assign articleResource = journalArticleResourceService.fetchArticleResource(longGroupId, id) />
33 <#assign articleResourcePK = articleResource.getResourcePrimKey() />
34 <#assign art = journalArticleLocalService.getLatestArticle(articleResourcePK) />
35 <#assign diaNoti = art.getDisplayDate()?string("dd") />
36 <#assign mesNoti = art.getDisplayDate()?string("MM") />
37 <#assign anoNoti = art.getDisplayDate()?string("yyyy") />
38 <#recover>
39 <#assign rawDate = .vars["reserved-article-create-date"].data>
40 <#assign parts = rawDate?split(" ")>
41 <#assign day = parts[1]>
42 <#assign monthStr = parts[2]?lower_case>
43 <#assign year = parts[3]>
44 <#-- Mapa para meses en minúsculas -->
45 <#assign months = {
46 "jan":"01", "feb":"02", "mar":"03", "apr":"04",
47 "may":"05", "jun":"06", "jul":"07", "aug":"08",
48 "sep":"09", "oct":"10", "nov":"11", "dec":"12"
49 } />
50 <#assign month = months[monthStr]>
51 <#assign diaNoti = day />
52 <#assign mesNoti = month />
53 <#assign anoNoti = year />
54</#attempt>
55
56<#assign Integer = 0 />
57
58<#if anoCambio gt anoNoti?number >
59 <#assign miniatura = false />
60<#else>
61 <#if anoCambio == anoNoti?number>
62 <#if mesCambio gt mesNoti?number>
63 <#assign miniatura = false />
64 <#else>
65 <#if mesCambio == mesNoti?number>
66 <#if diaCambio gt diaNoti?number>
67 <#assign miniatura = false />
68 <#else>
69 <#assign miniatura = true />
70 </#if>
71 <#else>
72 <#assign miniatura = true />
73 </#if>
74 </#if>
75 <#else>
76 <#assign miniatura = true />
77 </#if>
78</#if>
79
80<#attempt>
81 <#assign articleResource = journalArticleResourceService.fetchArticleResource(longGroupId, id) />
82 <#assign articleResourcePK = articleResource.getResourcePrimKey() />
83 <#assign articleCategories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", articleResourcePK) />
84 <#recover>
85</#attempt>
86
87<#assign urlTitle = art.getUrlTitle(locale) />
88
89<#if !urlTitle?has_content>
90 <#attempt>
91 <#assign entries = friendlyUrlEntryService.getFriendlyURLEntries(longGroupId,classnameId,articleResourcePK) />
92 <#list entries as entry>
93 <#assign entryLocalization = friendlyUrlEntryService.getFriendlyURLEntry(entry.friendlyURLEntryId) />
94 <#assign urlTitle = entryLocalization.urlTitle />
95 </#list>
96 <#recover>
97 </#attempt>
98</#if>
99
100
101<#attempt>
102 <#assign contentSiteId = articleResource.getGroupId() />
103 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
104 <#assign site = groupLocalService.getGroup(contentSiteId) />
105 <#assign siteFURL = site.getFriendlyURL() />
106 <#recover>
107 <#assign site = "" />
108 <#assign siteFURL = themeDisplay.getScopeGroup().getFriendlyURL() />
109</#attempt>
110
111<div class="detail">
112 <#if Imagen_destacadaFieldSet.Imagen_destacada.getData()?has_content>
113 <div class="imagen_detail">
114 <#if Imagen_destacadaFieldSet.Imagen_destacadaFieldSetFieldSet.imagen_destacada_alt??>
115 <#assign alt_dest = Imagen_destacadaFieldSet.Imagen_destacadaFieldSetFieldSet.imagen_destacada_alt.getData() />
116 <#else>
117 <#assign alt_dest = ""/>
118 </#if>
119 <#if alt_dest?has_content>
120 <#assign titulo = txt_titulo.getData()?replace("\""," ") />
121 <#if alt_dest?lower_case == "#empty"?lower_case>
122 <#assign alt_dest = "" />
123 <#else>
124 <#assign alt_dest = alt_dest?replace("\""," ") />
125 </#if>
126 <#if miniatura >
127 <#-- <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}&imageThumbnail=2" /> -->
128 <#if customImage>
129 <img title="${titulo}" src="/o/adaptive-media/image/${fileEntryId}/thumbnail-600x0/${nombreArchivo}" />
130 <#else>
131 <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" />
132 </#if>
133 <#else>
134 <img alt="${alt_dest}" title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" />
135 </#if>
136 <#else>
137 <#assign titulo = txt_titulo.getData()?replace("\""," ") />
138 <#assign alt_dest = "" />
139 <#if miniatura >
140 <#-- <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}&imageThumbnail=2" /> -->
141 <#if customImage>
142 <img title="${titulo}" src="/o/adaptive-media/image/${fileEntryId}/thumbnail-600x0/${nombreArchivo}" />
143 <#else>
144 <img title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" />
145 </#if>
146 <#else>
147 <img alt="${alt_dest}" title="${titulo}" src="${Imagen_destacadaFieldSet.Imagen_destacada.getData()}" />
148 </#if>
149 </#if>
150 </div>
151 </#if>
152</div>
153
154<div class="data">
155 <#if txt_titulo.getData()?has_content>
156 <span class="date 1${locale} 2${locale.toString()} 3${localeUtil.getDefault()}">${diaNoti}/${mesNoti}/${anoNoti}</span>
157 <h3>
158 <#assign title= txt_titulo.getData() />
159 <#assign titleaccesible = "" />
160 <#assign title = title?replace("\""," ") />
161 <#if locale == "es_ES" >
162 <#assign titleaccesible = title+" (Se abre en nueva ventana)" />
163 </#if>
164 <#if locale == "en_US">
165 <#assign titleaccesible = title+" (Opens in new window)" />
166 </#if>
167 <#if locale == "pt_PT">
168 <#assign titleaccesible = title+" (Abre em nova janela)" />
169 </#if>
170 <#if locale == "gl_ES">
171 <#assign titleaccesible = title+" (Ábrese nunha ventá nova)" />
172 </#if>
173 <#if locale == "ca_ES">
174 <#assign titleaccesible = title+" (S'obre en una finestra)" />
175 </#if>
176 <#if locale == "fr_FR">
177 <#assign titleaccesible = title+" (Ouvre dans une nouvelle fenêtre)" />
178 </#if>
179 <#if titleaccesible == "">
180 <#if urlTitle?has_content && urlTitle != "">
181 <a href="${publicURL}${siteFURL}/w/${urlTitle}" class="title" title="${title}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)">
182 ${txt_titulo.getData()}
183 </a>
184 <#else>
185 <a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="title" title="${title}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)">
186 ${txt_titulo.getData()}
187 </a>
188 </#if>
189 <#else>
190 <#if urlTitle?has_content && urlTitle != "">
191 <a href="${publicURL}${siteFURL}/w/${urlTitle}" class="title" title="${titleaccesible}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)">
192 ${txt_titulo.getData()}
193 </a>
194 <#else>
195 <a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="title" title="${titleaccesible}" target="_blank" onClick="setCookie(${.vars['reserved-article-id'].data}, groupId, 1)">
196 ${txt_titulo.getData()}
197 </a>
198 </#if>
199 </#if>
200 </h3>
201 </#if>
202 <#if urlTitle?has_content && urlTitle != "" >
203 <a href="${publicURL}${siteFURL}/w/${urlTitle}" class="btn btnBlue span3 btn-primary" target="_blank">${mas_info.getData()}</a>
204 <#else>
205 <a href="${publicURL}${siteFURL}/w/${.vars['reserved-article-url-title'].data}" class="btn btnBlue span3 btn-primary" target="_blank">${mas_info.getData()}</a>
206 </#if>
207 <div class="text d-sm-none d-md-block">
208 <#if txt_entradilla.getData()?has_content>
209 <#assign txt_paragraphsEntra =[] />
210 <#assign txt_paragraphsEntra = txt_entradilla.getData()?split('</p>') />
211 <#assign pbodyEntra ='' />
212 <#assign cantidadEntra =320 />
213 <#list txt_paragraphsEntra as paragraphEntra >
214 <#assign textoEntra = paragraphEntra />
215 <#assign textoEntra = HtmlParserUtil.extractText(textoEntra) />
216 <#if textoEntra?length gt cantidadEntra >
217 <#assign pbodyEntra = pbodyEntra +'<p>'+ textoEntra?substring(0,cantidadEntra)+ ('...')+'</p>' />
218 <#break>
219 <#else>
220 <#assign pbodyEntra =pbodyEntra + '<p>'+ textoEntra + '</p>' />
221 <#assign cantidadEntra = cantidadEntra - (textoEntra?length) />
222 </#if>
223 </#list>
224 <#if txt_titulo.getData()?has_content>
225 ${pbodyEntra}
226 </#if>
227 <#else>
228 <#assign txt_paragraphs =[] />
229 <#assign txt_paragraphs = txt_cuerpo.getData()?split('</p>') />
230 <#assign pbody ='' />
231 <#assign cantidad=320 />
232 <#list txt_paragraphs as paragraph>
233 <#assign texto = paragraph />
234 <#assign texto = HtmlParserUtil.extractText(texto) />
235 <#if texto?length gt cantidad >
236 <#assign pbody = pbody +'<p>'+ texto?substring(0,cantidad)+ ('...')+'</p>' />
237 <#break>
238 <#else>
239 <#assign pbody =pbody + '<p>'+ texto + '</p>' />
240 <#assign cantidad = cantidad - texto?length />
241 </#if>
242 </#list>
243 <#if txt_titulo.getData()?has_content>
244 ${pbody}
245 </#if>
246 </#if>
247 </div>
248</div>
249<#assign instanceId = layout.getLayoutType().getPortletIds() />
250<div class="tags">
251 <#if articleCategories?? && articleCategories?has_content>
252 <ul>
253 <#list articleCategories as category >
254 <li class='fcc-label'>
255 <#assign categoryId = category.getCategoryId() />
256 <#assign title = category.getTitle(locale) />
257 <span title="${title}">${title}</span>
258 </li>
259 </#list>
260 </ul>
261 </#if>
262</div>
263<script>
264 function setCookie(articleId, groupId, exdays) {
265 var d = new Date();
266 d.setTime(d.getTime() + (exdays*24*60*60*1000));
267 var expires = "expires="+ d.toUTCString();
268 document.cookie = "tArticleId=" + articleId + ";" + expires + ";path=/";
269 document.cookie = "tGroupId=" + groupId + ";" + expires + ";path=/";
270 }
271</script>