Author: j16sdiz
Date: 2009-04-21 12:45:14 +0000 (Tue, 21 Apr 2009)
New Revision: 27152

Modified:
   trunk/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java
   trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
Log:
Disallow bookmark with / (bug 3018)

Modified: trunk/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java   
2009-04-21 12:01:18 UTC (rev 27151)
+++ trunk/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java   
2009-04-21 12:45:14 UTC (rev 27152)
@@ -329,7 +329,7 @@
 
                                } else if("addItem".equals(action) || 
"addCat".equals(action)) {
 
-                                       Bookmark newBookmark;
+                                       Bookmark newBookmark = null;
                                        if("addItem".equals(action)) {
                                                FreenetURI key = new 
FreenetURI(req.getPartAsString("key", MAX_KEY_LENGTH));
                                                /* TODO:
@@ -339,13 +339,24 @@
                                                 * - values as "on", "true", 
"yes" should be accepted.
                                                 */
                                                boolean hasAnActivelink = 
req.isPartSet("hasAnActivelink");
-                                               newBookmark = new 
BookmarkItem(key, name, req.getPartAsString("descB", MAX_KEY_LENGTH), 
hasAnActivelink, core.alerts);
+                                               if (name.contains("/")) {
+                                                       HTMLNode errorBox = 
content.addChild(pageMaker.getInfobox("infobox-error", 
L10n.getString("BookmarkEditorToadlet.invalidNameTitle")));
+                                                       
pageMaker.getContentNode(errorBox).addChild("#", 
L10n.getString("BookmarkEditorToadlet.invalidName"));
+                                               } else
+                                                       newBookmark = new 
BookmarkItem(key, name, req.getPartAsString("descB", MAX_KEY_LENGTH), 
hasAnActivelink, core.alerts);
                                        } else
-                                               newBookmark = new 
BookmarkCategory(name);
-                                       
bookmarkManager.addBookmark(bookmarkPath, newBookmark);
-                                       bookmarkManager.storeBookmarks();
-                                       HTMLNode successBox = 
content.addChild(pageMaker.getInfobox("infobox-success", 
L10n.getString("BookmarkEditorToadlet.addedNewBookmarkTitle")));
-                                       
pageMaker.getContentNode(successBox).addChild("p", 
L10n.getString("BookmarkEditorToadlet.addedNewBookmark"));
+                                               if (name.contains("/")) {
+                                                       HTMLNode errorBox = 
content.addChild(pageMaker.getInfobox("infobox-error", 
L10n.getString("BookmarkEditorToadlet.invalidNameTitle")));
+                                                       
pageMaker.getContentNode(errorBox).addChild("#", 
L10n.getString("BookmarkEditorToadlet.invalidName"));
+                                               } else
+                                                       newBookmark = new 
BookmarkCategory(name);
+                                       
+                                       if (newBookmark != null) {
+                                               
bookmarkManager.addBookmark(bookmarkPath, newBookmark);
+                                               
bookmarkManager.storeBookmarks();
+                                               HTMLNode successBox = 
content.addChild(pageMaker.getInfobox("infobox-success", 
L10n.getString("BookmarkEditorToadlet.addedNewBookmarkTitle")));
+                                               
pageMaker.getContentNode(successBox).addChild("p", 
L10n.getString("BookmarkEditorToadlet.addedNewBookmark"));
+                                       }
                                }
                        }
                } catch(MalformedURLException mue) {

Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2009-04-21 
12:01:18 UTC (rev 27151)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2009-04-21 
12:45:14 UTC (rev 27152)
@@ -40,6 +40,8 @@
 BookmarkEditorToadlet.invalidKeyTitle=Invalid Key
 BookmarkEditorToadlet.invalidKeyWithReason=Invalid Freenet key.
 BookmarkEditorToadlet.invalidKey=The Freenet key is invalid.
+BookmarkEditorToadlet.invalidNameTitle=Invalid Name
+BookmarkEditorToadlet.invalidName=The bookmark name is invalid.
 BookmarkEditorToadlet.keyLabel=Key:
 BookmarkEditorToadlet.moveDown=Down
 BookmarkEditorToadlet.moveUp=Up

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to