Publicador de conteúdo
Ouv-Zap e demais formas de acesso à Ouvidoria
Um erro ocorreu enquanto processava o modelo.
Expression serviceLocator is undefined on line 163, column 43 in 20154#20194#194368.
1<#--
2 Nome: Campanhas (Mod.Global)
3 Idioma: Freemarker
4 Data Alteração: 2022 31 10
5 Tarefa: #
6 Obs.:
7-->
8<#if (serviceLocator.findService("com.liferay.portal.service.ReleaseLocalService"))?? >
9 <#assign hat = (.vars['hat'].getData()?trim)!"" >
10 <#assign front_title = (.vars['front_title'].getData()?trim)!"" >
11 <#assign sub_title = (.vars['sub_title'].getData()?trim)!"" >
12 <#assign image = (.vars['image'].getData()?trim)!"" >
13 <#assign source = (.vars['source'].getData()?trim)!"" >
14 <#assign author = (.vars['author'].getData()?trim)!"" >
15 <#assign full_text = (.vars['full_text'].getData()?trim)!"" >
16
17 <#if (radio_id.getData())??>
18 <#assign radio_id = (.vars['radio_id'].getData()?trim)!"" >
19 <#assign journalArticleRadio = (JournalArticleLocalService.getArticle( groupId, radio_id ))!"" >
20 </#if>
21 <#assign video_url = (.vars['video_url'].getData()?trim)!"" >
22
23
24
25 <#if (gallery_id.getData())??>
26 <#assign gallery_id = (.vars['gallery_id'].getData()?trim)!"" >
27 <#assign journalArticleGaleria = (JournalArticleLocalService.getArticle( groupId, gallery_id ))!"" >
28 </#if>
29
30 <#setting datetime_format="dd 'de' MMMM 'de' yyyy 'às' HH:mm">
31
32 <#assign theme_img_path = "/mt-portal-theme/images" >
33
34 <#assign mostrar_radio = "" >
35 <#assign mostrar_video = "" >
36 <#assign mostrar_galeria = "" >
37 <#assign mostrar_audio = "" >
38
39 <#assign total_img = 0 >
40
41 <#assign articleId = .vars['reserved-article-id'].data >
42
43 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")>
44 <#assign journalArticle = JournalArticleLocalService.getArticle( groupId, articleId ) >
45
46 <#assign createDate = journalArticle["displayDate"]?datetime >
47
48
49 <#if radio_id != "" >
50 <#assign documentRadio = saxReaderUtil.read(journalArticleRadio.getContent()) >
51
52 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='radio_url']") >
53 <#assign radio_url = (xPathSelector.selectSingleNode(documentRadio.getRootElement()).getStringValue())!"" >
54 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='image']") >
55 <#assign radio_img = (xPathSelector.selectSingleNode(documentRadio.getRootElement()).getStringValue())!"" >
56
57 <#if radio_url != "" >
58 <#assign radioTitulo = journalArticleRadio.getTitle(locale) >
59 <#assign radioUrlTitle = journalArticleRadio["urlTitle"] >
60 <#assign radioUserName = journalArticleRadio["userName"] >
61
62 <#assign mostrar_radio = '<div class="row-fluid"><div class="span5"><div style="background:url(${radio_img});background-size:cover;width:100%;height:220px;"></div></div><div class="span7" style="padding:20px 0;"><span><a href="/web/guest/-/${radioUrlTitle}"><h3>${radioTitulo}</h3></a></span><small>Autor: ${radioUserName}</small><audio controls style="width:90%;opacity:.4;"><source src="${radio_url}" type="audio/mpeg"> Seu navegador não possui suporte para reprodução de áudio.</audio></div></div>' >
63 </#if>
64 </#if>
65
66
67 <#if gallery_id != "" >
68 <#assign documentGaleria = saxReaderUtil.read(journalArticleGaleria.getContent()) >
69 <#assign rootElementGaleria = documentGaleria.getRootElement() >
70
71 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='image']") >
72 <#assign imageGaleria = (xPathSelector.selectSingleNode(documentGaleria.getRootElement()).getStringValue())!"" >
73 <#assign total_img = xPathSelector.selectNodes(rootElementGaleria)?size >
74
75 <#if total_img != 0 >
76 <#assign total_img = total_img - 1 />
77
78 <#list 0..total_img as posicao >
79 <#assign xPathSelector = saxReaderUtil.createXPath('dynamic-element[@name="image"][@index="${posicao}"]/dynamic-content') />
80 <#assign img_url = xPathSelector.selectSingleNode(rootElementGaleria).getStringValue() />
81
82 <!--<img src="${img_url}" /><br>-->
83
84 </#list>
85 </#if>
86 </#if>
87
88
89 <#if video_url != "" >
90 <#assign video_url = video_url?split("/")[3] >
91
92 <#assign mostrar_video = '<object width="100%" height="360" class="hidden-phone"><param name="movie" value="https://www.youtube.com/embed/${video_url}?version=3&theme=light"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/embed/${video_url}?version=3&theme=light" allowscriptaccess="always" width="100%" height="360"></embed></object><object width="100%" height="240" class="visible-phone"><param name="movie" value="https://www.youtube.com/embed/${video_url}?version=3&theme=light"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/embed/${video_url}?version=3&theme=light" allowscriptaccess="always" width="100%" height="240"></embed></object>' >
93 </#if>
94
95
96 <#if .vars['titulo_do_audio'].getSiblings()?has_content>
97 <#list .vars['titulo_do_audio'].getSiblings() as cur_item>
98 <#assign audio_titulo = cur_item.getData() >
99 <#assign audio_arquivo = cur_item.audio.getData() >
100
101 <#assign mostrar_audio = mostrar_audio + "<div class='row-fluid'><div class='span2'></div><div class='span8' style='padding:20px 0;'><span><h3> ${audio_titulo}</h3></span><audio controls style='width:90%;opacity:.4;'><source src='${audio_arquivo}' type='audio/mpeg'> Seu navegador não possui suporte para reprodução de áudio.</audio></div></div>" >
102 </#list>
103 </#if>
104
105 <#assign conteudo = full_text >
106 <#assign conteudo = conteudo?replace("[[radio]]", mostrar_radio) >
107 <#assign conteudo = conteudo?replace("[[audio]]", mostrar_audio) >
108 <#assign conteudo = conteudo?replace("[[video]]", mostrar_video) >
109 <#assign conteudo = conteudo?replace("[[galeria]]", mostrar_galeria) >
110
111
112 <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
113 <style>
114 .main-img{width:100%;padding:30px 0;margin:30px 0;}
115 cite{font-size:24px;font-weight:bold;}
116 cite:before{content: '"';font-size: 48px;font-style: italic;vertical-align: text-bottom;padding-right: 5px;}
117 cite:after{content: '"';font-size: 48px;font-style: italic;display: -webkit-inline-box;-webkit-transform: matrix(-1, 0, 0, -1, 0, 0);margin-left: 5px;}
118 person{display: block;text-align: center;font-size: 12px;}
119 p.left{float:left;width:30%;padding:20px 10px 20px 0;text-align:left;}
120 p.right{float:right;width:30%;padding:20px 0 20px 10px;text-align:right;}
121 .insert-video{margin:20px 0;}
122 .insert-radio{padding: 0;min-height: 100px;background: #F0F5F8;margin: 20px 0;}
123 .insert-radio a h3{font-family:'Nexa';color:#324688;margin: 0;line-height:30px;}
124 .insert-radio small{font-size:12px;color:#324688;display:block;margin-bottom:10px;}
125 .taglib-header:after {content: "${createDate}";font-size: 12px;float:right;margin-bottom: 30px;}
126 .sub-title{font-weight:bold;font-size:18px;}
127 </style>
128
129 <span class="sub-title">${sub_title}</span>
130 <#if image != "" >
131 <div class="main-img"><img src="${image}" /></div>
132 </#if>
133 <div style="text-align: justify;margin-top:30px;">${conteudo}</div>
134<#else>
135 <#assign hat = (.vars['hat'].getData()?trim)!"" >
136 <#assign front_title = (.vars['front_title'].getData()?trim)!"" >
137 <#assign sub_title = (.vars['sub_title'].getData()?trim)!"" >
138 <#assign image = (.vars['image'].getData()?trim)!"" >
139 <#assign source = (.vars['source'].getData()?trim)!"" >
140 <#assign author = (.vars['author'].getData()?trim)!"" >
141 <#assign full_text = (.vars['full_text'].getData()?trim)!"" >
142 <#if (radio_id.getData())??>
143 <#assign radio_id = (.vars['radio_id'].getData()?trim)!"" >
144 <#assign journalArticleRadio = (JournalArticleLocalService.getArticle( groupId, radio_id ))!"" >
145 </#if>
146 <#assign video_url = (.vars['video_url'].getData()?trim)!"" >
147 <#if (gallery_id.getData())??>
148 <#assign gallery_id = (.vars['gallery_id'].getData()?trim)!"" >
149 <#assign journalArticleGaleria = (JournalArticleLocalService.getArticle( groupId, gallery_id ))!"" >
150 </#if>
151 <#setting datetime_format="dd 'de' MMMM 'de' yyyy 'às' HH:mm">
152
153 <#assign theme_img_path = "/mt-portal-theme/images" >
154
155 <#assign mostrar_radio = "" >
156 <#assign mostrar_video = "" >
157 <#assign mostrar_galeria = "" >
158 <#assign mostrar_audio = "" >
159
160 <#assign total_img = 0 >
161
162 <#assign articleId = .vars['reserved-article-id'].data >
163 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
164 <#assign journalArticle = JournalArticleLocalService.getArticle( groupId, articleId ) >
165 <#assign createDate = journalArticle["displayDate"]?datetime >
166 <#if radio_id != "" >
167 <#assign documentRadio = saxReaderUtil.read(journalArticleRadio.getContent()) >
168
169 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='radio_url']") >
170 <#assign radio_url = (xPathSelector.selectSingleNode(documentRadio.getRootElement()).getStringValue())!"" >
171 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='image']") >
172 <#assign radio_img = (xPathSelector.selectSingleNode(documentRadio.getRootElement()).getStringValue())!"" >
173
174 <#if radio_url != "" >
175 <#assign radioTitulo = journalArticleRadio.getTitle(locale) >
176 <#assign radioUrlTitle = journalArticleRadio["urlTitle"] >
177 <#assign radioUserName = journalArticleRadio["userName"] >
178
179 <#assign mostrar_radio = '<div class="row-fluid"><div class="span5"><div style="background:url(${radio_img});background-size:cover;width:100%;height:220px;"></div></div><div class="span7" style="padding:20px 0;"><span><a href="/web/guest/-/${radioUrlTitle}"><h3>${radioTitulo}</h3></a></span><small>Autor: ${radioUserName}</small><audio controls style="width:90%;opacity:.4;"><source src="${radio_url}" type="audio/mpeg"> Seu navegador não possui suporte para reprodução de áudio.</audio></div></div>' >
180 </#if>
181 </#if>
182
183
184 <#if gallery_id != "" >
185 <#assign documentGaleria = saxReaderUtil.read(journalArticleGaleria.getContent()) >
186 <#assign rootElementGaleria = documentGaleria.getRootElement() >
187
188 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='image']") >
189 <#assign imageGaleria = (xPathSelector.selectSingleNode(documentGaleria.getRootElement()).getStringValue())!"" >
190 <#assign total_img = xPathSelector.selectNodes(rootElementGaleria)?size >
191
192 <#if total_img != 0 >
193 <#assign total_img = total_img - 1 />
194
195 <#list 0..total_img as posicao >
196 <#assign xPathSelector = saxReaderUtil.createXPath('dynamic-element[@name="image"][@index="${posicao}"]/dynamic-content') />
197 <#assign img_url = xPathSelector.selectSingleNode(rootElementGaleria).getStringValue() />
198
199 <!--<img src="${img_url}" /><br>-->
200
201 </#list>
202 </#if>
203 </#if>
204
205
206 <#if video_url != "" >
207 <#assign video_url = video_url?split("/")[3] >
208
209 <#assign mostrar_video = '<object width="100%" height="360" class="hidden-phone"><param name="movie" value="https://www.youtube.com/embed/${video_url}?version=3&theme=light"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/embed/${video_url}?version=3&theme=light" allowscriptaccess="always" width="100%" height="360"></embed></object><object width="100%" height="240" class="visible-phone"><param name="movie" value="https://www.youtube.com/embed/${video_url}?version=3&theme=light"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.youtube.com/embed/${video_url}?version=3&theme=light" allowscriptaccess="always" width="100%" height="240"></embed></object>' >
210 </#if>
211
212
213 <#if .vars['titulo_do_audio'].getSiblings()?has_content>
214 <#list .vars['titulo_do_audio'].getSiblings() as cur_item>
215 <#assign audio_titulo = cur_item.getData() >
216 <#assign audio_arquivo = cur_item.audio.getData() >
217
218 <#assign mostrar_audio = mostrar_audio + "<div class='row-fluid'><div class='span2'></div><div class='span8' style='padding:20px 0;'><span><h3> ${audio_titulo}</h3></span><audio controls style='width:90%;opacity:.4;'><source src='${audio_arquivo}' type='audio/mpeg'> Seu navegador não possui suporte para reprodução de áudio.</audio></div></div>" >
219 </#list>
220 </#if>
221
222 <#assign conteudo = full_text >
223 <#assign conteudo = conteudo?replace("[[radio]]", mostrar_radio) >
224 <#assign conteudo = conteudo?replace("[[audio]]", mostrar_audio) >
225 <#assign conteudo = conteudo?replace("[[video]]", mostrar_video) >
226 <#assign conteudo = conteudo?replace("[[galeria]]", mostrar_galeria) >
227
228
229 <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
230 <style>
231 .main-img{width:100%;padding:30px 0;margin:30px 0;}
232 cite{font-size:24px;font-weight:bold;}
233 cite:before{content: '"';font-size: 48px;font-style: italic;vertical-align: text-bottom;padding-right: 5px;}
234 cite:after{content: '"';font-size: 48px;font-style: italic;display: -webkit-inline-box;-webkit-transform: matrix(-1, 0, 0, -1, 0, 0);margin-left: 5px;}
235 person{display: block;text-align: center;font-size: 12px;}
236 p.left{float:left;width:30%;padding:20px 10px 20px 0;text-align:left;}
237 p.right{float:right;width:30%;padding:20px 0 20px 10px;text-align:right;}
238 .insert-video{margin:20px 0;}
239 .insert-radio{padding: 0;min-height: 100px;background: #F0F5F8;margin: 20px 0;}
240 .insert-radio a h3{font-family:'Nexa';color:#324688;margin: 0;line-height:30px;}
241 .insert-radio small{font-size:12px;color:#324688;display:block;margin-bottom:10px;}
242 .taglib-header:after {content: "${createDate}";font-size: 12px;float:right;margin-bottom: 30px;}
243 .sub-title{font-weight:bold;font-size:18px;}
244 </style>
245
246 <span class="sub-title">${sub_title}</span>
247 <#if image != "" >
248 <div class="main-img"><img src="${image}" /></div>
249 </#if>
250 <div style="text-align: justify;margin-top:30px;">${conteudo}</div>
251</#if>