⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 infocontent.jsp

📁 jspwiki source code,jspwiki source code
💻 JSP
字号:
<%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki" %><%@ page import="com.ecyrd.jspwiki.*" %><%@ page import="com.ecyrd.jspwiki.auth.*" %><%@ page import="com.ecyrd.jspwiki.auth.permissions.*" %><%@ page import="com.ecyrd.jspwiki.attachment.*" %><%@ page import="com.ecyrd.jspwiki.i18n.InternationalizationManager" %><%@ page import="java.security.Permission" %><%@ page import="javax.servlet.jsp.jstl.fmt.*" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><fmt:setLocale value="${prefs.Language}" /><fmt:setBundle basename="templates.default"/><%  WikiContext c = WikiContext.findContext(pageContext);  WikiPage wikiPage = c.getPage();  int attCount = c.getEngine().getAttachmentManager().listAttachments( c.getPage() ).size();  String attTitle = LocaleSupport.getLocalizedMessage(pageContext, "attach.tab");  if( attCount != 0 ) attTitle += " (" + attCount + ")";  String parm_renameto = (String)request.getParameter( "renameto" );  if( parm_renameto == null ) parm_renameto = wikiPage.getName();  String creationAuthor ="";  //FIXME -- seems not to work correctly for attachments !!  WikiPage firstPage = c.getEngine().getPage( wikiPage.getName(), 1 );  if( firstPage != null )  {    creationAuthor = firstPage.getAuthor();    if( creationAuthor != null && creationAuthor.length() > 0 )    {      creationAuthor = TextUtil.replaceEntities(creationAuthor);    }    else    {      creationAuthor = c.getBundle( InternationalizationManager.CORE_BUNDLE ).getString( "common.unknownauthor" );    }  }  int itemcount = 0;  //number of page versions  try  {    itemcount = wikiPage.getVersion(); /* highest version */  }  catch( Exception  e )  { /* dont care */ }  int pagesize = 20;  int startitem = itemcount-1; /* itemcount==1-20 -> startitem=0-19 ... */  String parm_start = (String)request.getParameter( "start" );  if( parm_start != null ) startitem = Integer.parseInt( parm_start ) ;  /* round to start of block: 0-19 becomes 0; 20-39 becomes 20 ... */  if( startitem > -1 ) startitem = ((startitem)/pagesize) * pagesize;  /* startitem drives the pagination logic */  /* startitem=-1:show all; startitem=0:show block 1-20; startitem=20:block 21-40 ... */%><wiki:PageExists><%-- part 1 : normal wiki pages --%><wiki:PageType type="page">  <wiki:TabbedSection defaultTab="info">  <wiki:Tab id="pagecontent"         title='<%=LocaleSupport.getLocalizedMessage(pageContext, "actions.view")%>'     accesskey="v"	       url="<%=c.getURL(WikiContext.VIEW, c.getPage().getName())%>">      <%--<wiki:Include page="PageTab.jsp"/> --%>  </wiki:Tab>  <wiki:Tab id="attach" title="<%= attTitle %>" accesskey="a">    <wiki:Include page="AttachmentTab.jsp"/>  </wiki:Tab>  <%-- actual infopage content --%>  <wiki:Tab id="info" title='<%=LocaleSupport.getLocalizedMessage(pageContext, "info.tab")%>' accesskey="i" >  <p>  <fmt:message key='info.lastmodified'>    <fmt:param><wiki:PageVersion >1</wiki:PageVersion></fmt:param>    <fmt:param>      <a href="<wiki:DiffLink format='url' version='latest' newVersion='previous' />"        title="<fmt:message key='info.pagediff.title' />" >        <fmt:formatDate value="<%= wikiPage.getLastModified() %>" pattern="${prefs.DateFormat}" timeZone="${prefs.TimeZone}" />      </a>    </fmt:param>    <fmt:param><wiki:Author /></fmt:param>  </fmt:message>  <wiki:RSSImageLink mode="wiki"/>  </p>  <wiki:CheckVersion mode="notfirst">    <p>    <fmt:message key='info.createdon'>      <fmt:param>        <wiki:Link version="1">          <fmt:formatDate value="<%= firstPage.getLastModified() %>" pattern="${prefs.DateFormat}" timeZone="${prefs.TimeZone}" />        </wiki:Link>      </fmt:param>      <fmt:param><%= creationAuthor %></fmt:param>    </fmt:message>    </p>  </wiki:CheckVersion>  <wiki:Permission permission="rename">    <div class="formhelp">      <wiki:Messages div="error" topic="rename" prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"prefs.errorprefix.rename")%>'/>    </div>    <form action="<wiki:Link format='url' jsp='Rename.jsp'/>"           class="wikiform"              id="renameform"        onsubmit="return Wiki.submitOnce(this);"          method="post" accept-charset="<wiki:ContentEncoding />" >      <p>      <input type="hidden" name="page" value="<wiki:Variable var='pagename' />" />      <input type="submit" name="rename" value="<fmt:message key='info.rename.submit' />" />      <input type="text" name="renameto" value="<%= parm_renameto %>" size="40" />      &nbsp;&nbsp;      <input type="checkbox" name="references" checked="checked" />      <fmt:message key="info.updatereferrers"/>      </p>    </form>  </wiki:Permission>  <wiki:Permission permission="!rename">      <p><fmt:message key="info.rename.permission"/></p>  </wiki:Permission>  <wiki:Permission permission="delete">    <form action="<wiki:Link format='url' context='<%=WikiContext.DELETE%>' />"           class="wikiform"              id="deleteForm"          method="post" accept-charset="<wiki:ContentEncoding />"        onsubmit="return( confirm('<fmt:message key="info.confirmdelete"/>') && Wiki.submitOnce(this) );">      <p>      <input type="submit" name="delete-all" id="delete-all"            value="<fmt:message key='info.delete.submit'/>" />      </p>    </form>  </wiki:Permission>  <wiki:Permission permission="!delete">      <p><fmt:message key="info.delete.permission"/></p>  </wiki:Permission>  <div class="collapsebox-closed" id="incomingLinks">  <h4><fmt:message key="info.tab.incoming" /></h4>    <wiki:LinkTo><wiki:PageName /></wiki:LinkTo>    <wiki:Plugin plugin="ReferringPagesPlugin" args="before='*' after='\n' " />  </div>  <div class="collapsebox-closed" id="outgoingLinks">  <h4><fmt:message key="info.tab.outgoing" /></h4>    <wiki:Plugin plugin="ReferredPagesPlugin" args="depth='1' type='local'" />  </div>  <div class="clearbox"></div>  <%-- DIFF section --%>  <wiki:CheckRequestContext context='diff'>     <wiki:Include page="DiffTab.jsp"/>  </wiki:CheckRequestContext>  <%-- DIFF section --%>	<%--    <wiki:CheckVersion mode="first"><fmt:message key="info.noversions"/></wiki:CheckVersion>	--%>        <%-- if( itemcount > 1 ) { --%>    <wiki:SetPagination start="<%=startitem%>" total="<%=itemcount%>" pagesize="<%=pagesize%>" maxlinks="9"                       fmtkey="info.pagination"                         href='<%=c.getURL(WikiContext.INFO, c.getPage().getName(), "start=%s")%>' />    <div class="zebra-table sortable table-filter">    <table class="wikitable" >      <tr>        <th><fmt:message key="info.version"/></th>        <th><fmt:message key="info.date"/></th>        <th><fmt:message key="info.size"/></th>        <th><fmt:message key="info.author"/></th>        <th><fmt:message key="info.changes"/></th>        <th class='changenote'><fmt:message key="info.changenote"/></th>      </tr>      <wiki:HistoryIterator id="currentPage">      <% if( ( startitem == -1 ) ||             (  ( currentPage.getVersion() > startitem )             && ( currentPage.getVersion() <= startitem + pagesize ) ) )         {       %>      <tr>        <td>          <wiki:LinkTo version="<%=Integer.toString(currentPage.getVersion())%>">            <wiki:PageVersion/>          </wiki:LinkTo>        </td>	    <td style="white-space:nowrap;" sortvalue="<fmt:formatDate value='<%= currentPage.getLastModified() %>' pattern='EEE, d MMM yyyy hh:mm:ss' />">        <fmt:formatDate value="<%= currentPage.getLastModified() %>" pattern="${prefs.DateFormat}" timeZone="${prefs.TimeZone}" />        </td>        <td style="white-space:nowrap;text-align:right;">          <c:set var="ff"><wiki:PageSize /></c:set>          <fmt:formatNumber value='${ff/1000}' maxFractionDigits='3' minFractionDigits='1'/>&nbsp;<fmt:message key="info.kilobytes"/>        </td>        <td><wiki:Author /></td>        <td>          <wiki:CheckVersion mode="notfirst">            <wiki:DiffLink version="current" newVersion="previous"><fmt:message key="info.difftoprev"/></wiki:DiffLink>            <wiki:CheckVersion mode="notlatest"> | </wiki:CheckVersion>          </wiki:CheckVersion>          <wiki:CheckVersion mode="notlatest">            <wiki:DiffLink version="latest" newVersion="current"><fmt:message key="info.difftolast"/></wiki:DiffLink>          </wiki:CheckVersion>        </td>         <td class="changenote">           <%              String changeNote = (String)currentPage.getAttribute( WikiPage.CHANGENOTE );              changeNote = (changeNote != null) ? TextUtil.replaceEntities( changeNote ) : "" ;           %>           <%= changeNote %>         </td>      </tr>      <% } %>      </wiki:HistoryIterator>    </table>    </div>    ${pagination}    <%-- } /* itemcount > 1 */ --%>  </wiki:Tab>  </wiki:TabbedSection></wiki:PageType><%-- part 2 : attachments --%><wiki:PageType type="attachment"><%  int MAXATTACHNAMELENGTH = 30;  String progressId = c.getEngine().getProgressManager().getNewProgressIdentifier();%>  <wiki:TabbedSection defaultTab="info">  <wiki:Tab id="pagecontent"         title='<%=LocaleSupport.getLocalizedMessage(pageContext, "info.parent")%>'     accesskey="v"	       url="<%=c.getURL(WikiContext.VIEW, ((Attachment)wikiPage).getParentName()) %>">  </wiki:Tab>  <wiki:Tab id="info" title='<%=LocaleSupport.getLocalizedMessage(pageContext, "info.attachment.tab")%>' accesskey="i" >  <h3><fmt:message key="info.uploadnew"/></h3>  <wiki:Permission permission="upload">  <form action="<wiki:Link jsp='attach' format='url' absolute='true'><wiki:Param name='progressid' value='<%=progressId%>'/></wiki:Link>"         class="wikiform"            id="uploadform"      onsubmit="return Wiki.submitUpload(this, '<%=progressId%>');"        method="post" accept-charset="<wiki:ContentEncoding/>"       enctype="multipart/form-data" >  <%-- Do NOT change the order of wikiname and content, otherwise the       servlet won't find its parts. --%>  <table>  <tr>    <td colspan="2"><div class="formhelp"><fmt:message key="info.uploadnew.help" /></div></td>  </tr>  <tr>    <td><label for="content"><fmt:message key="info.uploadnew.filename" /></label></td>    <td><input type="file" name="content" size="60"/></td>  </tr>  <tr>    <td><label for="changenote"><fmt:message key="info.uploadnew.changenote" /></label></td>    <td>    <input type="text" name="changenote" maxlength="80" size="60" />    </td>  </tr>  <tr>    <td></td>    <td>    <input type="hidden" name="page" value="<wiki:Variable var='pagename' />" />    <input type="submit" name="upload" value="<fmt:message key='attach.add.submit'/>" id="upload" /> <input type="hidden" name="action"  value="upload" />    <input type="hidden" name="nextpage" value="<wiki:PageInfoLink format='url'/>" />        <div id="progressbar"><div class="ajaxprogress"></div></div>    </td>  </tr>  </table>  </form>  </wiki:Permission>  <wiki:Permission permission="!upload">    <div class="formhelp"><fmt:message key="attach.add.permission"/></div>  </wiki:Permission>  <wiki:Permission permission="delete">    <h3><fmt:message key="info.deleteattachment"/></h3>    <form action="<wiki:Link format='url' context='<%=WikiContext.DELETE%>' />"           class="wikiform"              id="deleteForm"          method="post" accept-charset="<wiki:ContentEncoding />"        onsubmit="return( confirm('<fmt:message key="info.confirmdelete"/>') && Wiki.submitOnce(this) );" >     <div>     <input type="submit" name="delete-all" id="delete-all"           value="<fmt:message key='info.deleteattachment.submit' />" />     </div>    </form>  </wiki:Permission>  <%-- FIXME why not add pagination here - no need for large amounts of attach versions on one page --%>  <h3><fmt:message key='info.attachment.history' /></h3>  <div class="zebra-table"><div class="slimbox-img sortable">  <table class="wikitable">    <tr>      <th><fmt:message key="info.attachment.type"/></th>      <%--<th><fmt:message key="info.attachment.name"/></th>--%>      <th><fmt:message key="info.version"/></th>      <th><fmt:message key="info.size"/></th>      <th><fmt:message key="info.date"/></th>      <th><fmt:message key="info.author"/></th>      <%--      <wiki:Permission permission="upload">         <th><fmt:message key="info.actions"/></th>      </wiki:Permission>      --%>      <th  class='changenote'><fmt:message key="info.changenote"/></th>    </tr>    <wiki:HistoryIterator id="att"><%-- <wiki:AttachmentsIterator id="att"> --%>    <%      String name = att.getName(); //att.getFileName();      int dot = name.lastIndexOf(".");      String attachtype = ( dot != -1 ) ? name.substring(dot+1) : "&nbsp;";      String sname = name;      if( sname.length() > MAXATTACHNAMELENGTH ) sname = sname.substring(0,MAXATTACHNAMELENGTH) + "...";    %>    <tr>      <td><div id="attach-<%= attachtype %>" class="attachtype"><%= attachtype %></div></td>      <%--<td><wiki:LinkTo title="<%= name %>" ><%= sname %></wiki:LinkTo></td>--%>      <%--FIXME classs parameter throws java exception      <td><wiki:Link version='<%=Integer.toString(att.getVersion())%>'                       title="<%= name %>"                       class="attachment" ><wiki:PageVersion /></wiki:Link></td>      --%>      <td><a href="<wiki:Link version='<%=Integer.toString(att.getVersion())%>' format='url' />"                       title="<%= name %>"                       class="attachment" ><wiki:PageVersion /></a></td>      <td style="white-space:nowrap;text-align:right;">        <fmt:formatNumber value='<%=Double.toString(att.getSize()/1000.0) %>' groupingUsed='false' maxFractionDigits='1' minFractionDigits='1'/>&nbsp;<fmt:message key="info.kilobytes"/>      </td>	  <td style="white-space:nowrap;" sortvalue="<fmt:formatDate value='<%= att.getLastModified() %>' pattern='EEE, d MMM yyyy hh:mm:ss' />">	  <fmt:formatDate value="<%= att.getLastModified() %>" pattern="${prefs.DateFormat}" timeZone="${prefs.TimeZone}" />	  </td>      <td><wiki:Author /></td>      <%--      // FIXME: This needs to be added, once we figure out what is going on.      <wiki:Permission permission="upload">         <td>            <input type="button"                   value="Restore"                   url="<wiki:Link format='url' context='<%=WikiContext.UPLOAD%>'/>"/>         </td>      </wiki:Permission>      --%>      <td class='changenote'>      <%         String changeNote = (String)att.getAttribute(WikiPage.CHANGENOTE);         if( changeNote != null ) {             changeNote = TextUtil.replaceEntities(changeNote);         %><%=changeNote%><%         }      %>      </td>    </tr>    </wiki:HistoryIterator><%-- </wiki:AttachmentsIterator> --%>  </table>  </div></div>  </wiki:Tab>  </wiki:TabbedSection> <%-- end of .tabs --%></wiki:PageType></wiki:PageExists><wiki:NoSuchPage>  <fmt:message key="common.nopage">    <fmt:param><wiki:EditLink><fmt:message key="common.createit"/></wiki:EditLink></fmt:param>  </fmt:message></wiki:NoSuchPage>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -