Changeset 3305f17


Ignore:
Timestamp:
Jan 3, 2011 6:02:26 PM (9 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
976544b
Parents:
8d59fd1
Message:

details page for single-file torrents

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java

    r8d59fd1 r3305f17  
    162162                resp.setContentType("text/html; charset=UTF-8");
    163163                Resource resource = getResource(pathInContext);
    164                 if (resource == null || (!resource.exists()) || !resource.isDirectory()) {
     164                if (resource == null || (!resource.exists())) {
    165165                    resp.sendError(HttpResponse.__404_Not_Found);
    166166                } else {
     
    854854
    855855        out.write("<td class=\"" + rowClass + "\">");
    856         String announce = null;
    857856        if (isValid) {
    858             announce = meta.getAnnounce();
    859             if (announce != null) {
    860                 String trackerLink = getTrackerLink(announce, snark.getInfoHash());
    861                 if (trackerLink != null)
    862                     out.write(trackerLink);
    863             }
     857            StringBuilder buf = new StringBuilder(128);
     858            buf.append("<a href=\"").append(snark.getBaseName())
     859               .append("/\" title=\"").append(_("Torrent details"))
     860               .append("\"><img alt=\"").append(_("Info")).append("\" border=\"0\" src=\"")
     861               .append(_imgPath).append("details.png\"></a>");
     862             out.write(buf.toString());
    864863        }
    865864
     
    15561555        throws IOException
    15571556    {
    1558         if (!r.isDirectory())
    1559             return null;
    1560        
    1561         String[] ls = r.list();
    1562         if (ls==null)
    1563             return null;
    1564         Arrays.sort(ls, Collator.getInstance());
     1557        String[] ls = null;
     1558        if (r.isDirectory()) {
     1559            ls = r.list();
     1560            Arrays.sort(ls, Collator.getInstance());
     1561        }  // if r is not a directory, we are only showing torrent info section
    15651562       
    15661563        StringBuilder buf=new StringBuilder(4096);
     
    15931590        if (parent)  // always true
    15941591            buf.append("<div class=\"page\"><div class=\"mainsection\">");
    1595         boolean showPriority = snark != null && snark.getStorage() != null && !snark.getStorage().complete();
     1592        boolean showPriority = ls != null && snark != null && snark.getStorage() != null && !snark.getStorage().complete();
    15961593        if (showPriority)
    15971594            buf.append("<form action=\"").append(base).append("\" method=\"POST\">\n");
     
    16221619                String announce = meta.getAnnounce();
    16231620                if (announce != null) {
     1621                    buf.append("<br>");
    16241622                    String trackerLink = getTrackerLink(announce, snark.getInfoHash());
    1625                     if (trackerLink != null) {
    1626                         if (announce.startsWith("http://"))
    1627                             announce = announce.substring(7);
    1628                         int slsh = announce.indexOf('/');
    1629                         if (slsh > 0)
    1630                             announce = announce.substring(0, slsh);
    1631                         buf.append("<br>").append(trackerLink).append(' ').append(announce);
    1632                     }
     1623                    if (trackerLink != null)
     1624                        buf.append(trackerLink).append(' ');
     1625                    buf.append(_("Tracker")).append(": ");
     1626                    if (announce.startsWith("http://"))
     1627                        announce = announce.substring(7);
     1628                    int slsh = announce.indexOf('/');
     1629                    if (slsh > 0)
     1630                        announce = announce.substring(0, slsh);
     1631                    buf.append(announce);
    16331632                }
    16341633            }
     
    16431642            buf.append("</div></th></tr>");
    16441643        }
     1644        if (ls == null) {
     1645            // We are only showing the torrent info section
     1646            buf.append("</thead></table></div></div></BODY></HTML>");
     1647            return buf.toString();
     1648        }
     1649
    16451650        // second row - dir info
    16461651        buf.append("<tr><th>")
Note: See TracChangeset for help on using the changeset viewer.