EDITAL 2023.2 – PROGRAMA DE INTERCÂMBIO ESTUDANTIL UNICAP Duplicar 0 - Unicap
Programa de Intercâmbio Estudantil
Informativo
Um erro ocorreu enquanto processava o modelo.
Java method "jdk.proxy3.$Proxy94.getUser(long)" threw an exception when invoked on jdk.proxy3.$Proxy94 object "com.liferay.message.boards.internal.service.MBMessageUserLocalServiceWrapper@4a42fd43"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign modifierUser = userLocalServi... [in template "22092#22119#1705218" at line 61, column 19]
----
1<style>
2 .noticia-custom .component-title, .noticia-custom .asset-avatar, .noticia-custom .user-info, .noticia-custom .asset-details .asset-ratings, .noticia-custom .asset-details .taglib-social-bookmarks {
3 display: none;
4 }
5 .asset-full-content {
6 opacity: 0;
7 visibility: hidden;
8 }
9 .noticia-custom .lfr-asset-anchor {
10 position: absolute;
11 top: 0;
12 }
13 .img-social-share{
14 display:none !important;
15 }
16</style>
17<#setting url_escaping_charset="UTF-8">
18<#assign
19 groupId = themeDisplay.getLayout().getGroupId()
20 journalArticleId = .vars['reserved-article-id'].data
21 journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
22 Article = journalArticleLocalService.getArticle(groupId, journalArticleId)
23 classPK = Article.getResourcePrimKey()?eval
24 currentURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()
25
26 assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
27 entry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", classPK)
28/>
29<div class="row">
30 <div class="col-md-8">
31 <div class="blog-internal">
32 <div class="banner-noticia4">
33 <#if CoverImage.getData()?? && CoverImage.getData() != "">
34 <img class="embed-responsive" alt="${CoverImage.getAttribute("alt")}" data-fileentryid="${CoverImage.getAttribute("fileEntryId")}" src="${CoverImage.getData()}" />
35 </#if>
36
37 <@liferay_util["html-top"]><meta name="twitter:title" content="${.vars['reserved-article-title'].data} "></@>
38 <@liferay_util["html-top"]><meta name="twitter:description" content="<#outputformat "plainText">${htmlUtil.stripHtml(Content.getData())}</#outputformat>"></@>
39 <@liferay_util["html-top"]><meta name="twitter:image" content="${themeDisplay.getURLPortal()}${CoverImage.getData()}"></@>
40 <@liferay_util["html-top"]><meta name="twitter:card" content="summary_large_image"></@>
41 <@liferay_util["html-top"]><meta property="og:type" content="article"></@>
42 <@liferay_util["html-top"]><meta property="og:site_name" content="${themeDisplay.getSiteGroupName()}"></@>
43 <@liferay_util["html-top"]><meta property="og:title" content="${.vars['reserved-article-title'].data}"></@>
44 <@liferay_util["html-top"]><meta property="og:description" content="<#outputformat "plainText">${htmlUtil.stripHtml(Content.getData())}</#outputformat>"></@>
45 <@liferay_util["html-top"]><meta property="og:image" content="${themeDisplay.getURLPortal()}${CoverImage.getData()}"></@>
46 <@liferay_util["html-top"]><meta property="og:url" content="${themeDisplay.getURLPortal()}${themeDisplay.getURLCurrent()}"></@>
47
48 <div class="title-absolute">
49 <div class="bg-titlte"></div>
50 <h1>${.vars['reserved-article-title'].data}</h1>
51 </div>
52 </div>
53 <div class="container-content blog-padding">
54 <div class="author-blog">
55 <#-- INICIO DECLARAÇÕES VARIAVEIS PARA ULTIMO EDITOR -->
56 <#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") />
57 <#assign groupId = groupId?long />
58 <#assign articleId = .vars["reserved-article-id"].data />
59 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
60 <#assign article = journalArticleLocalService.getLatestArticle(groupId, articleId) />
61 <#assign modifierUser = userLocalService.getUser(article.getStatusByUserId()) />
62 <#-- FIM DECLARAÇÕES -->
63
64
65 <#assign selectedOptions = selectPublished.getOptions() />
66 <#assign optionsMap = selectPublished.getOptionsMap() />
67 <#assign selectedKey = selectedOptions?first />
68
69 <#-- <#assign publicadoPor = .vars['reserved-article-author-name'].data /> nome do criador do conteúdo -->
70
71 <#assign publicadoPor = modifierUser.getFullName() />
72
73 <#if selectedKey?has_content>
74 <@liferay_ui["message"] key="published"/> <span class="text-lowercase"><@liferay_ui["message"] key="per"/></span>: ${optionsMap[selectedKey]!""}
75 <#else>
76 <@liferay_ui["message"] key="published"/> <span class="text-lowercase"><@liferay_ui["message"] key="per"/></span>: ${publicadoPor}
77 </#if>
78 </div>
79
80 <div class="content-blog">
81
82 ${Content.getData()}
83 </div>
84
85 <div class="content-social-blog">
86
87 <div class="content-view">
88 <span class="text-capitalize"><@liferay_ui["message"] key="views"/>: </span>
89
90 <div class="views">
91 <span class="icon-eye-open"></span>
92 <span class="number-views">${entry.getViewCount()}</span>
93 </div>
94 </div>
95
96 <#-- <div class="content-share">
97 <span class="text-capitalize"><@liferay_ui["message"] key="share"/>:</span>
98 <div class="click-share">
99 <@liferay_social_bookmarks["bookmarks"]
100 className="com.liferay.journal.model.JournalArticle"
101 classPK=journalArticleId?eval
102 displayStyle="inline"
103 target="_blank"
104 title=.vars['reserved-article-title'].data
105 url=currentURL
106 />
107 </div>
108 </div> -->
109
110
111 <div class="content-share">
112 <span class="text-capitalize"><@liferay_ui["message"] key="share"/>:</span>
113 <div class="click-share">
114
115 <#assign shareTitle = .vars['reserved-article-title'].data?url />
116 <#assign shareURL = currentURL?url />
117
118 <a href= "https://www.facebook.com/sharer/sharer.php?u=${shareURL}"
119
120 target="_blank" rel="noopener noreferrer" class="share-btn share-facebook" aria-label="Facebook" style="text-decoration: none;">
121 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="35" height="35" fill="currentColor">
122 <path d="M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12c0 4.84 3.44 8.87 8 9.8V15H8v-3h2V9.5C10 7.57 11.57 6 13.5 6H16v3h-2c-.55 0-1 .45-1 1v2h3v3h-3v6.95c5.05-.5 9-4.76 9-9.95z"/>
123 </svg>
124 </a>
125
126 <a href="https://twitter.com/intent/tweet?url=${shareURL}&text=${shareTitle}"
127 target="_blank" rel="noopener noreferrer" class="share-btn share-x" aria-label="X (Twitter)" style="text-decoration: none;">
128 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="35" height="35" fill="currentColor">
129 <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.911-5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
130 </svg>
131 </a>
132
133 <a href="https://www.linkedin.com/shareArticle?mini=true&url=${shareURL}&title=${shareTitle}"
134 target="_blank" rel="noopener noreferrer" class="share-btn share-linkedin" aria-label="LinkedIn" style="text-decoration: none;">
135 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="35" height="35" fill="currentColor">
136 <path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"/>
137 </svg>
138 </a>
139
140 <a href="https://wa.me/?text=${shareTitle}%20${shareURL}"
141 target="_blank" rel="noopener noreferrer" class="share-btn share-whatsapp" aria-label="WhatsApp" style="text-decoration: none;">
142 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="35" height="35" fill="currentColor">
143 <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z"/>
144 </svg>
145 </a>
146
147 </div>
148</div>
149
150
151 </div>
152 </div>
153
154 <#if AssociarPagina?? && AssociarPagina.getSiblings()?has_content>
155 <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
156 <#if AssociarPagina.getData()?? && AssociarPagina.getData() != "">
157 <div class="brc-noticias hide">
158 <#list AssociarPagina.getSiblings() as cur_AssociarPagina>
159 <#if cur_AssociarPagina.getData()?eval.layoutId??>
160 <#assign layout = layoutService.getLayout(themeDisplay.getScopeGroupId(),false,cur_AssociarPagina.getData()?eval.layoutId?number) />
161 <#assign pageTitleCustom = layout.getName(locale) />
162 <li class="breadcrum-custom-news">
163 <a class="text-light" title="${pageTitleCustom}" href="${cur_AssociarPagina.getFriendlyUrl()}">
164 ${pageTitleCustom}
165 </a>
166 </li>
167 </#if>
168 </#list>
169 </div>
170 </#if>
171 </#if>
172
173 </div>
174 </div>
175 <div class="d-none d-xl-block col-xl-1"></div>
176 <div class="col-md-4 col-xl-3">
177 <#assign
178 currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", classPK)
179 currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId()
180 />
181
182 <#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")! />
183
184 <#if assetLinkLocalService?has_content>
185 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId, true) />
186 <#else>
187 <#assign currentArticleRelatedLinks = [] />
188 </#if>
189
190 <#if currentArticleRelatedLinks?size != 0>
191 <#assign
192 baseUrl = currentURL?split(.vars['reserved-article-url-title'].data)[0]
193 />
194 <div class="row">
195 <#list currentArticleRelatedLinks[0..*5] as related_entry>
196 <#assign
197 relatedAssetEntryId = related_entry.getEntryId2()
198 relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId)
199 relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK()
200 relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey)
201 viewURL = baseUrl+ relatedArticle.getUrlTitle()
202
203 article = relatedArticle
204 docXml = saxReaderUtil.read(article.getContent())
205 contentNoticia = docXml.valueOf("//dynamic-element[@name='Content']/dynamic-content/text()")
206 contentInfoComplementar = docXml.valueOf("//dynamic-element[@name='InfoComplementar']/dynamic-content/text()")
207 image = docXml.valueOf("//dynamic-element[@name='CoverImage']/dynamic-content/text()")
208 imgJson = jsonFactoryUtil.createJSONObject(image)
209 urlImage = "/documents/"+ imgJson.groupId +"/" +imgJson.fileEntryId +"/"+ imgJson.name?url +"/"+imgJson.uuid
210
211 colorBg = "vermelho"
212 colorText = "secondary"
213 />
214 <#if related_entry?is_even_item>
215 <#assign
216 colorBg = "secondary"
217 colorText = "white"
218 />
219 </#if>
220 <#if contentInfoComplementar?? && contentInfoComplementar!= "">
221 <div class="col-md-12 mb-6">
222 <#if image?? && image!= "">
223 <img src="${urlImage}" alt="info complementar" />
224 </#if>
225
226 <div class="card-footer">
227 ${contentInfoComplementar}
228 </div>
229 </div>
230 <#else>
231 <div class="col-md-12 mb-6">
232 <div class="card-related">
233 <#if getterUtil.getBoolean(ImagemPossuiFiltro.getData())>
234 <div class="card bg-${colorBg}">
235 <#else>
236 <div class="card">
237 </#if>
238 <div class="background-image bg-color-yes" style="background-image: url(${urlImage});">
239 </div>
240 <div class="card-footer bg-${colorBg}">
241 <h3 class="font-size-default">
242 <a href="${viewURL}" class="stretched-link text-${colorText}" title="${article.getTitle(locale)}">
243 ${article.getTitle(locale)}
244 </a>
245 </h3>
246 </div>
247 </div>
248 </div>
249 </div>
250 </#if>
251 </#list>
252 </div>
253 </#if>
254 </div>
255</div>
256
257<style>
258 .card-related h3 {
259 font-size: 1.7rem;
260 margin: 0;
261 font-weight: normal;
262 }
263 .card-related:hover .card {
264 background-color: #690013!important;
265 }
266 .card-related a {
267 transition: color ease 0.4s;
268 }
269 .card-related a:hover {
270 color: #fff!important;
271 text-decoration: none;
272 }
273 .card-related {
274 height: 100%;
275 }
276 .card-related .card {
277 margin: 0;
278 height: 100%;
279 transition: background-color ease 0.4s;
280 }
281 .card-related .background-image {
282 min-height: 257px;
283 width: 100%;
284 overflow: hidden;
285 background-size: cover;
286 background-position: center;
287 background-repeat: no-repeat;
288 mix-blend-mode: multiply;
289 opacity: 1;
290 transition: opacity ease 0.4s;
291 }
292 .card-related .card-footer {
293 padding: 1.25rem;
294 }
295 .card-related .bg-color-no{
296 mix-blend-mode: normal;
297 }
298 .card-related .font-size-smaller {
299 font-size: 1.6rem;
300 }
301 .card-related .font-size-bigger {
302 font-size: 1.9rem;
303 }
304
305.blog-internal .banner-noticia4 {
306 overflow: hidden;
307 background-position: initial;
308 background-size: contain;
309 position: relative;
310 background-repeat: no-repeat;
311}
312.blog-internal .title-absolute {
313 position: inherit;
314 bottom: 0;
315 left: 0;
316 width: 100%;
317 padding: 1rem 6rem;
318}
319@media (max-width: 767.98px) {
320.blog-internal .title-absolute h1 {
321 position: inherit;
322 z-index: 2;
323 color: #c8b06e;
324 font-size: 2rem;
325 margin-left: -4rem;
326 margin-right: -4rem;
327 }
328}
329
330 .views .number-views {
331 opacity: 1;
332 align-items: center;
333 margin-top: 1rem;
334 padding: 0;
335 background-color: initial !important;
336 color: #72848c;
337 font-size: 2rem;
338 }
339 .views .icon-eye-open {
340 opacity: 1;
341 align-items: center;
342 margin-top: 1rem;
343 padding: 0;
344 background-color: initial !important;
345 color: #9c001c;
346 font-size: 2rem;
347 }
348
349a.lfr-portal-tooltip.btn.btn-monospaced.btn-outline-borderless.btn-sm.btn-outline-secondary {
350 display: flex;
351}
352</style>
353<script>
354 $(function(){
355 var container = $(".blog-internal").closest('.asset-full-content');
356 container.addClass('noticia-custom');
357
358 var breadcrumb = $('ul.breadcrumb');
359 var brcCustom = $('.brc-noticias');
360 if(breadcrumb.length && brcCustom.length){
361 breadcrumb.find('li:first-child, li:last-child').addClass('item-brc');
362 breadcrumb.find('li:not(.item-brc)').remove();
363 breadcrumb.find('li:last-child').before(brcCustom.html());
364 }
365
366 $('.asset-full-content').css({"opacity":"1","visibility":"visible"});
367 $('html, body').animate({
368 scrollTop: $(".noticia-custom .asset-anchor").offset().top
369 }, 500);
370 setTimeout(function(){
371 $('.content-share .inline-item svg').attr('viewBox', '0 0 512 512')
372 }, 5000)
373 })
374</script>
Atendimento/Contato
Assessoria de Intercâmbio e Mobilidade Acadêmica
2º andar – Sala 212 – Pró-reitoria Comunitária – Bloco R (Reitoria).
Horário de atendimento:
De Segunda a Sexta-feira:
09h – 12h / 14h – 16:30h
Matheus Oliveira / Paulo Airton Maia (Coordenador)
Telefone: 81 2119.4298
E-mail: intercambio@unicap.br











