/usr/share/jspwiki/Rename.jsp is in jspwiki 2.8.0-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | <%@ 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.*" %>
<fmt:setBundle basename="CoreResources"/>
<%!
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;
}
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("rename", rb.getString("rename.empty"));
log.info("Page rename request failed because new page name was left blank");
}
}
catch (WikiException e)
{
if (e.getMessage().equals("You cannot rename the page to itself"))
{
log.info("Page rename request failed because page names are identical");
wikiSession.addMessage("rename", rb.getString("rename.identical") );
}
else if (e.getMessage().startsWith("Page already exists "))
{
log.info("Page rename request failed because new page name is already in use");
Object[] args = { renameTo };
wikiSession.addMessage("rename", MessageFormat.format(rb.getString("rename.exists"),args));
}
else
{
Object[] args = { e.toString() };
wikiSession.addMessage("rename", MessageFormat.format(rb.getString("rename.unknownerror"),args));
}
}
pageContext.setAttribute( "renameto",
TextUtil.replaceEntities( renameTo ),
PageContext.REQUEST_SCOPE );
response.setContentType("text/html; charset="+wiki.getContentEncoding() );
String contentPage = wiki.getTemplateManager().findJSP( pageContext,
wikiContext.getTemplate(),
"ViewTemplate.jsp" );
%><wiki:Include page="<%=contentPage%>" />
|