<%@ page import="org.apache.log4j.*" %> <%@ page import="com.ecyrd.jspwiki.*" %> <%@ page import="com.ecyrd.jspwiki.auth.AuthorizationManager" %> <%@ page import="com.ecyrd.jspwiki.auth.permissions.PagePermission" %> <%@ page import="com.ecyrd.jspwiki.tags.WikiTagBase" %> <%@ page errorPage="/Error.jsp" %> <%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki" %> <%! public void jspInit() { wiki = WikiEngine.getInstance( getServletConfig() ); } Category log = Category.getInstance("JSPWiki"); WikiEngine wiki; %> <% WikiContext wikiContext = wiki.createContext( request, WikiContext.RENAME ); String renameFrom = wikiContext.getPage().getName(); String renameTo = request.getParameter( "renameto"); boolean changeReferences = false; if (request.getParameter("references") != null) { changeReferences = true; } // Check for the "rename" permission AuthorizationManager mgr = wiki.getAuthorizationManager(); if( !mgr.checkPermission( wikiContext.getWikiSession(), new PagePermission(wiki.getPage(renameFrom), "rename" ) ) ) { log.info("User "+wikiContext.getCurrentUser()+" has no access - redirecting to login page."); String msg = "You do not seem to have the permissions for this operation. Would you like to login as another user?"; wikiContext.setVariable( "msg", msg ); String pageurl = wiki.encodeName( renameFrom ); response.sendRedirect( wiki.getBaseURL()+"Login.jsp?page="+pageurl ); return; } pageContext.setAttribute( WikiTagBase.ATTR_CONTEXT, wikiContext, PageContext.REQUEST_SCOPE ); response.setContentType("text/html; charset="+wiki.getContentEncoding() ); log.info("Page rename request for page '"+renameFrom+ "' to new name '"+renameTo+"' from "+request.getRemoteAddr()+" by "+request.getRemoteUser() ); try { if (renameTo.length() > 0) { String renamedTo = wiki.renamePage(renameFrom, renameTo, changeReferences); log.info("Page successfully renamed to '"+renamedTo+"'"); //Encoding is necessary in case the page name contains special chars like german Umlaute renamedTo = wiki.encodeName(renamedTo); response.sendRedirect( wiki.getBaseURL()+"Wiki.jsp?page="+renamedTo); } else { String msg = "New page name empty.
\nClick back on your browser and fill in the new name."; pageContext.setAttribute( "message", msg, PageContext.REQUEST_SCOPE ); log.info("Page rename request failed because new page name was left blank"); %>

Unable to rename page

Reason:
<%=pageContext.getAttribute("message",PageContext.REQUEST_SCOPE)%>
<% } } catch (WikiException e) { String msg = null; if (e.getMessage().equals("Page exists")) { if (renameTo.equals( renameFrom )) { log.info("Page rename request failed because page names are identical"); msg = "Page names identical.
\nClick back on your browser and change the new name."; } else { log.info("Page rename request failed because new page name is already in use"); msg = "Page \"" + renameTo + "\" already exists.
\nClick back on your browser and change the new name or delete the page \"" + renameTo + "\" first."; } } else { msg = "An Unknown error occurred (" + e.toString() + ")"; } pageContext.setAttribute( "message", msg, PageContext.REQUEST_SCOPE ); %>

Unable to rename page

Reason:
<%=pageContext.getAttribute("message",PageContext.REQUEST_SCOPE)%>
<% } %>