<%@ page import="org.apache.log4j.*" %> <%@ page import="com.ecyrd.jspwiki.*" %> <%@ page errorPage="/Error.jsp" %> <%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ page import="java.util.*" %> <%@ page import="java.text.*" %> <%! Logger log = Logger.getLogger("JSPWiki"); %> <% WikiEngine wiki = WikiEngine.getInstance( getServletConfig() ); // Create wiki context and check for authorization WikiContext wikiContext = wiki.createContext( request, WikiContext.RENAME ); if(!wikiContext.hasAccess( response )) return; String renameFrom = wikiContext.getName(); String renameTo = request.getParameter( "renameto"); boolean changeReferences = false; ResourceBundle rb = wikiContext.getBundle("CoreResources"); if (request.getParameter("references") != null) { changeReferences = true; } // Set the content type and include the response content 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() ); WikiSession wikiSession = wikiContext.getWikiSession(); try { if (renameTo.length() > 0) { String renamedTo = wiki.renamePage(wikiContext, renameFrom, renameTo, changeReferences); log.info("Page successfully renamed to '"+renamedTo+"'"); response.sendRedirect( wikiContext.getURL( WikiContext.VIEW, renamedTo ) ); return; } else { wikiSession.addMessage(rb.getString("rename.empty")); log.info("Page rename request failed because new page name was left blank"); %>

<% } } catch (WikiException e) { if (e.getMessage().equals("Page exists")) { if (renameTo.equals( renameFrom )) { log.info("Page rename request failed because page names are identical"); wikiSession.addMessage( rb.getString("rename.identical") ); } else { log.info("Page rename request failed because new page name is already in use"); Object[] args = { renameTo }; wikiSession.addMessage(MessageFormat.format(rb.getString("rename.exists"),args)); } } else { Object[] args = { e.toString() }; wikiSession.addMessage( MessageFormat.format(rb.getString("rename.unknownerror"),args)); } %>

<% } %>