Changeset 0fcf13e


Ignore:
Timestamp:
Mar 29, 2011 11:17:14 PM (9 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
7020bfd
Parents:
9e37a5a
Message:
  • susidns:
  • IDN toASCII improvements (old bean)
  • Add 'other' filter
  • Fix jsp 500s
Location:
apps/susidns/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java

    r9e37a5a r0fcf13e  
    282282                                if (action.equals(_("Add")) || action.equals(_("Replace"))) {
    283283                                        if( addressbook != null && hostname != null && destination != null ) {
    284                                                 String oldDest = (String) addressbook.get(hostname);
    285                                                 if (destination.equals(oldDest)) {
    286                                                         message = _("Host name {0} is already in addressbook, unchanged.", hostname);
    287                                                 } else if (oldDest != null && !action.equals(_("Replace"))) {
    288                                                         message = _("Host name {0} is already in addressbook with a different destination. Click \"Replace\" to overwrite.", hostname);
    289                                                 } else {
    290                                                         boolean valid = true;
    291                                                         try {
    292                                                                 Destination dest = new Destination(destination);
    293                                                         } catch (DataFormatException dfe) {
    294                                                                 valid = false;
     284                                                try {
     285                                                        // throws IAE with translated message
     286                                                        String host = AddressBean.toASCII(hostname);
     287                                                        String displayHost = host.equals(hostname) ? hostname :
     288                                                                                                     hostname + " (" + host + ')';
     289
     290                                                        String oldDest = (String) addressbook.get(host);
     291                                                        if (destination.equals(oldDest)) {
     292                                                                message = _("Host name {0} is already in addressbook, unchanged.", displayHost);
     293                                                        } else if (oldDest != null && !action.equals(_("Replace"))) {
     294                                                                message = _("Host name {0} is already in addressbook with a different destination. Click \"Replace\" to overwrite.", displayHost);
     295                                                        } else {
     296                                                                boolean valid = true;
     297                                                                try {
     298                                                                        Destination dest = new Destination(destination);
     299                                                                } catch (DataFormatException dfe) {
     300                                                                        valid = false;
     301                                                                }
     302                                                                if (valid) {
     303                                                                        addressbook.put( host, destination );
     304                                                                        changed = true;
     305                                                                        if (oldDest == null)
     306                                                                                message = _("Destination added for {0}.", displayHost);
     307                                                                        else
     308                                                                                message = _("Destination changed for {0}.", displayHost);
     309                                                                        // clear form
     310                                                                        hostname = null;
     311                                                                        destination = null;
     312                                                                } else {
     313                                                                        message = _("Invalid Base 64 destination.");
     314                                                                }
    295315                                                        }
    296                                                         if (valid) {
    297                                                                 addressbook.put( hostname, destination );
    298                                                                 changed = true;
    299                                                                 if (oldDest == null)
    300                                                                         message = _("Destination added for {0}.", hostname);
    301                                                                 else
    302                                                                         message = _("Destination changed for {0}.", hostname);
    303                                                                 // clear form
    304                                                                 hostname = null;
    305                                                                 destination = null;
    306                                                         } else {
    307                                                                 message = _("Invalid Base 64 destination.");
    308                                                         }
     316                                                } catch (IllegalArgumentException iae) {
     317                                                        message = iae.getMessage();
     318                                                        if (message == null)
     319                                                                message = _("Invalid host name \"{0}\".", hostname);
    309320                                                }
    310321                                        } else {
     
    318329                                        for (String n : deletionMarks) {
    319330                                                addressbook.remove(n);
     331                                                String uni = AddressBean.toUnicode(n);
     332                                                String displayHost = uni.equals(n) ? n :  uni + " (" + n + ')';
    320333                                                if (deleted++ == 0) {
    321334                                                        changed = true;
    322                                                         name = n;
     335                                                        name = displayHost;
    323336                                                }
    324337                                        }
  • apps/susidns/src/jsp/addressbook.jsp

    r9e37a5a r0fcf13e  
    104104<a href="addressbook.jsp?filter=z&amp;begin=0&amp;end=99">z</a>
    105105<a href="addressbook.jsp?filter=0-9&amp;begin=0&amp;end=99">0-9</a>
     106<a href="addressbook.jsp?filter=xn--&amp;begin=0&amp;end=99"><%=intl._("other")%></a>
    106107<a href="addressbook.jsp?filter=none&amp;begin=0&amp;end=99"><%=intl._("all")%></a></p>
    107108<c:if test="${book.hasFilter}">
     
    151152<td class="checkbox"><input type="checkbox" name="checked" value="${addr.name}" title="<%=intl._("Mark for deletion")%>"></td>
    152153</c:if>
    153 <td class="names"><a href="${addr.uri}">${addr.displayName}</a>
     154<td class="names"><a href="http://${addr.name}/">${addr.displayName}</a>
    154155</td><td class="names">
    155156<span class="addrhlpr"><a href="http://${addr.b32}/" title="<%=intl._("Base 32 address")%>">b32</a></span>
    156157</td><td class="names">
    157 <span class="addrhlpr"><a href="details.jsp?h=${addr.query}" title="<%=intl._("More information on this entry")%>"><%=intl._("details")%></a></span>
     158<span class="addrhlpr"><a href="details.jsp?h=${addr.name}" title="<%=intl._("More information on this entry")%>"><%=intl._("details")%></a></span>
    158159</td>
    159160<td class="destinations"><textarea rows="1" style="height: 3em;" cols="40" wrap="off" readonly="readonly" name="dest_${addr.name}" >${addr.destination}</textarea></td>
Note: See TracChangeset for help on using the changeset viewer.