Nouvelles
Une erreur s'est produite lors du traitement du modèle.
Java method "com.liferay.portal.json.JSONFactoryImpl.createJSONObject(String)" threw an exception when invoked on com.liferay.portal.json.JSONFactoryImpl object "com.liferay.portal.json.JSONFactoryImpl@1fd341e4"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign jsonImagen = jsonFactoryUtil... [in template "20902#20940#7259307" at line 248, column 49]
----
1<link rel="stylesheet" href="/o/x61tThemeIkasbilWAR-theme/css/scriptVideo.css">
2<style>
3 .res, .titulo, .tipos {
4 padding-bottom: 15px;
5 }
6
7 .descarga, .tipos {
8 font-size: 20px;
9 }
10
11 #detalle-fitxa > div:last-of-type h2 {
12 margin-top: 0;
13 }
14
15 #detalle-fitxa > div:last-of-type a.botonEnlace i:first-of-type {
16 margin-left: 0;
17 }
18
19 .descarga.botonEnlace {
20 border-radius: 5px;
21 border: 0;
22 background: #fabd48;
23 padding: 0px 10px;
24 color: #fff !important;
25 display: inline-block;
26 }
27
28 .descarga.botonEnlace:hover {
29 -webkit-box-shadow: 0 0 5px 0 #fabd48;
30 -moz-box-shadow: 0 0 5px 0 #fabd48;
31 box-shadow: 0 0 5px 0 #fabd48;
32 background: #fff;
33 color: #fabd48 !important;
34 }
35
36 .descarga.botonEnlace i {
37 color: #fff !important;
38 font-size: 18px;
39 vertical-align: middle;
40 margin-left: 0;
41 }
42
43 .descarga.botonEnlace:hover i {
44 color: #fabd48 !important;
45 }
46
47 #detalle-fitxa > div:last-of-type a.audioa {
48 margin-bottom: 10px;
49 border-radius: 5px;
50 border: 0;
51 background: #fabd48;
52 padding: 5px 10px;
53 color: #fff !important;
54 display: inline-block;
55 }
56
57 #detalle-fitxa > div:last-of-type a.audioa:hover {
58 -webkit-box-shadow: 0 0 5px 0 #fabd48;
59 -moz-box-shadow: 0 0 5px 0 #fabd48;
60 box-shadow: 0 0 5px 0 #fabd48;
61 background: #fff;
62 color: #fabd48 !important;
63 }
64
65 #detalle-fitxa > div:last-of-type a.audioa i {
66 color: #fff !important;
67 margin-left: 10px;
68 }
69
70 #detalle-fitxa > div:last-of-type a.audioa:hover i {
71 color: #fabd48 !important;
72 }
73
74 #detalle-fitxa .botonEnlace,
75 #detalle-fitxa .botonEnlace:focus {
76 height: inherit !important;
77 }
78
79</style>
80
81<#assign bajar = "Jaitsi">
82<#assign archivo = "Fitxategia">
83<#if locale=='en_US'>
84 <#assign archivo = "File">
85 <#assign bajar = "Download">
86</#if>
87<#if locale=='fr_FR'>
88 <#assign bajar = "Télécharger">
89 <#assign archivo = "Dossier">
90</#if>
91<#if locale=='es_ES'>
92 <#assign bajar = "Bajar">
93 <#assign archivo = "Archivo">
94</#if>
95
96<#assign id = paramUtil.getString(request, "articleId")>
97<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
98<#assign DLAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")>
99
100<#if id?has_content>
101 <#if journalArticleLocalService??>
102 <#assign articleById = journalArticleLocalService.getDisplayArticle(getterUtil.getLong(groupId), id) />
103 <#assign document = saxReaderUtil.read(articleById.getContentByLocale(locale)) >
104
105 <#assign imagen = document.valueOf("//dynamic-element[@field-reference='irudia']/dynamic-content/text()") />
106 <#assign titulo = document.valueOf("//dynamic-element[@field-reference='izenburua']/dynamic-content/text()") />
107 <#assign noticia = document.valueOf("//dynamic-element[@field-reference='berri_mota']/dynamic-content/text()") />
108 <#assign pdf = document.valueOf("//dynamic-element[@field-reference='fitxategia']/dynamic-content/text()") />
109 <#assign resumen = document.valueOf("//dynamic-element[@field-reference='laburpena']/dynamic-content/text()") />
110 <#assign deskribapena = document.valueOf("//dynamic-element[@field-reference='deskribapena']/dynamic-content/text()") />
111 <#assign audio = document.valueOf("//dynamic-element[@field-reference='audioa']/dynamic-content/text()") />
112 <#assign video = document.valueOf("//dynamic-element[@field-reference='bideoa']/dynamic-content/text()") />
113 <#assign DLAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")>
114
115 <div class="col-xs-12 col-md-12 col-lg-12 separadorDerecho" id="detalle-fitxa">
116 <div class="col-xs-12 col-sm-4 col-md-4 col-lg-4">
117 <#-- <#if imagen !="" && imagen != "{}">
118 <#attempt>
119 <#assign jsonImagen = jsonFactoryUtil.createJSONObject(imagen)>
120 <#assign imagenFile = DLAppLocalService.getFileEntryByUuidAndGroupId(jsonImagen.getString("uuid"), getterUtil.getLong(groupId)) >
121 <#assign imagenUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() +
122 "/" + imagenFile.getFolderId() + "/" + htmlUtil.unescape(imagenFile.getTitle())>
123 <#recover>
124 <#assign imagenUrl = imagen />
125 </#attempt>
126 <img id="imgDetalle" src="${imagenUrl}"/>
127 <#else>
128 <img id="imgDetalle" src="/o/x61tThemeIkasbilWAR-theme/images/Logo_Sin_resultados_Habe.jpg"/>
129 </#if> -->
130
131 <#assign imagenUrl = "" />
132
133 <#if imagen?has_content>
134 <#attempt>
135
136 <#assign jsonImagen = jsonFactoryUtil.createJSONObject(imagen) />
137
138 <#if jsonImagen.getString("uuid")?has_content>
139
140 <#assign imagenFile =
141 DLAppLocalService.getFileEntryByUuidAndGroupId(
142 jsonImagen.getString("uuid"),
143 getterUtil.getLong(groupId)
144 )
145 />
146
147 <#assign imagenUrl =
148 themeDisplay.getPortalURL() +
149 themeDisplay.getPathContext() +
150 "/documents/" +
151 themeDisplay.getScopeGroupId() +
152 "/" +
153 imagenFile.getFolderId() +
154 "/" +
155 htmlUtil.unescape(imagenFile.getTitle())
156 />
157 </#if>
158
159 <#recover>
160 <#-- Si no es JSON válido, asumimos que es URL directa -->
161 <#assign imagenUrl = imagen />
162 </#attempt>
163 </#if>
164
165 <#if imagenUrl?has_content>
166 <img id="imgDetalle" src="${imagenUrl}" />
167 <#else>
168 <img id="imgDetalle" src="/o/x61tThemeIkasbilWAR-theme/images/Logo_Sin_resultados_Habe.jpg"/>
169 </#if>
170
171
172
173
174<#-- <img id="imgDetalle" src="${imagenUrl}" alt="Imagen del artículo"/> -->
175
176 </div>
177 <div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
178 <#if titulo != "">
179 <h2>${titulo}</h2>
180 </#if>
181 <#if noticia = "habe">
182 <i title="${noticia}" class="glyphicon glyphicon-book"></i>
183 </#if>
184 <#if pdf != "">
185 <i title="pdf" class="glyphicon glyphicon-file"></i>
186 </#if>
187 <#if audio != "">
188 <i title="Audioak" class="glyphicon glyphicon-headphones"></i>
189 </#if>
190 <#if video != "">
191 <i title="Bideoak" class="glyphicon glyphicon-facetime-video"></i>
192 </#if>
193 <#if resumen != "">
194 <div class="res">
195 ${resumen}
196 </div>
197 </#if>
198 <#if deskribapena != "">
199 ${deskribapena}
200 </#if>
201 <#if pdf != "" && pdf != "{}">
202 <#--<#attempt>-->
203 <#assign jsonPdf = jsonFactoryUtil.createJSONObject(pdf)>
204 <#assign pdfFile = DLAppLocalService.getFileEntryByUuidAndGroupId(jsonPdf.getString("uuid"), getterUtil.getLong(groupId)) >
205 <#assign fitxUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() +
206 "/" + pdfFile.getFolderId() + "/" + htmlUtil.unescape(pdfFile.getTitle())>
207 <#--<#recover>
208 <#assign jsonPdf = pdf />
209 </#attempt>-->
210
211 <#--<a href="${jsonPdf}" target="_blank" class="botonEnlace">-->
212 <a href="${fitxUrl}" target="_blank" class="botonEnlace">
213 <i title="${bajar}" class="glyphicon glyphicon-file"></i>
214 <i title="${bajar}" class="glyphicon glyphicon-download"></i>
215 </a>
216 </#if>
217 <#-- <#if audio != "">
218 <#assign jsonAudio = jsonFactoryUtil.createJSONObject(audio)>
219 <#assign audioFile = DLAppLocalService.getFileEntryByUuidAndGroupId(jsonAudio.getString("uuid"), getterUtil.getLong(groupId)) >
220 <#assign audioUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() +
221 "/" + audioFile.getFolderId() + "/" + htmlUtil.unescape(audioFile.getTitle())>
222 <div id="audio">
223 <audio controls>
224 <source src="${audioUrl}" type="audio/mpeg">
225 </audio>
226 </div>
227 </#if> -->
228
229 <#if audio?has_content && audio != "{}">
230 <#assign jsonAudio = jsonFactoryUtil.createJSONObject(audio) />
231 <#assign audioUrl = themeDisplay.getPortalURL() + jsonAudio.getString("url") />
232 <div id="audio">
233 <audio controls>
234 <source src="${audioUrl}" type="audio/mpeg">
235 </audio>
236 </div>
237</#if>
238 <#if video != "" && video != "{}">
239 <#assign imagenPortada="">
240 <#-- <#if imagen !="">
241 <#assign jsonImagen = jsonFactoryUtil.createJSONObject(imagen)>
242 <#assign imagenFile = DLAppLocalService.getFileEntryByUuidAndGroupId(jsonImagen.getString("uuid"), getterUtil.getLong(groupId)) >
243 <#assign imagenUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() +
244 "/" + imagenFile.getFolderId() + "/" + htmlUtil.unescape(imagenFile.getTitle())>
245 <#assign imagenPortada="poster=${imagenUrl}">
246 </#if> -->
247 <#if imagen?has_content>
248 <#assign jsonImagen = jsonFactoryUtil.createJSONObject(imagen) />
249 <#assign imagenUrl = themeDisplay.getPortalURL() + jsonImagen.getString("url") />
250 <#assign imagenPortada = "poster=${imagenUrl}" />
251 </#if>
252 <#-- <#assign jsonVideo = jsonFactoryUtil.createJSONObject(video)>
253 <#assign videoFile = DLAppLocalService.getFileEntryByUuidAndGroupId(jsonVideo.getString("uuid"), getterUtil.getLong(groupId)) >
254 <#assign videoUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() +
255 "/" + videoFile.getFolderId() + "/" + htmlUtil.unescape(videoFile.getTitle())> -->
256
257 <#if video?has_content>
258 <#assign jsonVideo = jsonFactoryUtil.createJSONObject(video) />
259 <#assign videoUrl = themeDisplay.getPortalURL() + jsonVideo.getString("url") />
260 </#if>
261
262 <div id="bideo">
263 <a href="${videoUrl}" target="_blank"><i class="glyphicon glyphicon-download"></i> ${bajar} </a>
264 <#if !video?contains(".flv")>
265 <div id='player'>
266 <div id="elemento-video">
267 <video id='video-element' width="95%" ${imagenPortada} >
268 <source src="movie.ogg" type="video/ogg">
269 <source src="${videoUrl}" type="video/mp4">
270 </video>
271 <div class="mejs-overlay mejs-layer mejs-overlay-play" style="width: 95%;">
272 <div class="mejs-overlay-button">
273 <button id="btnPlayPause" title="play" accesskey="P" onclick="playPauseVideo();"></button>
274
275 </div>
276 </div>
277 </div>
278 <div id='controls'>
279 <progress id='progress-bar' min='0' max='100' value='0'>0% played</progress>
280 <a id='btnReplay' class='replay' title='replay' accesskey="R" onclick='replayVideo();'><i
281 class="glyphicon glyphicon-repeat"></i></a>
282 <a id='btnPlayPause' class='play' title='play' accesskey="P" onclick='playPauseVideo();'><i
283 class="glyphicon glyphicon-play"></i></a>
284 <a id='btnStop' class='stop' title='stop' accesskey="X" onclick='stopVideo();'><i
285 class="glyphicon glyphicon-stop"></i></a>
286 <input type="range" id="volume-bar" title="volume" min="0" max="1" step="0.1" value="1">
287 <a id='btnMute' class='mute' title='mute' onclick='muteVolume();'><i
288 class="glyphicon glyphicon-volume-off"></i></a>
289 <a id='btnFullScreen' class='fullscreen' title='toggle full screen' accesskey="T"
290 onclick='toggleFullScreen();'>[ ]</a>
291 </div>
292 </div>
293 </#if>
294 </div>
295 </#if>
296 </div>
297 </div>
298 </#if>
299</#if>
300<script src="/o/x61tThemeIkasbilWAR-theme/js/scriptVideo.js"></script>
