All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.resources.wiki.edit_page.jsp Maven / Gradle / Ivy

There is a newer version: 2.1.6
Show newest version
<%--
/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */
--%>

<%@ include file="/wiki/init.jsp" %>

<%
String redirect = ParamUtil.getString(request, "redirect");

WikiEngineRenderer wikiEngineRenderer = (WikiEngineRenderer)request.getAttribute(WikiWebKeys.WIKI_ENGINE_RENDERER);
WikiNode node = (WikiNode)request.getAttribute(WikiWebKeys.WIKI_NODE);
WikiPage wikiPage = (WikiPage)request.getAttribute(WikiWebKeys.WIKI_PAGE);

long nodeId = BeanParamUtil.getLong(wikiPage, request, "nodeId");
String title = BeanParamUtil.getString(wikiPage, request, "title");

boolean editTitle = ParamUtil.getBoolean(request, "editTitle");

String selectedFormat = BeanParamUtil.getString(wikiPage, request, "format", wikiGroupServiceOverriddenConfiguration.defaultFormat());
String parentTitle = BeanParamUtil.getString(wikiPage, request, "parentTitle");

boolean editable = false;

if (wikiPage != null) {
	if (WikiPagePermissionChecker.contains(permissionChecker, wikiPage, ActionKeys.UPDATE)) {
		editable = true;
	}
}
else if ((wikiPage == null) && editTitle) {
	editable = true;

	wikiPage = new WikiPageImpl();

	wikiPage.setNew(true);
	wikiPage.setNodeId(node.getNodeId());
	wikiPage.setFormat(selectedFormat);
	wikiPage.setParentTitle(parentTitle);
}

if (Validator.isNotNull(title)) {
	try {
		WikiPageTitleValidator wikiPageTitleValidator = (WikiPageTitleValidator)request.getAttribute(WikiWebKeys.WIKI_PAGE_TITLE_VALIDATOR);

		wikiPageTitleValidator.validate(title);

		editable = true;
	}
	catch (PageTitleException pte) {
		editTitle = true;
	}
}

long templateNodeId = ParamUtil.getLong(request, "templateNodeId");
String templateTitle = ParamUtil.getString(request, "templateTitle");

WikiPage templatePage = null;

if ((templateNodeId > 0) && Validator.isNotNull(templateTitle)) {
	try {
		templatePage = WikiPageServiceUtil.getPage(templateNodeId, templateTitle);

		if (Validator.isNull(parentTitle)) {
			parentTitle = templatePage.getParentTitle();

			if (wikiPage.isNew()) {
				selectedFormat = templatePage.getFormat();

				wikiPage.setContent(templatePage.getContent());
				wikiPage.setFormat(selectedFormat);
				wikiPage.setParentTitle(parentTitle);
			}
		}
	}
	catch (Exception e) {
	}
}

WikiURLHelper wikiURLHelper = new WikiURLHelper(wikiRequestHelper, renderResponse, wikiGroupServiceConfiguration);

PortletURL backToViewPagesURL = wikiURLHelper.getBackToViewPagesURL(node);

if (Validator.isNull(redirect)) {
	redirect = backToViewPagesURL.toString();
}

String headerTitle = ((wikiPage == null) || wikiPage.isNew()) ? LanguageUtil.get(request, "new-wiki-page") : wikiPage.getTitle();

boolean portletTitleBasedNavigation = GetterUtil.getBoolean(portletConfig.getInitParameter("portlet-title-based-navigation"));

if (portletTitleBasedNavigation) {
	portletDisplay.setShowBackIcon(true);
	portletDisplay.setURLBack(backToViewPagesURL.toString());

	renderResponse.setTitle(headerTitle);
}
%>


	
		
	



	



	


>
<% Format dateFormatDate = FastDateFormatFactoryUtil.getDateTime(locale, timeZone); %>

<%= HtmlUtil.escape(title) %>

<% wikiEngineRenderer.renderEditPageHTML(selectedFormat, pageContext, node, wikiPage); %>
<% long resourcePrimKey = 0; if ((wikiPage != null) && !wikiPage.isNew()) { resourcePrimKey = wikiPage.getResourcePrimKey(); } else if (templatePage != null) { resourcePrimKey = templatePage.getResourcePrimKey(); } long assetEntryId = 0; long classPK = resourcePrimKey; if ((wikiPage != null) && !wikiPage.isNew() && !wikiPage.isApproved() && (wikiPage.getVersion() != WikiPageConstants.VERSION_DEFAULT)) { AssetEntry assetEntry = AssetEntryLocalServiceUtil.fetchEntry(WikiPage.class.getName(), wikiPage.getPrimaryKey()); if (assetEntry != null) { assetEntryId = assetEntry.getEntryId(); classPK = wikiPage.getPrimaryKey(); } } %> <% Collection formats = wikiEngineRenderer.getFormats(); %> <% for (String format : formats) { %> <% } %>
<% boolean pending = false; if (wikiPage != null) { pending = wikiPage.isPending(); } %>
<% String saveButtonLabel = "save"; if ((wikiPage == null) || wikiPage.isDraft() || wikiPage.isApproved()) { saveButtonLabel = "save-as-draft"; } String publishButtonLabel = "publish"; if (WorkflowDefinitionLinkLocalServiceUtil.hasWorkflowDefinitionLink(themeDisplay.getCompanyId(), scopeGroupId, WikiPage.class.getName())) { publishButtonLabel = "submit-for-publication"; } %>
var form = $(document.fm); var formatSelect = form.fm('format'); var currentFormat = formatSelect.find('option:selected').text().trim(); var currentIndex = formatSelect.prop('selectedIndex'); formatSelect.on( 'change', function(event) { var newFormat = formatSelect.find('option:selected').text().trim(); var confirmMessage = '<%= UnicodeLanguageUtil.get(request, "you-may-lose-formatting-when-switching-from-x-to-x") %>'; confirmMessage = _.sub(confirmMessage, currentFormat, newFormat); if (!confirm(confirmMessage)) { formatSelect.prop('selectedIndex', currentIndex); return; } var titleEditor = window.titleEditor; if (titleEditor) { form.fm('title').val(titleEditor.getText()); } var contentEditor = window.contentEditor; if (contentEditor) { form.fm('content').val(contentEditor.getHTML()); } form.attr('action', '<%= editPageRenderURL %>'); submitForm(form, null, null, false); } ); function publishPage() { var form = AUI.$(document.fm); form.fm('workflowAction').val('<%= WorkflowConstants.ACTION_PUBLISH %>'); savePage(); } function savePage() { var form = AUI.$(document.fm); form.fm('<%= Constants.CMD %>').val('<%= ((wikiPage == null) || wikiPage.isNew()) ? Constants.ADD : Constants.UPDATE %>'); var titleEditor = window.titleEditor; if (titleEditor) { form.fm('title').val(titleEditor.getText()); } var contentEditor = window.contentEditor; if (contentEditor) { form.fm('content').val(contentEditor.getHTML()); } submitForm(form); } <% if ((wikiPage != null) && !wikiPage.isNew()) { PortletURL viewPageURL = wikiURLHelper.getViewPageURL(node, title); PortalUtil.addPortletBreadcrumbEntry(request, wikiPage.getTitle(), viewPageURL.toString()); PortalUtil.addPortletBreadcrumbEntry(request, LanguageUtil.get(request, "edit"), currentURL); } else { PortalUtil.addPortletBreadcrumbEntry(request, LanguageUtil.get(request, "add-page"), currentURL); } %>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy