Changeset 7713284


Ignore:
Timestamp:
Jun 1, 2018 12:25:08 PM (2 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
363aaadb
Parents:
cee45e3
Message:

SusiDNS: Fix deleting notes (ticket #1433)
Hide advanced fields in published entries

Location:
apps/susidns/src
Files:
2 edited

Legend:

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

    rcee45e3 r7713284  
    367367                if (action == null || !action.equals(_t("Save Notes")) ||
    368368                    destination == null || detail == null || isDirect() ||
    369                     notes == null ||
    370369                    serial == null || !serial.equals(lastSerial))
    371370                        return;
     
    380379                                continue;
    381380                        Properties props = propsList.get(i);
    382                         byte[] nbytes = DataHelper.getUTF8(notes);
    383                         if (nbytes.length > 255) {
    384                                 // violently truncate, possibly splitting a char
    385                                 byte[] newbytes = new byte[255];
    386                                 System.arraycopy(nbytes, 0, newbytes, 0, 255);
    387                                 notes = DataHelper.getUTF8(newbytes);
    388                                 // drop replacement char or split pair
    389                                 int last = notes.length() - 1;
    390                                 char lastc = notes.charAt(last);
    391                                 if (lastc == (char) 0xfffd || Character.isHighSurrogate(lastc))
    392                                         notes = notes.substring(0, last);
    393                         }
    394                         props.setProperty("notes", notes);
     381                        if (notes != null && notes.length() > 0) {
     382                                byte[] nbytes = DataHelper.getUTF8(notes);
     383                                if (nbytes.length > 255) {
     384                                        // violently truncate, possibly splitting a char
     385                                        byte[] newbytes = new byte[255];
     386                                        System.arraycopy(nbytes, 0, newbytes, 0, 255);
     387                                        notes = DataHelper.getUTF8(newbytes);
     388                                        // drop replacement char or split pair
     389                                        int last = notes.length() - 1;
     390                                        char lastc = notes.charAt(last);
     391                                        if (lastc == (char) 0xfffd || Character.isHighSurrogate(lastc))
     392                                                notes = notes.substring(0, last);
     393                                }
     394                                props.setProperty("notes", notes);
     395                        } else {
     396                                // not working
     397                                //props.remove("notes");
     398                                props.setProperty("notes", "");
     399                        }
    395400                        props.setProperty("list", getFileName());
    396401                        String now = Long.toString(_context.clock().now());
  • apps/susidns/src/jsp/details.jsp

    rcee45e3 r7713284  
    8484            // use one nonce for all
    8585            String nonce = book.getSerial();
     86            boolean showNotes = !book.getBook().equals("published");
    8687            for (i2p.susi.dns.AddressBean addr : addrs) {
    8788                String b32 = addr.getB32();
    8889%>
    8990<jsp:setProperty name="book" property="trClass" value="0" />
     91<% if (showNotes) { %>
    9092<form method="POST" action="details">
    9193<input type="hidden" name="book" value="${book.book}">
     
    9395<input type="hidden" name="h" value="<%=detail%>">
    9496<input type="hidden" name="destination" value="<%=addr.getDestination()%>">
     97<% }  // showNotes  %>
    9598<table class="book" id="host_details" cellspacing="0" cellpadding="5">
    9699<tr class="list${book.trClass}">
     
    133136</tr>
    134137<tr class="list${book.trClass}">
     138<td><%=intl._t("Validated")%></td>
     139<td><%=addr.isValidated() ? intl._t("yes") : intl._t("no")%></td>
     140</tr>
     141<% if (showNotes) { %>
     142<tr class="list${book.trClass}">
     143<td><%=intl._t("Source")%></td>
     144<td><%=addr.getSource()%></td>
     145</tr>
     146<tr class="list${book.trClass}">
    135147<td><%=intl._t("Added Date")%></td>
    136148<td><%=addr.getAdded()%></td>
    137149</tr>
    138150<tr class="list${book.trClass}">
    139 <td><%=intl._t("Validated")%></td>
    140 <td><%=addr.isValidated() ? intl._t("yes") : intl._t("no")%></td>
    141 </tr>
    142 <tr class="list${book.trClass}">
    143 <td><%=intl._t("Source")%></td>
    144 <td><%=addr.getSource()%></td>
    145 </tr>
    146 <tr class="list${book.trClass}">
    147151<td><%=intl._t("Last Modified")%></td>
    148152<td><%=addr.getModded()%></td>
    149153</tr>
     154<% }  // showNotes  %>
    150155<tr class="list${book.trClass}">
    151156<td><%=intl._t("Destination")%></td>
    152157<td class="destinations"><div class="destaddress" tabindex="0"><%=addr.getDestination()%></div></td>
    153158</tr>
     159<% if (showNotes) { %>
    154160<tr class="list${book.trClass}">
    155161<td><%=intl._t("Notes")%><br>
     
    157163<td><textarea name="nofilter_notes" rows="3" style="height:6em" wrap="off" cols="70"><%=addr.getNotes()%></textarea></td>
    158164</tr>
     165<% }  // showNotes  %>
    159166</table>
     167<% if (showNotes) { %>
    160168</form>
     169<% }  // showNotes  %>
    161170<div id="buttons">
    162171<form method="POST" action="addressbook">
Note: See TracChangeset for help on using the changeset viewer.