Last active
February 3, 2016 21:02
-
-
Save ryanschuhler/06a640a3fc928a8470d3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<#assign layout_service = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService") /> | |
<#assign theme_display = request["theme-display"] /> | |
<#assign plid = theme_display["plid"] /> | |
<#assign layout = layout_service.getLayout(plid?number) /> | |
<#if layoutPermission.contains(permissionChecker, layout, "UPDATE")> | |
<#assign journal_article_service = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleService") /> | |
<#assign service_context = objectUtil("com.liferay.portal.service.ServiceContextThreadLocal").getServiceContext() /> | |
<#assign http_servlet_request = service_context.getRequest() /> | |
<#assign article_id = paramUtil.getString(http_servlet_request, "articleId") /> | |
<#assign field_name = paramUtil.getString(http_servlet_request, "fieldName") /> | |
<#assign language_id = paramUtil.getString(http_servlet_request, "languageId") /> | |
<#assign level_path = paramUtil.getString(http_servlet_request, "levelPath") /> | |
<#assign value = paramUtil.getString(http_servlet_request, "value") /> | |
<#assign level_path = stringUtil.split(level_path) /> | |
<#assign article = journal_article_service.getArticle(groupId, article_id) /> | |
<#assign document = saxReaderUtil.read(article.getContent()) /> | |
<#assign root_element = document.getRootElement() /> | |
<#assign dynamic_elements = root_element.elements("dynamic-element") /> | |
<#list level_path as level> | |
<#if level_has_next> | |
<#assign current_element = dynamic_elements[getterUtil.getInteger(level)] /> | |
<#assign dynamic_elements = current_element.elements("dynamic-element") /> | |
</#if> | |
</#list> | |
<#assign content = "" /> | |
<#assign element_count = 0 /> | |
<#list dynamic_elements as dynamic_element> | |
<#if validator.equals(dynamic_element.attributeValue("name"), field_name)> | |
<#if element_count == level_path[level_path?size - 1]?number> | |
<#assign content = dynamic_element /> | |
</#if> | |
<#assign element_count = element_count + 1 /> | |
</#if> | |
</#list> | |
<#assign dynamic_content = content.elements("dynamic-content") /> | |
<#assign found_language_id = false /> | |
<#list dynamic_content as dynamic_content_element> | |
<#assign content_language_id = dynamic_content_element.attributeValue("language-id") /> | |
<#if validator.equals(language_id, content_language_id)> | |
<#assign void = dynamic_content_element.clearContent() /> | |
<#assign void = dynamic_content_element.addCDATA(value) /> | |
<#assign found_language_id = true /> | |
</#if> | |
</#list> | |
<#assign logFactory = objectUtil('com.liferay.portal.kernel.log.LogFactoryUtil') /> | |
<#assign log = logFactory.getLog('com.liferay.portal.kernel.search.SearchEngineUtil') /> | |
<#assign V = log.error("found_language_id") /> | |
<#assign V = log.error(found_language_id) /> | |
<#if !found_language_id> | |
<#assign dynamic_content_element = element.addElement("dynamic-content") /> | |
<#assign void = dynamic_content_element.addAttribute("language-id", language_id) /> | |
<#assign void = dynamic_content_element.addCDATA(value) /> | |
<#assign available_locales = root_element.attributeValue("available-locales") /> | |
<#assign available_locales_array = stringUtil.split(available_locales) /> | |
<#if !arrayUtil.contains(available_locales_array, language_id)> | |
<#assign available_locales_array = arrayUtil.append(available_locales_array, language_id) /> | |
<#assign void = root_element.addAttribute("available-locales", stringUtil.merge(available_locales_array)) /> | |
</#if> | |
</#if> | |
<#--<#assign void = journal_article_service.updateContent(groupId, article_id, version, document.formattedString(" ")) />--> | |
<#function date_helper date unit> | |
<#if date?has_content && unit?has_content> | |
<#return getterUtil.getInteger(date?string(unit), -1)> | |
<#else> | |
<#return -1> | |
</#if> | |
</#function> | |
<#assign articleDisplayDate = article.getDisplayDate()! /> | |
<#assign articleExpirationDate = article.getExpirationDate()! /> | |
<#assign articleReviewDate = article.getReviewDate()! /> | |
<#assign neverExpire = true /> | |
<#if articleExpirationDate?has_content> | |
<#assign neverExpire = false /> | |
</#if> | |
<#assign neverReview = true /> | |
<#if articleReviewDate?has_content> | |
<#assign neverReview = false /> | |
</#if> | |
<#assign void = journal_article_service.updateArticle( | |
article.getGroupId(), article.getFolderId(), article.getArticleId(), article.getVersion(), article.getTitleMap(), article.getDescriptionMap(), | |
document.formattedString(" "), article.getType(), article.getStructureId(), article.getTemplateId(), article.getLayoutUuid(), | |
date_helper(articleDisplayDate, "MM"), date_helper(articleDisplayDate, "dd"), date_helper(articleDisplayDate, "yyyy"), date_helper(articleDisplayDate, "HH"), date_helper(articleDisplayDate, "mm"), | |
date_helper(articleExpirationDate, "MM"), date_helper(articleExpirationDate, "dd"), date_helper(articleExpirationDate, "yyyy"), date_helper(articleExpirationDate, "HH"), date_helper(articleExpirationDate, "mm"), neverExpire, | |
date_helper(articleReviewDate, "MM"), date_helper(articleReviewDate, "dd"), date_helper(articleReviewDate, "yyyy"), date_helper(articleReviewDate, "HH"), date_helper(articleReviewDate, "mm"), neverReview, | |
article.getIndexable(), article.isSmallImage(), article.getSmallImageURL(), null, null, null, | |
service_context) | |
/> | |
</#if> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment