Logo POCTEFA
Banner_MINECO
Banner_ERDF EU
Destacado_HORIZON EUROPE 2021-2027
destacado_UPV-EHU_Participation_in_research_projects
destacado_Ayudas_a_la_preparacion_de_proyectos
Links of interest_Ikerbasque
New Calls
Agenda
-
HORIZON EUROPE training day: tips to write a proposal
08/05/2025 - 08/05/2025, 09:00 - 14:20
-
IMPACT of collaborative projects of Pillar II of Horizon Europe
24/02/2025, 14:30
-
2nd call for the INTERREG VI programme (POCTEFA 2021-2027)
21/01/2025
-
Erasmus + free Info Sessions from the European Commission
13/01/2025 - 15/01/2025
-
ECS Brokerage Event 2025
18/02/2025 - 19/02/2025
News
An error occurred while processing the template.
Can't compare values of these types. Allowed comparisons are between two numbers, two strings, two dates, or two booleans. Left hand operand is an extended_hash (wrapper: com.liferay.portal.template.freemarker.internal.LiferayTemplateModel). Right hand operand is a string (wrapper: f.t.SimpleScalar). The blamed expression: ==> inithour != "[\"\"]" [in template "10112#522485#1619238" at line 325, column 140] ---- FTL stack trace ("~" means nesting-related): - Failed at: #if inithour?has_content && inithour?... [in template "10112#522485#1619238" at line 325, column 97] ----
1<#assign ddmTemplateLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMTemplateLocalService") >
2<#assign globalGroupId = themeDisplay.getCompanyGroupId() />
3<#assign lisTemplates = ddmTemplateLocalService.getTemplatesByGroupId(globalGroupId) >
4<#assign nombreTpl = "event-comun">
5<#-- LOCALIZACION -->
6<@upvlibs.VocabFormatCategories vocabularyName="kokalekuak" show=false divClass="location" />
7<#assign localization = upvlibs.catString >
8<#list lisTemplates as template >
9 <#if validator.isNotNull(locale) >
10 <#assign templateName = template.getName(locale ) >
11 <#else>
12 <#assign templateName = template.getNameCurrentValue() >
13 </#if>
14 <#if templateName == nombreTpl >
15 <#assign templateKey = template.getTemplateKey() >
16 </#if>
17</#list>
18
19<#include "${templatesPath}/" + "${templateKey}" />
20
21<#-- GENERAL-->
22<#assign void = ''>
23<#assign cTxtAuthors = languageUtil.get( locale, "ehu.authors" ) >
24<#assign cTxtComInfo = languageUtil.get( locale, "ehu.communication-information" ) >
25<#assign cTxtComType = languageUtil.get( locale, "ehu.communication-type" ) >
26<#assign cTxtCycle = languageUtil.get( locale, "ehu.cycle" ) >
27<#assign cTxtDateFrom = languageUtil.get( locale, "ehu.From" ) >
28<#assign cTxtDateTo = languageUtil.get( locale, "ehu.To" ) >
29<#assign cTxtDescription = languageUtil.get( locale, "ehu.description" ) >
30<#assign cTxtInscription = languageUtil.get( locale, "ehu.registration" ) >
31<#assign cTxtMoreInfo = languageUtil.get( locale, "ehu.more-info" ) >
32<#assign cTxtPhoto = languageUtil.get( locale, "ehu.photo" ) >
33<#assign cTxtSpeaker = languageUtil.get( locale, "ehu.speaker" ) >
34<#assign cTxtTitle = languageUtil.get( locale, "ehu.title" ) >
35<#assign cTxtUrl = languageUtil.get( locale, "ehu.url" ) >
36<#assign cTxtNewWindow = languageUtil.get( locale, "opens-new-window" ) >
37<#assign scopeId = themeDisplay.scopeGroupId>
38<#assign isCampusa = (themeDisplay.getTheme().getContextPath() == "/o/upv-ehu-campusa-theme") >
39<#assign isGlobal = (themeDisplay.getTheme().getContextPath() == "/o/upv-ehu-global-theme") >
40<#assign journalLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
41
42<#if .vars['reserved-article-id']?has_content>
43 <#assign articleId = .vars['reserved-article-id'] >
44<#else>
45 <#assign articleId = "">
46</#if>
47
48
49<#if !isGlobal >
50 <#assign articleClass = "event" >
51 <#assign preTitleClass = "pretitle" >
52 <#assign titleClass = "event-title" >
53 <#assign datesClass = "event_date" >
54 <#assign cycleClass = "cycle" >
55 <#assign descriptionClass = "description" >
56 <#assign registrationClass = "registration" >
57 <#assign comunicationClass = "communication" >
58 <#assign addInfoClass = "additional-info" >
59<#else>
60 <#assign articleClass = "event-detail" >
61 <#assign preTitleClass = "event-detail__pretitle" >
62 <#assign titleClass = "event-detail__title" >
63 <#assign datesClass = "event-detail__featured-information__date" >
64 <#assign cycleClass = "event-detail__featured-information__cycle" >
65 <#assign descriptionClass = "event-detail__body__description" >
66 <#assign registrationClass = "event-detail__registration" >
67 <#assign comunicationClass = "event-detail__communication" >
68 <#assign addInfoClass = "event-detail__additional-info" >
69</#if>
70
71<#assign type = "" >
72<#assign entItem = ehugeneraldataFieldSet.ehutype >
73<#if entItem?is_hash >
74 <#assign eventType = entItem.getData()?html >
75<#else>
76 <#assign eventType = getterUtil.getString( entItem ) >
77</#if>
78<#if eventType != "" >
79 <#if eventType != "upv-ehu-other" && eventType != "chooseAnOption" && eventType != "upv-ehu-blank" >
80 <#assign type = '<span class="type">' + languageUtil.get( locale, eventType ) + '</span>' >
81 </#if>
82</#if>
83
84<#assign scope = "" >
85<#if ehugeneraldataFieldSet.upvehuscope?? >
86 <#assign entItem = ehugeneraldataFieldSet.upvehuscope >
87</#if>
88<#if entItem?is_hash >
89 <#assign eventScope = entItem.getData()?html >
90<#else>
91 <#assign eventScope = getterUtil.getString( entItem ) >
92</#if>
93<#if eventScope != "" >
94 <#if eventScope != "chooseAnOption" && eventType != "chooseAnOption" && eventScope != "upv-ehu-blank" >
95 <#assign scope = '<span class="scope">' + languageUtil.get( locale, eventScope ) + '</span>' >
96 </#if>
97</#if>
98
99<#if (type?? && type == "") || (scope?? && scope == "")>
100 <#assign nexo = "" >
101<#else>
102 <#assign nexo = " " >
103</#if>
104<#if locale == "en_GB">
105 <#assign typeAndScope = scope + nexo + type >
106<#else>
107 <#assign typeAndScope = type + nexo + scope >
108</#if>
109
110<#-- HTML-->
111<article class="${ articleClass }">
112 <#-- PRETITLE, TITLE y POSTTITLE -->
113 <header>
114 <#assign preTitle = "" >
115 <#-- Hasta nuevo aviso no se pinta el "Título de la comunicación"
116 <#if !isGlobal >
117 <#if hayComTitle >
118 <#assign preTitle = '<span class="communication">' + comTitle + '</span>' >
119 </#if>
120 <#else>
121 <#assign preTitle = typeAndScope >
122 </#if>
123 -->
124 <#assign preTitle = typeAndScope >
125
126 <#-- Se dejan todos los themes con pretitle y sin (typeAndScope) tras el título -->
127 <#if preTitle != "" >
128 <div class="${ preTitleClass }">${ preTitle }</div>
129 </#if>
130 <h1 class="${ titleClass }">
131 ${ title }
132 <#--
133 <#if !isGlobal >
134 <#if typeAndScope != "" >
135 <span class="posttitle">(${ typeAndScope })</span>
136 </#if>
137 </#if>
138 -->
139 </h1>
140 </header>
141
142 <#-- CAMPUSA VOCABULARY -->
143 <#if !isGlobal >
144 <#assign vocabularyName = "campusa" >
145 <#assign tag_init = "<ul></ul>" >
146 <#assign categories = tag_init >
147 <@upvlibs.formatVocabularyCategoriesProperties vocabularyName=vocabularyName />
148 <#assign categories = upvlibs.categoriesListStr >
149 <#if categories != tag_init >
150 <div class="campusa-category">${ categories }</div>
151 </#if>
152 </#if>
153
154 <#if isGlobal >
155 <#-- clase para la informacion general -->
156 <div class="event-detail__featured-information">
157 </#if>
158
159 <#-- FECHAS Y LOCALIZACION -->
160 <#if !isGlobal >
161 <#-- clase y cabecera para la informacion sobre localizacion y fechas -->
162 <div class="date-location">
163 <h2><@liferay.language key="ehu.when-and-where" /></h2>
164 </#if>
165
166 <#-- FECHAS -->
167 <#-- clase para la informacion sobre fechas -->
168 <div class="${ datesClass }">
169
170 <#if isGlobal >
171 <#-- cabecera para la informacion sobre fechas -->
172 <h2 class="sr-only"><@liferay.language key="ehu.date" /></h2>
173 <i class="icon-calendar-empty"></i>
174 </#if>
175
176 <#assign txtDateFrom = "" >
177 <#if dateEnd?? && dateStart??>
178 <#assign daysBetween = dateUtil.getDaysBetween( dateStart, dateEnd ) >
179 <#if ( daysBetween > 0 ) >
180 <#assign txtDateFrom = cTxtDateFrom >
181 </#if>
182 <#else>
183 <#-- Si no hay fecha de fin pintamos igualmente el texto de "Desde: " ya que sí hay fecha de inicio -->
184 <#assign txtDateFrom = cTxtDateFrom >
185 </#if>
186
187 <#if txtDateFrom != "">
188 <#assign txtDateTo = cTxtDateTo >
189 <#else>
190 <#assign txtDateTo = "" >
191 </#if>
192
193 <#if txtDateFrom != "" >
194 <#if !isGlobal>
195 <#assign txtDateFrom = txtDateFrom + ": " >
196 <#else>
197 <#assign txtDateFrom = "<strong>" + txtDateFrom + "</strong>">
198 </#if>
199 </#if>
200 <#if txtDateTo != "" >
201 <#if !isGlobal>
202 <#assign txtDateTo = txtDateTo + ": " >
203 <#else>
204 <#assign txtDateTo = "<strong>" + txtDateTo + "</strong>">
205 </#if>
206
207 </#if>
208
209 <#-- informacion sobre fechas -->
210 <#if !isGlobal >
211 <#-- Una de las dos variables tiene que tener valor para no pintar un "p" vacío -->
212 <#if dateStartStr?? || dateEndStr?? >
213 <p>
214 <#-- Si hay fecha de inicio pero no de fin se pinta la fecha de inicio y la hora de fin. Tampoco se pinta el "Desde". -->
215 <#if dateStartStr?? && (!dateEndStr?? || dateEndStr == "") >
216 <span class="date">${ dateStartStr }</span>
217 <#if dateEndHourStr?? && dateEndMinStr?? >
218 <span class="date">- ${ dateEndHourStr }:${ dateEndMinStr }</span>
219 </#if>
220 </#if>
221
222 <#-- Si hay fecha de inicio y de fin se pintan -->
223 <#if dateStartStr?? && dateEndStr?? && dateEndStr != "" >
224 ${ txtDateFrom }<span class="date">${ dateStartReduced }</span>
225 <#-- Si hay hora de inicio hay que pintar una coma dentro de la fecha para que no meta un espacio en blanco por detrás -->
226 <#if dateStartHourStr?? && dateStartMinStr?? >
227 ${ txtDateTo }<span class="date">${ dateEndReduced + "," }</span>
228 <#else>
229 ${ txtDateTo }<span class="date">${ dateEndReduced }</span>
230 </#if>
231 <#-- Pintamos las horas -->
232 <#if dateStartHourStr?? && dateStartMinStr?? >
233 <span class="date"> ${ dateStartHourStr }:${ dateStartMinStr } </span>
234 </#if>
235 <#if dateStartHourStr?? && dateStartMinStr?? && dateEndHourStr?? && dateEndMinStr?? && dateEndHourStr != "" && dateEndMinStr != "">
236 <span class="date">- ${ dateEndHourStr }:${ dateEndMinStr }</span>
237 </#if>
238 </#if>
239 </p>
240 </#if>
241 <#else>
242 <#-- Cuando es Global-theme -->
243 <#-- Una de las dos variables tiene que tener valor para no pintar un "p" vacío -->
244 <#if dateStartStr?? || dateEndStr?? >
245 <p>
246
247 <#-- Si hay fecha de inicio pero no de fin se pinta la fecha de inicio y la hora de fin. Tampoco se pinta el "Desde". -->
248 <#if dateStartStr?? && (!dateEndStr?? || dateEndStr == "") >
249 <#-- Si hay hora de inicio hay que pintar una coma dentro de la fecha para que no meta un espacio en blanco por detrás -->
250 <#if dateStartHourStr?? && dateStartMinStr?? >
251 ${ dateStartReduced + "," }
252 <#else>
253 ${ dateStartReduced }
254 </#if>
255 <#if dateStartHourStr?? && dateStartMinStr?? >
256 ${ dateStartHourStr }:${ dateStartMinStr }
257 </#if>
258 <#if dateStartHourStr?? && dateStartMinStr?? && dateEndHourStr?? && dateEndMinStr?? >
259 - ${ dateEndHourStr }:${ dateEndMinStr }
260 </#if>
261 </#if>
262
263 <#-- Si hay fecha de inicio y de fin se pintan -->
264 <#if dateStartStr?? && dateEndStr?? && dateEndStr != "" >
265 <#-- Si hay fecha de inicio pero no de fin se pinta la fecha de inicio y la hora de fin. Tampoco se pinta el "Desde". -->
266 <#if dateStartHourStr?? && dateStartMinStr?? >
267 ${ txtDateFrom } ${ dateStartReduced } ${ txtDateTo } ${ dateEndReduced + ","}
268 <#else>
269 ${ txtDateFrom } ${ dateStartReduced } ${ txtDateTo } ${ dateEndReduced }
270 </#if>
271 <#if dateStartHourStr?? && dateStartMinStr?? >
272 ${ dateStartHourStr }:${ dateStartMinStr }
273 </#if>
274 <#if dateStartHourStr?? && dateStartMinStr?? && dateEndHourStr?? && dateEndMinStr?? && dateEndHourStr != "" && dateEndMinStr != "">
275 - ${ dateEndHourStr }:${ dateEndMinStr }
276 </#if>
277 </#if>
278 </p>
279 </#if>
280 </#if>
281 </div> <#-- cierra clase para la informacion sobre fechas -->
282
283
284
285 <#-- NUEVO EN EVENTO REDUCED -->
286 <#-- Horario -->
287 <#if ehugeneraldataFieldSet.ehudayhoursFieldSet?? && validator.isNotNull (ehugeneraldataFieldSet.ehudayhoursFieldSet) >
288 <#assign nexoHoraMin = ":" >
289 <#assign nexoRangoHoras = ", " >
290 <#assign cont = 1>
291 <#-- Lista de días -->
292 <#list ehugeneraldataFieldSet.ehudayhoursFieldSet.getSiblings() as currentehudayhours >
293 <#if currentehudayhours.ehuday?? && currentehudayhours.ehuday.getData()?has_content && currentehudayhours.ehuday.getData()?html !="chooseAnOption">
294 <#assign ehuday = currentehudayhours.ehuday.getData()?html >
295 <#assign strehuDay = "ehu." + ehuday >
296 <#if strehuDay != "ehu.">
297 <#-- Lista de horas en un día determinado -->
298 <#if cont == 1 >
299 <div class="event-detail__featured-information__time">
300 <h2 class="sr-only"><@liferay.language key="ehu.horario" /></h2>
301 <i class="icon-time"></i>
302 <div class="event-detail__featured-information__time--list">
303 </#if>
304 <p><strong> <@liferay.language key="${strehuDay}" /> </strong>
305 <#assign firstHour = true >
306 <#if ehugeneraldataFieldSet.ehudayhoursFieldSet.initendhourFieldSet?? >
307 <#if ehugeneraldataFieldSet.ehudayhoursFieldSet.initendhourFieldSet.inithour.getData()?html??
308 && ehugeneraldataFieldSet.ehudayhoursFieldSet.initendhourFieldSet.inithour.getData()?html != ""
309 && ehugeneraldataFieldSet.ehudayhoursFieldSet.initendhourFieldSet.inithour.getData()?html !="chooseAnOption">
310 <strong>:</strong>
311 </#if>
312 <#assign count = 0 >
313 <#list currentehudayhours.initendhourFieldSet.getSiblings() as currentinitendhour >
314
315 <#if ehuday != "" >
316 <#if currentinitendhour.inithour?? && currentinitendhour.inithour.getData()?html !="chooseAnOption">
317 <#assign inithour = currentinitendhour.inithour.getData()?html >
318 </#if>
319 <#if currentinitendhour.endhour?? && currentinitendhour.endhour.getData()?html !="chooseAnOption">
320 <#assign endhour = currentinitendhour.endhour.getData()?html >
321 </#if>
322 <#assign txtHoraIni = '' >
323 <#assign txtHoraFin = '' >
324
325 <#if inithour?has_content && inithour?? && inithour != "[\"\"]">
326 <#assign txtHoraIni = inithour?substring(0,2) + nexoHoraMin + inithour?substring(2,4) >
327 </#if>
328 <#-- Si hay varias horas hay que pintar una coma para cada hora menos la última sin dejar espacio -->
329 <#if endhour?has_content && endhour?? && endhour != "[\"\"]">
330 <#assign count = count + 1 >
331 <#if (currentehudayhours.initendhourFieldSet.getSiblings()?size = 1)>
332 <#assign txtHoraFin = endhour?substring(0,2) + nexoHoraMin + endhour?substring(2,4) >
333 <#elseif (currentehudayhours.initendhourFieldSet.getSiblings()?size > 1)>
334 <#if count = currentehudayhours.initendhourFieldSet.getSiblings()?size >
335 <#assign txtHoraFin = endhour?substring(0,2) + nexoHoraMin + endhour?substring(2,4) >
336 <#else>
337 <#assign txtHoraFin = endhour?substring(0,2) + nexoHoraMin + endhour?substring(2,4) + "," >
338 </#if>
339 </#if>
340 </#if>
341 <#if firstHour>
342 <#assign firstHour = false >
343 </#if>
344 <#if txtHoraIni?has_content && txtHoraFin?has_content>
345 ${ txtHoraIni } - ${ txtHoraFin }
346 <#else>
347 <#if txtHoraIni?has_content>
348 ${ txtHoraIni }
349 </#if>
350 <#if txtHoraFin?has_content>
351 ${ txtHoraFin }
352 </#if>
353 </#if>
354 </#if>
355 </#list>
356 </#if>
357 </p>
358
359 <#assign cont = cont + 1>
360 </#if>
361 </#if>
362 </#list>
363 <#if (cont > 1) >
364 </div>
365 </div>
366 </#if>
367 </#if>
368
369
370
371 <#-- LOCALIZACION -->
372 <#if localization != "" >
373 <#if isGlobal >
374 <#-- clase y cabecera para la informacion sobre localizacion -->
375 <div class="event-detail__featured-information__location">
376 <h2 class="sr-only"><@liferay.language key="ehu.location" /></h2>
377 <i class="icon-map-marker"></i>
378 </#if>
379 ${ localization }
380 <#if isGlobal >
381 </div> <#-- cierra clase para la informacion sobre localizacion -->
382 </#if>
383 </#if>
384 <#if !isGlobal >
385 </div> <#-- cierra clase para la informacion sobre localizacion y fechas -->
386 </#if>
387
388 <#-- CICLO -->
389 <#if ehugeneraldataFieldSet.ehucycle?is_hash >
390 <#assign eventCycle = ehugeneraldataFieldSet.ehucycle.getData()?html >
391 <#else>
392 <#assign eventCycle = getterUtil.getString( ehugeneraldataFieldSet.ehucycle ) >
393 </#if>
394 <#if eventCycle != "" >
395 <div class="${ cycleClass }">
396 <#if !isGlobal >
397 <h2>${ cTxtCycle }</h2>
398 <#else>
399 <h2 class="sr-only">${ cTxtCycle }</h2>
400 <i class="icon-refresh"></i>
401 </#if>
402 <p>${ eventCycle }</p>
403 </div>
404 </#if>
405
406 <#-- RECEPTORES -->
407 <#if isGlobal >
408 <@upvlibs.VocabFormatCategories vocabularyName="hartzaileak" show=false divClass="receivers" />
409 <#assign catString = upvlibs.catString >
410 <#if catString != "" >
411 <div class="event-detail__featured-information__receivers">
412 <h2 class="sr-only"><@liferay.language key="ehu.receivers" /></h2>
413 <i class="icon-user"></i>
414 ${ catString }
415 </div>
416 </#if>
417 <#else>
418 <@upvlibs.VocabFormatCategories vocabularyName="hartzaileak" show=true divClass="receivers" />
419
420
421 </#if>
422
423 <#if isGlobal >
424 <#-- clase para la informacion general -->
425 </div> <#-- cierra clase para toda la informacion -->
426 </#if>
427
428 <#-- REDES SOCIALES -->
429 <#if isGlobal >
430 <#if ehugeneraldataFieldSet.ehusocialbookmarks?? >
431 <#if ehugeneraldataFieldSet.ehusocialbookmarks?is_hash >
432 <#assign redesSociales = ehugeneraldataFieldSet.ehusocialbookmarks.getData()?html >
433 <#else>
434 <#assign redesSociales = getterUtil.getString( ehugeneraldataFieldSet.ehusocialbookmarks ) >
435 </#if>
436 <#assign showRedesSociales = getterUtil.getBoolean(redesSociales, false ) >
437 <#assign classRS = "share-social-bar__item" >
438 <#if showRedesSociales >
439 <#assign urlEnCurso = themeDisplay.getURLPortal() + themeDisplay.getURLCurrent() >
440 <div class="event-detail__share">
441 <#-- SHARE SOCIAL BAR -->
442 <div class="share-social-bar">
443 <a href="https://www.facebook.com/share.php?u=${urlEnCurso?replace(' ','%20')}&t=www.ehu.eus" target="_blank" title="Facebook" class="${ classRS }">
444 <i class="icon-facebook"></i>
445 <span class="sr-only"><@liferay.language key="social-bookmark-facebook-ehu" /> - ${ cTxtNewWindow }</span>
446 </a>
447 <a href="https://x.com/intent/tweet?text=www.ehu.eus%20-%20${urlEnCurso?replace(' ','%20')}%20" target="_blank" title="X" class="${ classRS } svg-icon">
448 <svg class="bi bi-twitter-x" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="#949494"><path d="M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865z"></path></svg>
449 <span class="sr-only"><@liferay.language key="social-bookmark-twitter-ehu" /> - ${ cTxtNewWindow }</span>
450 </a>
451 <a href="https://www.linkedin.com/shareArticle?mini=true&url=${urlEnCurso?replace(' ','%20')}&title=${title?replace(' ','%20')}&summary=" target="_blank" title="LinkedIn" class="${ classRS }">
452 <i class="icon-linkedin"></i>
453 <span class="sr-only"><@liferay.language key="social-bookmark-linkedin" /> - ${ cTxtNewWindow }</span>
454 </a>
455 <a href="whatsapp://send?text=${ urlEnCurso }" data-action="share/whatsapp/share" target="_blank" class="${ classRS } svg-icon" title="WhatsApp">
456 <svg><use xlink:href="${ themeDisplay.getPathThemeImages() }/icons/fontawesome-brands.svg#whatsapp" /></svg>
457 <span class="sr-only">WhatsApp - ${ cTxtNewWindow }</span>
458 </a>
459 <a href="mailto:?subject=${title?replace(' ','%20')}&body=%20-%20${urlEnCurso?replace(' ','%20')}" target="_blank" title="Email" class="${ classRS }">
460 <i class="icon-envelope"></i>
461 <span class="sr-only"><@liferay.language key="ehu.send-email" /> - ${ cTxtNewWindow }</span>
462 </a>
463 <a href="javascript:void(0)" onclick="window.print();" target="_blank" title='<@liferay.language key="ehu.print" />' class="${ classRS }">
464 <i class="icon-print"></i>
465 <span class="sr-only"><@liferay.language key="centros.accesibilidad.imprimir" /> - ${ cTxtNewWindow }</span>
466 </a>
467 </div>
468 </div>
469 </#if>
470 </#if>
471 </#if>
472
473 <#if isGlobal >
474 <div class="event-detail__body">
475 </#if>
476
477 <#-- IMAGE-->
478
479 <#assign entImage = ehugeneraldataFieldSet.ehugeneraldataimageFieldSet >
480 <#if entImage?is_hash >
481 <#assign imageSrc = entImage.ehugeneraldataimage.getData()?html >
482 <#else>
483 <#assign imageSrc = getterUtil.getString( entImage.ehugeneraldataimage ) >
484 </#if>
485 <#if imageSrc != "" >
486 <#if isGlobal >
487 <div class="event-detail__body__main-image">
488 </#if>
489
490 <#if entImage.ehuimagedescription?? >
491 <#if entImage.ehuimagedescription?is_hash >
492 <#assign imageAltTextStr = entImage.ehuimagedescription.getData()?html >
493 <#else>
494 <#assign imageAltTextStr = getterUtil.getString( entImage.ehuimagedescription ) >
495 </#if>
496 </#if>
497 <#if !imageAltTextStr?has_content && imageAltTextStr != "">
498 <#assign imageAltText = imageAltTextStr>
499 <#else>
500 <#assign imageAltText = "">
501 </#if>
502
503 <#if entImage.ehuimagefoot?? >
504 <#if entImage.ehuimagefoot?is_hash >
505 <#assign imageFootTextStr = entImage.ehuimagefoot.getData()?html >
506 <#else>
507 <#assign imageFootTextStr = getterUtil.getString( entImage.ehuimagefoot ) >
508 </#if>
509 </#if>
510 <#if imageFootTextStr?has_content && imageFootTextStr != "">
511 <#assign imageFootText = imageFootTextStr>
512 <#else>
513 <#assign imageFootText = "" >
514 </#if>
515
516 <#if entImage.ehuimageauthor?? >
517 <#if entImage.ehuimageauthor?is_hash >
518 <#assign imageAuthorTextStr = entImage.ehuimageauthor.getData()?html >
519 <#else>
520 <#assign imageAuthorTextStr = getterUtil.getString( entImage.ehuimageauthor ) >
521 </#if>
522 </#if>
523 <#if imageAuthorTextStr?has_content && imageAuthorTextStr != "">
524 <#assign imageAuthorText = imageAuthorTextStr>
525 <#else>
526 <#assign imageAuthorText = "" >
527 </#if>
528
529
530 <#assign imageAlign = "center" >
531 <#assign entImageUrl = "" >
532 <#assign imageUrlTitle = "" >
533 <#assign imageUrlNewTab = false >
534 <#assign imageClass = "img-main" >
535
536 <#-- Pasamos la imagen del evento directamente al og:image para que no haya problemas al compartir
537 el evento en redes sociales (Trello 273 - Trello 637) -->
538 <@liferay_util["html-top"]>
539 <meta property="og:image" content="${ portalUtil.getAbsoluteURL( request, imageSrc ) }">
540 </@>
541 <#if !isGlobal >
542 <@upvlibs.imageAuthorSection image=imageSrc altText=imageAltText footText=imageFootText imageAuthor=imageAuthorText
543 imageDisposition=imageAlign elemImageUrl=entImageUrl imageUrlTitle=imageUrlTitle imageUrlNewTab=imageUrlNewTab imgClass=imageClass />
544 <#else>
545 <img src="${ imageSrc }" alt="${ imageAltText }"/>
546 </#if>
547
548 <#if isGlobal >
549 <#if imageFootText != "" || imageAuthorText != "" >
550 <div class="main-image__footer">
551 <#if imageFootText == "">
552 <#assign txtPhoto = "" >
553 <#else>
554 <#assign txtPhoto = imageFootText >
555 </#if>
556 <#if imageAuthorText != "" >
557 <#if imageFootText == "">
558 <#assign txtPhotoAux = "" >
559 <#else>
560 <#assign txtPhotoAux = " | " >
561 </#if>
562 <#assign txtPhoto = txtPhoto + txtPhotoAux + cTxtPhoto + ": " + imageAuthorText >
563 </#if>
564 <#if txtPhoto != "" >
565 <p>${txtPhoto}</p>
566 </#if>
567 </div>
568 </#if>
569 </#if>
570 <#if isGlobal >
571 </div> <#-- class="event-detail__body__main-image" -->
572 </#if>
573 <#else>
574 <#-- Si el evento no tiene imagen metemos como imagen para redes sociales el logo de la universidad
575 proporcionado por la oficina de comunicación (Trello 565 - Trello 637) -->
576 <@liferay_util["html-top"]>
577 <meta property="og:image" content="https://www.ehu.eus/documents/522485/1339603/avatar.jpg">
578 </@>
579 </#if>
580
581
582 <#-- DESCRIPCION-->
583 <#assign description = "">
584 <#if ehugeneraldataFieldSet.ehudescription??>
585 <#if ehugeneraldataFieldSet.ehudescription?is_hash >
586 <#assign aux = ehugeneraldataFieldSet.ehudescription.getData() >
587 <#else>
588 <#assign aux = getterUtil.getString( ehugeneraldataFieldSet.ehudescription ) >
589 </#if>
590 <#if aux?has_content && aux != "">
591 <#assign description = aux>
592 <#else>
593 <#assign description = "">
594 </#if>
595 </#if>
596 <#if description != "" >
597 <div class="${ descriptionClass }">
598 <#if !isGlobal >
599 <h2 class="sr-only">${ cTxtDescription }</h2>
600 </#if>
601 ${ description }
602 </div>
603 </#if>
604 <#if isGlobal >
605 </div> <#-- class="event-detail__body" -->
606 </#if>
607
608 <#-- REGISTRO / INSCRIPCION -->
609 <#if ehuregistrationFieldSet?? >
610 <#assign entRegistration = ehuregistrationFieldSet >
611 <#if entRegistration.ehuregistrationlinkFieldSet??>
612 <#assign entRegistrationUrl = entRegistration.ehuregistrationlinkFieldSet >
613 </#if>
614 <#assign registrationUrl = "">
615 <#assign description = "">
616 <#assign registrationDescr = "">
617 <#assign registrationUrlTitle = "">
618 <#if entRegistrationUrl.ehuregistrationlink??>
619 <#if entRegistrationUrl.ehuregistrationlink?is_hash >
620 <#assign aux = entRegistrationUrl.ehuregistrationlink.getData()?html >
621 <#else>
622 <#assign aux = getterUtil.getString( entRegistrationUrl.ehuregistrationlink ) >
623 </#if>
624 <#if aux?has_content && aux != "">
625 <#assign registrationUrl = aux>
626 <#else>
627 <#assign registrationUrl = "">
628 </#if>
629 </#if>
630
631 <#-- No se utiliza
632 <#if entRegistration.ehuregistrationdescription??>
633 <#if entRegistration.ehuregistrationdescription?is_hash >
634 <#assign aux = entRegistration.ehuregistrationdescription.getData()?html >
635 <#else>
636 <#assign aux = getterUtil.getString( entRegistration.ehuregistrationdescription ) >
637 </#if>
638 <#if aux?has_content && aux != "">
639 <#assign description = aux>
640 <#else>
641 <#assign description = "">
642 </#if>
643 </#if>
644 -->
645
646 <#if entRegistrationUrl??>
647 <#if entRegistrationUrl.ehuregistrationlinktitle??>
648 <#if entRegistrationUrl.ehuregistrationlinktitle?is_hash >
649 <#assign aux = entRegistrationUrl.ehuregistrationlinktitle.getData()?html >
650 <#else>
651 <#assign aux = getterUtil.getString( entRegistrationUrl.ehuregistrationlinktitle ) >
652 </#if>
653 <#if aux?has_content && aux != "">
654 <#assign registrationUrlTitle = aux>
655 <#else>
656 <#assign registrationUrlTitle = "">
657 </#if>
658 </#if>
659 </#if>
660 <#if entRegistration.ehuregistrationdescription??>
661 <#if entRegistration.ehuregistrationdescription?is_hash >
662 <#assign aux = entRegistration.ehuregistrationdescription.getData()?html >
663 <#else>
664 <#assign aux = getterUtil.getString( entRegistration.ehuregistrationdescription ) >
665 </#if>
666 <#if aux?has_content && aux != "">
667 <#assign registrationDescr = aux>
668 <#else>
669 <#assign registrationDescr = "">
670 </#if>
671 </#if>
672
673 <#if (registrationUrl?has_content && registrationUrl != "") || (registrationDescr?has_content && registrationDescr != "") >
674 <#if !isGlobal >
675 <div class="registration">
676 <h2><@liferay.language key="ehu.registration"/></h2>
677
678 <#-- Descripción -->
679 <#if registrationDescr != "" >
680 <#assign regDescription = "<p>" + registrationDescr + "</p>" >
681 <#assign aux = cTxtDescription >
682 ${ regDescription }
683 </#if>
684
685 <#if registrationUrl?has_content && registrationUrl != "" >
686 <#-- URL -->
687 <#assign url = registrationUrl>
688 <#assign formatedURL = "" >
689 <#if url?is_hash >
690 <#assign aux = url.getData()?html >
691 <#else>
692 <#assign aux = getterUtil.getString(url) >
693 </#if>
694 <#if aux?has_content && aux != "">
695 <#assign formatedURL = aux>
696 </#if>
697
698 <#assign text = "" >
699 <#if entRegistrationUrl.ehuregistrationlinktitle?? >
700 <#if entRegistrationUrl.ehuregistrationlinktitle?is_hash>
701 <#assign text = entRegistrationUrl.ehuregistrationlinktitle.getData()?html >
702 <#else>
703 <#assign text = getterUtil.getString(entRegistrationUrl.ehuregistrationlinktitle) >
704 </#if>
705 </#if>
706
707 <#assign newTab = getterUtil.getBoolean( "false") >
708 <#if entRegistrationUrl.ehuregistrationlinknewtab?is_hash >
709 <#assign aux = entRegistrationUrl.ehuregistrationlinknewtab.getData()?html >
710 <#else>
711 <#assign aux = getterUtil.getString( entRegistrationUrl.ehuregistrationlinknewtab ) >
712 </#if>
713 <#if aux?has_content && aux != "">
714 <#assign newTab = getterUtil.getBoolean(aux) >
715 </#if>
716
717 <p>
718 <strong>${cTxtUrl}:</strong>
719
720 <#if newTab >
721 <#assign target = ' target="_blank"'>
722 <#else>
723 <#assign target = "">
724 </#if>
725
726 <a href="${ formatedURL }" class="bullet bullet-url"${ target }>
727
728 <#if newTab >
729 <span class="sr-only"><@liferay.language key="opens-new-window"/></span>
730 </#if>
731
732 <#if text == "">
733 ${formatedURL}
734 <#else>
735 ${text}
736 </#if>
737
738 <#if newTab >
739 <span class="icon-external-link"></span>
740 </#if>
741 </a>
742 </p>
743 </#if>
744
745 </div>
746
747 </#if> <#-- !isGlobal -->
748
749 <#-- Si es tema global -->
750 <#if isGlobal >
751 <div class="${ registrationClass }">
752 <h2>${ cTxtInscription }</h2>
753
754 <#-- Si no hay descripción y hay URL -->
755 <#if registrationDescr == "" && registrationUrl?has_content && registrationUrl != "">
756 <#assign aux = cTxtUrl >
757 <strong>${aux}:</strong>
758
759 <#if registrationUrlTitle != "">
760 <a href="${ registrationUrl }">${ registrationUrlTitle } <span class="icon-external-link"></span></a>
761 <#else>
762 <a href="${ registrationUrl }">${ registrationUrl } <span class="icon-external-link"></span></a>
763 </#if>
764
765 <#-- Si hay descripción y hay URL -->
766 <#elseif registrationDescr != "" && registrationUrl?has_content && registrationUrl != "">
767 <#assign regDescription = registrationDescr >
768 <p>
769 ${ regDescription }
770 </p>
771 <p>
772 <strong> ${ cTxtUrl }:</strong>
773 <#if registrationUrlTitle != "">
774 <a href="${ registrationUrl }">${ registrationUrlTitle } <span class="icon-external-link"></span></a>
775 <#else>
776 <a href="${ registrationUrl }">${ registrationUrl } <span class="icon-external-link"></span></a>
777 </#if>
778 </p>
779
780 <#-- Si hay descripción pero no hay URL -->
781 <#else>
782 <#assign regDescription = registrationDescr >
783 <p>
784 ${ regDescription }
785 </p>
786 </#if>
787 </div>
788 </#if> <#-- isGlobal -->
789
790 </#if> <#-- registrationUrl != "" -->
791 </#if><#-- ehuregistration?? -->
792
793 <#-- INFORMACION DE COMUNICACION -->
794
795 <#if ehucommunicationinformationFieldSet?? >
796 <#assign entComInformation = ehucommunicationinformationFieldSet >
797 <#if entComInformation.ehucommunicationauthors??>
798 <#if entComInformation.ehucommunicationauthors?is_hash >
799 <#assign aux = entComInformation.ehucommunicationauthors.getData()?html >
800 <#else>
801 <#assign aux = getterUtil.getString( entComInformation.ehucommunicationauthors ) >
802 </#if>
803 <#if aux?has_content && aux != "">
804 <#assign comunicationAuthors = aux>
805 <#else>
806 <#assign comunicationAuthors = "">
807 </#if>
808 </#if>
809 <#if entComInformation.ehuspeakers??>
810 <#if entComInformation.ehuspeakers?is_hash >
811 <#assign aux = entComInformation.ehuspeakers.getData()?html >
812 <#else>
813 <#assign aux = getterUtil.getString( entComInformation.ehuspeakers ) >
814 </#if>
815 <#if aux?has_content && aux != "">
816 <#assign comunicationSpeakers = aux>
817 <#else>
818 <#assign comunicationSpeakers = "">
819 </#if>
820 </#if>
821 <#if entComInformation.upvehucommunicationtype??>
822 <#if entComInformation.upvehucommunicationtype?is_hash >
823 <#assign aux = entComInformation.upvehucommunicationtype.getData()?html >
824 <#else>
825 <#assign aux = getterUtil.getString( entComInformation.upvehucommunicationtype ) >
826 </#if>
827 <#if aux?has_content && aux != "">
828 <#assign comunicationType = aux>
829 <#else>
830 <#assign comunicationType = "">
831 </#if>
832 </#if>
833 <#if comunicationAuthors?? && (comunicationAuthors != "")>
834 <#assign hayComAuthors = getterUtil.getBoolean("true" ) >
835 <#else>
836 <#assign hayComAuthors = getterUtil.getBoolean("false" ) >
837 </#if>
838 <#if comunicationSpeakers?? && (comunicationSpeakers != "") >
839 <#assign hayComSpeakers = getterUtil.getBoolean("true" ) >
840 <#else>
841 <#assign hayComSpeakers = getterUtil.getBoolean("false" ) >
842 </#if>
843 <#if comunicationType?? && (comunicationType != "") && comunicationType != "upv-ehu-blank" >
844 <#assign hayComType = getterUtil.getBoolean("true" )>
845 <#else>
846 <#assign hayComType = getterUtil.getBoolean("false" ) >
847 </#if>
848
849 <#if hayComTitle?? || hayComAuthors?? || hayComSpeakers?? || hayComType??>
850 <#assign hayCom = hayComTitle || hayComAuthors || hayComSpeakers || hayComType >
851 <#if hayCom >
852 <div class="${ comunicationClass }">
853 <h2>${ cTxtComInfo }</h2>
854 <ul>
855 <#if hayComTitle>
856 <li><strong>${cTxtTitle}:</strong> ${entComInformation.ehucommunicationtitle.getData()}</li>
857 </#if>
858 <#if hayComAuthors>
859 <li><strong>${cTxtAuthors}:</strong> ${entComInformation.ehucommunicationauthors.getData()}</li>
860 </#if>
861 <#if hayComSpeakers >
862 <li><strong>${cTxtSpeaker}:</strong> ${entComInformation.ehuspeakers.getData()}</li>
863 </#if>
864 <#if hayComType >
865 <li>
866 <strong>${cTxtComType}:</strong>
867 <@liferay.language key="${ comunicationType }" />
868 </li>
869 </#if>
870 </ul>
871 </div>
872 </#if>
873 </#if>
874 </#if>
875
876 <#if !isGlobal >
877 <@contactInfo 2/>
878 <@aditionalInfo />
879 <#if ehuimagegalleryFieldSet?? >
880 <#if ehuimagegalleryFieldSet.ehuslideFieldSet??>
881 <@upvlibs.imageGallerySection ehuimagegalleryFieldSet.ehuslideFieldSet articleId 4 />
882 </#if>
883 </#if>
884 <#else>
885 <#if ehuimagegalleryFieldSet?? >
886 <#if ehuimagegalleryFieldSet.ehuslideFieldSet?? && ehuimagegalleryFieldSet.ehuslideFieldSet?has_content && ehuimagegalleryFieldSet.ehuslideFieldSet.ehuimagegalleryimage.getData()?html !="" >
887 <div class="event-detail__image-gallery">
888 <@upvlibs.imageGallerySection ehuimagegalleryFieldSet.ehuslideFieldSet articleId 4 />
889 </div>
890 </#if>
891 </#if>
892 <@aditionalInfo />
893 <#if checkH3??>
894 <@contactInfo 3/>
895 <#else>
896 <@contactInfo 2/>
897 </#if>
898
899 </#if>
900
901
902 <#-- LAST MODIFICATION DATE-->
903 <#assign showLastModifDate = getterUtil.getBoolean( "false")>
904 <#if ehugeneraldataFieldSet.ehulastmodificationdate??>
905 <#if ehugeneraldataFieldSet.ehulastmodificationdate?is_hash >
906 <#assign aux = ehugeneraldataFieldSet.ehulastmodificationdate.getData()?html >
907 <#else>
908 <#assign aux = getterUtil.getString( ehugeneraldataFieldSet.ehulastmodificationdate ) >
909 </#if>
910 <#if aux?has_content && aux != "">
911 <#assign showLastModifDate = getterUtil.getBoolean(aux) >
912 </#if>
913
914 </#if>
915 <#if showLastModifDate >
916 <div class="content-footer">
917 <#assign articleModifiedDate = .vars['reserved-article-modified-date'].data!"" >
918 <#if locale == "eu_ES">
919 <#assign dateFormat = "yyyy/MM/dd">
920 <#else>
921 <#assign dateFormat = "dd/MM/yyyy">
922 </#if>
923 <#setting date_format=dateFormat >
924 <#assign currentLocale = locale>
925 <#setting locale = localeUtil.getDefault() >
926 <#if articleModifiedDate?? && articleModifiedDate != "" >
927 <#assign modifiedDate = ( articleModifiedDate?datetime( "EEE, dd MMM yyyy hh:mm:ss" ) )?date >
928 <#assign modifiedDateStr = modifiedDate?string >
929 <#else>
930 <#assign modifiedDateStr = "" >
931 </#if>
932 <#setting locale = currentLocale>
933
934 <#if modifiedDateStr != "" >
935 <p class="modification_date">
936 <strong class="text"> <@liferay.language key="ehu.last-modification-date" />:</strong>
937 <span class="date">${ modifiedDateStr }</span>
938 </p>
939 </#if>
940 </div>
941 </#if>
942
943 <#-- CAMPUSA-->
944 <#if isCampusa >
945 <h2 class="social"><@liferay.language key="sharing" /></h2>
946 </#if>
947
948
949</article>
950
951<#--
952 # ------------------------------------------------------------------------------
953 # A partir de la informacion recibida en el parametro "slides" genera el codigo
954 # para visualizar dicha informacion como una galeria de imagenes.
955 # Mas informacion en la macro "imageGallerySection".
956 # Parametros:
957 # ident identificador para personalizar el codigo que se genera
958 # slides estructura con la informacion para la galeria de imagenes
959 # [__showFoot] indica si se quiere mostrar el pie de las imagenes o no
960 # [__elemsRow] indica el numero de imagenes a mostrar por linea
961 # Salida:
962 # ------------------------------------------------------------------------------
963-->
964<#--
965 # ------------------------------------------------------------------------------
966 # Genera el codigo html para la informacion adicional presente en el contenido
967 # de tipo "Evento".
968 # La generacion de codigo es diferente si el tema es el global o no.
969 # Parametros:
970 # Salida:
971 # ------------------------------------------------------------------------------
972-->
973<#macro aditionalInfo >
974 <#local esGlobal = (themeDisplay.getTheme().getContextPath() == "/o/upv-ehu-global-theme") >
975 <#local entAditionalInfo = ehuaditionalinfoFieldSet >
976 <#if entAditionalInfo.ehuaditionaldescription?? >
977 <#if entAditionalInfo.ehuaditionaldescription?is_hash >
978 <#assign aux = entAditionalInfo.ehuaditionaldescription.getData()?html >
979 <#else>
980 <#assign aux = getterUtil.getString( entAditionalInfo.ehuaditionaldescription ) >
981 </#if>
982 </#if>
983 <#if aux?has_content && aux != "">
984 <#local aditionalDesc = aux>
985 <#else>
986 <#local aditionalDesc = "">
987 </#if>
988 <#local hayAditionalDesc = aditionalDesc != "" >
989
990 <#local entAditionalDocs = entAditionalInfo.ehudocumentFieldSet >
991 <#assign hayAditionalDocs = getterUtil.getBoolean("false")>
992 <#if entAditionalDocs??>
993 <@upvlibs.validarLista lista=entAditionalDocs campo="ehudocument" />
994 <#local listaValidadDocuments = upvlibs.valida />
995 <#local hayAditionalDocs = entAditionalDocs?? && listaValidadDocuments >
996 </#if>
997
998
999 <#local entAditionalLinks = entAditionalInfo.ehuaditionalinfourlFieldSet >
1000 <#assign hayAditionalLinks = getterUtil.getBoolean("false")>
1001 <#if entAditionalLinks?? >
1002 <@upvlibs.validarLista lista=entAditionalLinks campo="ehuaditionalinfourl" />
1003 <#local listaValidaLinks = upvlibs.valida />
1004 <#local hayAditionalLinks = entAditionalLinks?? && listaValidaLinks >
1005 </#if>
1006
1007
1008 <#assign checkH3=false />
1009
1010 <#local hayAditionalInfo = hayAditionalDesc || hayAditionalDocs || hayAditionalLinks >
1011 <#if hayAditionalInfo >
1012 <#if !esGlobal || hayAditionalDesc >
1013 <div class="${ addInfoClass }">
1014 <h2>${ cTxtMoreInfo }</h2>
1015 <#if cTxtMoreInfo?has_content>
1016 <#assign checkH3=true />
1017 </#if>
1018
1019 <#if hayAditionalDesc >
1020 <p> ${aditionalDesc} </p>
1021 </#if>
1022 <#if esGlobal >
1023 </div>
1024 </#if>
1025 </#if>
1026 <#if hayAditionalDocs>
1027
1028 <#if checkH3>
1029 <@upvlibs.writeHtmlForDocumentsNew documents=entAditionalDocs nivel=3 encabezado="document" campo="ehudocument" titulo="ehudocumentname" tipo=3 adicional=0/>
1030 <#else>
1031 <@upvlibs.writeHtmlForDocumentsNew documents=entAditionalDocs nivel=2 encabezado="document" campo="ehudocument" titulo="ehudocumentname" tipo=3 adicional=0/>
1032 </#if>
1033
1034 </#if>
1035
1036 <#if hayAditionalLinks>
1037
1038 <#if checkH3>
1039 <@upvlibs.writeHtmlForLinksNew links=entAditionalLinks nivel=3 encabezado="ehu.link" campo="ehuaditionalinfourl" titulo="ehuaditionalinfourldescription" newTab="ehuaditionalinfourlnewtab" tipo=3 adicional=0 />
1040
1041 <#else>
1042 <@upvlibs.writeHtmlForLinksNew links=entAditionalLinks nivel=2 encabezado="ehu.link" campo="ehuaditionalinfourl" titulo="ehuaditionalinfourldescription" newTab="ehuaditionalinfourlnewtab" tipo=3 adicional=0/>
1043 </#if>
1044
1045 </#if>
1046
1047 </#if>
1048</#macro>
1049
1050
1051<#--
1052 # ------------------------------------------------------------------------------
1053 # Genera el codigo html para la informacion de contacto presente en el contenido
1054 # de tipo "Evento".
1055 # La generacion de codigo es diferente si el tema es el global o no.
1056 # Parametros:
1057 # Salida:
1058 # ------------------------------------------------------------------------------
1059-->
1060<#macro contactInfo type>
1061 <#local esGlobal = (themeDisplay.getTheme().getContextPath() == "/o/upv-ehu-global-theme") >
1062 <#if !esGlobal >
1063 <#local contactClass = "contact" >
1064 <#local cTxtContacto = languageUtil.get( locale, "ehu.contact-data" ) >
1065 <#else>
1066 <#local contactClass = "event-detail__contact" >
1067 <#local cTxtContacto = languageUtil.get( locale, "ehu.contacto" ) >
1068 </#if>
1069
1070 <#local entContact = ehucontactdataFieldSet >
1071 <#local entContactResponsible = entContact.ehuresponsible >
1072 <#local entContactDept = entContact.ehudepartmentservice >
1073 <#local entContactEmail = entContact.ehucontactemail >
1074 <#local entContactPhone = entContact.ehucontactphone >
1075 <#local entContactUrl = entContact.ehucontactdataurlFieldSet >
1076
1077 <#local hayContactResponsible = getterUtil.getBoolean("false")>
1078 <#if entContactResponsible??>
1079 <#local hayContactResponsible = entContactResponsible.getData()?? && entContactResponsible.getData()?has_content>
1080 </#if>
1081 <#local hayContactDept = getterUtil.getBoolean("false")>
1082 <#if entContactDept??>
1083 <#local hayContactDept = entContactDept.getData()?? && entContactDept.getData()?has_content>
1084 </#if>
1085 <#local hayContactEmail = getterUtil.getBoolean("false")>
1086 <#if entContactEmail??>
1087 <#local hayContactEmail = entContactEmail.getData()?? && entContactEmail.getData()?has_content>
1088 </#if>
1089 <#local hayContactPhone = getterUtil.getBoolean("false")>
1090 <#if entContactPhone??>
1091 <#local hayContactPhone = entContactPhone.getData()?? && entContactPhone.getData()?has_content>
1092 </#if>
1093 <#local hayContactUrl = getterUtil.getBoolean("false")>
1094 <#if entContactUrl??>
1095 <#local hayContactUrl = entContactUrl.ehucontactdataurl.getData()?? && entContactUrl.ehucontactdataurl.getData()?has_content>
1096 </#if>
1097 <#local hayContact = hayContactResponsible || hayContactDept || hayContactEmail || hayContactPhone || hayContactUrl >
1098 <#if hayContact >
1099 <div class="${ contactClass }">
1100 <#if type?? && type==3>
1101 <h3>${ cTxtContacto }</h3>
1102 <#else>
1103 <h2>${ cTxtContacto }</h2>
1104 </#if>
1105
1106 <ul>
1107 <#if hayContactResponsible>
1108 <li><strong>${languageUtil.get( locale, "ehu.responsible" )}:</strong> ${entContactResponsible.getData()}</li>
1109 </#if>
1110 <#if hayContactDept>
1111 <#assign defecto = languageUtil.get(locale, "ehu.departamento" ) + " - " + languageUtil.get( locale, "service" )>
1112
1113 <li><strong>${defecto}:</strong> ${entContactDept.getData()}</li>
1114 </#if>
1115 <#if hayContactEmail>
1116 <li><strong>${languageUtil.get( locale, "ehu.email" )}:</strong> <a href="mailto:${entContactEmail.getData()}">${entContactEmail.getData()}</a></li>
1117 </#if>
1118 <#if hayContactPhone>
1119 <li><strong>${languageUtil.get( locale, "ehu.phone" )}:</strong><@upvlibs.writePhoneValidated valor=entContactPhone.getData() /></li>
1120 </#if>
1121
1122 <#if hayContactUrl>
1123 <#assign newTab = getterUtil.getBoolean(entContactUrl.ehucontactdataurlnewtab.getData()) >
1124 <#if newTab>
1125 <#assign target = ' target="_blank"'>
1126 <#else>
1127 <#assign target = ''>
1128 </#if>
1129 <li>
1130 <strong>${languageUtil.get( locale, "ehu.web-page" )}:</strong>
1131 <#assign formatedURL = entContactUrl.ehucontactdataurl.getData() >
1132 <#if entContactUrl.ehucontactdataurldescripction??
1133 && entContactUrl.ehucontactdataurldescripction.getData()??
1134 && entContactUrl.ehucontactdataurldescripction.getData()?has_content>
1135 <#assign text = entContactUrl.ehucontactdataurldescripction.getData()>
1136 <#else>
1137 <#assign text = formatedURL>
1138 </#if>
1139
1140 <a href="${ formatedURL }" class="bullet bullet-url"${ target }>
1141 <#if newTab >
1142 <span class="sr-only"><@liferay.language key="opens-new-window"/></span>
1143 </#if>
1144 ${ text }
1145 <#if newTab >
1146 <span class="icon-external-link"></span>
1147 </a>
1148 </#if>
1149 </li>
1150 </#if>
1151 </ul>
1152 </div>
1153 </#if>
1154</#macro>