From: <bra...@us...> - 2010-04-24 00:48:15
|
Revision: 3063 http://archive-access.svn.sourceforge.net/archive-access/?rev=3063&view=rev Author: bradtofel Date: 2010-04-24 00:48:09 +0000 (Sat, 24 Apr 2010) Log Message: ----------- INITIAL REV: .jsp disclaimer which "forks" to either a "cool new" GraphTimeline disclaimer, or to a simple disclaimer which indicates a live web capture Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/DisclaimChooser.jsp trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/GraphDisclaimer.jsp trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/LiveWebDisclaimer.jsp Added: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/DisclaimChooser.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/DisclaimChooser.jsp (rev 0) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/DisclaimChooser.jsp 2010-04-24 00:48:09 UTC (rev 3063) @@ -0,0 +1,14 @@ +<%@ + page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" +%><%@ + page import="org.archive.wayback.core.UIResults" +%><%@ + page import="org.archive.wayback.core.WaybackRequest" +%><% +UIResults results = UIResults.extractReplay(request); +WaybackRequest wbr = results.getWbRequest(); +if(wbr.isLiveWebRequest()) { + %><jsp:include page="/WEB-INF/replay/LiveWebDisclaimer.jsp" flush="true" /><% +} else { + %><jsp:include page="/WEB-INF/replay/GraphDisclaimer.jsp" flush="true" /><% +}%> \ No newline at end of file Added: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/GraphDisclaimer.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/GraphDisclaimer.jsp (rev 0) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/GraphDisclaimer.jsp 2010-04-24 00:48:09 UTC (rev 3063) @@ -0,0 +1,258 @@ +<%@ + page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" + %><%@ + page import="java.util.Iterator" + %><%@ + page import="java.util.ArrayList" + %><%@ + page import="java.util.Date" + %><%@ + page import="java.util.List" + %><%@ + page import="java.text.ParseException" + %><%@ + page import="org.archive.wayback.ResultURIConverter" + %><%@ + page import="org.archive.wayback.WaybackConstants" + %><%@ + page import="org.archive.wayback.core.CaptureSearchResult" + %><%@ + page import="org.archive.wayback.core.CaptureSearchResults" + %><%@ + page import="org.archive.wayback.core.UIResults" + %><%@ + page import="org.archive.wayback.core.WaybackRequest" + %><%@ + page import="org.archive.wayback.partition.CaptureSearchResultPartitionMap" + %><%@ + page import="org.archive.wayback.partition.PartitionPartitionMap" + %><%@ + page import="org.archive.wayback.partition.PartitionsToGraph" + %><%@ + page import="org.archive.wayback.util.graph.Graph" + %><%@ + page import="org.archive.wayback.util.graph.GraphEncoder" + %><%@ + page import="org.archive.wayback.util.graph.GraphRenderer" + %><%@ + page import="org.archive.wayback.util.partition.Partition" + %><%@ + page import="org.archive.wayback.util.partition.Partitioner" + %><%@ + page import="org.archive.wayback.util.partition.PartitionSize" + %><%@ + page import="org.archive.wayback.util.StringFormatter" + %><% +UIResults results = UIResults.extractReplay(request); +WaybackRequest wbRequest = results.getWbRequest(); +ResultURIConverter uriConverter = results.getURIConverter(); +String contextRoot = wbRequest.getContextPrefix(); +StringFormatter fmt = wbRequest.getFormatter(); +String staticPrefix = results.getContextConfig("static-prefix"); +if(staticPrefix == null) { + staticPrefix = contextRoot; +} + +String graphJspPrefix = results.getContextConfig("graphJspPrefix"); +if(graphJspPrefix == null) { + graphJspPrefix = contextRoot; +} +CaptureSearchResults cResults = results.getCaptureResults(); + +String exactDateStr = results.getResult().getCaptureTimestamp(); +Date exactDate = results.getResult().getCaptureDate(); +String searchUrl = wbRequest.getRequestUrl(); +String searchUrlSafe = fmt.escapeHtml(wbRequest.getRequestUrl()); +String searchUrlJS = fmt.escapeJavaScript(wbRequest.getRequestUrl()); +String resolution = wbRequest.getTimelineResolution(); + +CaptureSearchResult first = null; +CaptureSearchResult prev = null; +CaptureSearchResult next = null; +CaptureSearchResult last = null; + +Date firstDate = cResults.getFirstResultDate(); +Date lastDate = cResults.getLastResultDate(); + +long resultCount = cResults.getReturnedCount(); +int resultIndex = 1; + +CaptureSearchResultPartitionMap monthMap = + new CaptureSearchResultPartitionMap(); +PartitionSize monthSize = Partitioner.monthSize; +Partitioner<CaptureSearchResult> monthPartitioner = + new Partitioner<CaptureSearchResult>(monthMap); + +PartitionPartitionMap yearMap = + new PartitionPartitionMap(); +PartitionSize yearSize = Partitioner.yearSize; +Partitioner<Partition<CaptureSearchResult>> yearPartitioner = + new Partitioner<Partition<CaptureSearchResult>>(yearMap); + +List<Partition<Partition<CaptureSearchResult>>> yearPartitions = + yearPartitioner.getRange(yearSize,firstDate,lastDate); + +int imgWidth = 800; +int imgHeight = 35; +Date firstYearDate = yearPartitions.get(0).getStart(); +Date lastYearDate = yearPartitions.get(yearPartitions.size()-1).getEnd(); + +List<Partition<CaptureSearchResult>> monthPartitions = + monthPartitioner.getRange(monthSize,firstYearDate,lastYearDate); + +Iterator<CaptureSearchResult> it = cResults.iterator(); + +monthPartitioner.populate(monthPartitions,it); + +yearPartitioner.populate(yearPartitions,monthPartitions.iterator()); + +String yearFormatKey = "PartitionSize.dateHeader.yearGraphLabel"; +Graph graph = PartitionsToGraph.partsOfPartsToGraph(yearPartitions,fmt,yearFormatKey,imgWidth,imgHeight); +String encodedGraph = GraphEncoder.encode(graph); +String imgUrl = graphJspPrefix + "jsp/graph.jsp?graphdata=" + encodedGraph; +String starLink = fmt.escapeHtml(contextRoot + "*/" + searchUrl); +%> +<!-- BEGIN WAYBACK TIMELINE DISCLAIMER INSERT --> +<style type="text/css"> +#wm-disclaim { +display:none; +line-height:normal !important; +border:1px solid #000 !important; +padding:5px !important; +position:relative !important; +z-index:99999 !important; +color:#000 !important; +background-color:#efefef !important; +font-size:12px !important; +font-family:helvetica !important; +text-align:left !important; +} +.wm-disclaim-value { +font-size: 18px !important; +font-weight: bold !important; +color: #333 !important; +} +.wm-disclaim-label { +font-size: 18px !important; +color: #999 !important; +} +#wm-disclaim a { +color:#00f !important; +text-decoration:underline !important; +font-size:12px !important; +} +#wm-disclaim-hide { +float:right !important; +margin:0 0 5px 5px !important; +border:1px solid #ccc !important; +padding:1px 5px !important; +cursor:default !important; +font-size:10px !important; +font-weight:bold !important; +color:#666 !important; +} +#wm-disclaim-hide:hover { +border:1px outset #ccc !important; +} +#wm-disclaim-hide:focus, #wm-disclaim-hide:active { +border:1px inset #ccc !important; +} +.wm-nav-link-div { +padding:3px !important; +text-align:center !important; +} +</style> +<script type="text/javascript" src="<%= contextRoot %>js/graph-calc.js" ></script> +<script type="text/javascript"> +var firstDate = <%= firstYearDate.getTime() %>; +var lastDate = <%= lastYearDate.getTime() %>; +var wbPrefix = "<%= contextRoot %>"; +var wbCurrentUrl = "<%= searchUrlJS %>"; +</script> +<div id="wm-disclaim" dir="ltr" > + <table width="100%" border="0" cellpadding="0" cellspacing="3"> + <tr> + <!-- WAYBACK LOGO --> + <td rowspan="2" valign="top" align="left"><a href="<%= contextRoot %>"><img style="padding-right:15px;" src="<%= staticPrefix %>images/wayback_logo_tr.gif" width="153" height="54" border="0"></a></td> + <!-- /WAYBACK LOGO --> + <td width="99%"> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="90%" style="text-align:left; vertical-align:top;"> + <span class="wm-disclaim-label"><%= fmt.format("GraphTimeline.urlLabel") %></span> <span class="wm-disclaim-value"><%= searchUrlSafe %></span> + </td> + <td width="10%"> + <!-- URL FORM --> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <form action="<%= contextRoot %>query" method="get"> + <td class="wm-disclaim-label"><%= fmt.format("GraphTimeline.searchLabel") %></td> + <td><input type="hidden" name="<%= WaybackRequest.REQUEST_TYPE %>" value="<%= WaybackRequest.REQUEST_CAPTURE_QUERY %>"><input type="text" name="<%= WaybackRequest.REQUEST_URL %>" value="http://" size="24" maxlength="256"></td> + <td><input type="submit" name="submit" value="<%= fmt.format("GraphTimeline.searchButtonText") %>"></td> + </form> + </tr> + </table> + <!-- /URL FORM --> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="300" title="<%= fmt.format("GraphTimeline.dateLongFormat",exactDate) %>" class="wm-disclaim-label"><%= fmt.format("GraphTimeline.dateLabel") %> <span class="wm-disclaim-value"><%= fmt.spaceToNBSP(fmt.format("GraphTimeline.dateShortFormat",exactDate)) %></span></td> + <td width="40%"> + <div class="wm-nav-link-div"> + <a id="wm-graph-anchor" href=""> + <img width="<%= imgWidth %>" + height="<%= imgHeight %>" + src="<%= imgUrl %>" + border="0" + onmousemove="document.getElementById('wm-graph-anchor').href= wbPrefix + calcTimestamp(event,this,firstDate,lastDate) + '/' + wbCurrentUrl"></img> + </a> + </div> + <div class="wm-nav-link-div"> + <% + String navs[] = PartitionsToGraph.getNavigators(fmt,results.getResult()); + String links[] = PartitionsToGraph.getNavigatorLinks(yearPartitions,uriConverter); + links[PartitionsToGraph.NAV_CURRENT] = starLink; + for(int i = 0; i < navs.length; i++) { + if(i > 0) { + %> <% + } + if(links[i] == null) { + %><%= navs[i] %><% + } else { + %> <a href="<%= links[i] %>"><%= navs[i] %></a> <% + } + } + %> + </div> + </td> + <td width="%1" align="right" valign="bottom"> + <div id="wm-disclaim-hide" onclick="document.getElementById('wm-disclaim').style.display='none'"> + hide + </div> + </td> + </tr> + </table> + </td> + </tr> + </table> + </td> + </tr> + </table> +</div> +<script type="text/javascript" src="<%= contextRoot %>js/disclaim-element.js" ></script> +<script type="text/javascript"> + var wmDisclaimBanner = document.getElementById("wm-disclaim"); + if(wmDisclaimBanner != null) { + disclaimElement(wmDisclaimBanner); + } +</script> +<!-- END WAYBACK TIMELINE DISCLAIMER INSERT --> Added: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/LiveWebDisclaimer.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/LiveWebDisclaimer.jsp (rev 0) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/LiveWebDisclaimer.jsp 2010-04-24 00:48:09 UTC (rev 3063) @@ -0,0 +1,36 @@ +<%@ + page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" +%><%@ + page import="org.archive.wayback.core.CaptureSearchResult" +%><%@ + page import="org.archive.wayback.core.UIResults" +%><%@ + page import="org.archive.wayback.core.WaybackRequest" +%><%@ + page import="org.archive.wayback.util.StringFormatter" +%><% +UIResults results = UIResults.extractReplay(request); +CaptureSearchResult result = results.getResult(); +WaybackRequest wbr = results.getWbRequest(); +StringFormatter fmt = wbr.getFormatter(); +String contextRoot = wbr.getContextPrefix(); + +String urlString = fmt.escapeHtml(wbr.getRequestUrl()); +String prettyDateTime = + fmt.format("MetaReplay.captureDateDisplay", result.getCaptureDate()); +%> +<!-- Start of LiveWebDisclaimer.jsp output --> +<div id="wm-disclaim-banner" style="display:none; position:relative; z-index:99999; background-color:#ffffff; font-size:10px; text-align:center; width:100%;"> + The URL you requested, <%= urlString %> does not exist in this archive. + Wayback is showing you a document captured <b>very recently</b> from the live web. The version of the document + you are now seeing, archived at <%= prettyDateTime %>, will become part of + the permanent archive after it has been added to the archive index. +</div> +<script type="text/javascript" src="<%= contextRoot %>js/disclaim-element.js" ></script> +<script type="text/javascript"> + var wmDisclaimBanner = document.getElementById("wm-disclaim-banner"); + if(wmDisclaimBanner != null) { + disclaimElement(wmDisclaimBanner); + } +</script> +<!-- End of LiveWebDisclaimer.jsp output --> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |