From 978769a05dcebb27cb8056a3dce71ff9670bf034 Mon Sep 17 00:00:00 2001 From: ragnarok <ragnarok> Date: Sun, 9 Oct 2005 20:16:30 +0000 Subject: [PATCH] * Finished syndie address auto-import. If syndie.importAddresses=true in syndie.config, then new addresses will automatically be imported to the router's petname db. If importaddresses=true in a user's config file, then new addresses will automatically be imported to that users pername db, when they're logged in. --- .../java/src/net/i2p/syndie/BlogManager.java | 3 ++- apps/syndie/java/src/net/i2p/syndie/User.java | 7 ++++++- .../net/i2p/syndie/sml/HTMLPreviewRenderer.java | 3 +-- .../java/src/net/i2p/syndie/sml/HTMLRenderer.java | 14 +++++++++++--- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/apps/syndie/java/src/net/i2p/syndie/BlogManager.java b/apps/syndie/java/src/net/i2p/syndie/BlogManager.java index 7e4e18e28a..5593913639 100644 --- a/apps/syndie/java/src/net/i2p/syndie/BlogManager.java +++ b/apps/syndie/java/src/net/i2p/syndie/BlogManager.java @@ -341,7 +341,8 @@ public class BlogManager { public String getDefaultProxyHost() { return _context.getProperty("syndie.defaultProxyHost", ""); } public String getDefaultProxyPort() { return _context.getProperty("syndie.defaultProxyPort", ""); } public int getUpdateDelay() { return Integer.parseInt(_context.getProperty("syndie.updateDelay", "12")); } - public String[] getUpdateArchives() { return _context.getProperty("syndie.updateArchives", "").split(","); } + public String[] getUpdateArchives() { return _context.getProperty("syndie.updateArchives", "").split(","); } + public boolean getImportAddresses() { return _context.getProperty("syndie.importAddresses", "false").equals("true"); } public boolean authorizeAdmin(String pass) { if (isSingleUser()) return true; diff --git a/apps/syndie/java/src/net/i2p/syndie/User.java b/apps/syndie/java/src/net/i2p/syndie/User.java index 3d25413e89..4a71d85871 100644 --- a/apps/syndie/java/src/net/i2p/syndie/User.java +++ b/apps/syndie/java/src/net/i2p/syndie/User.java @@ -40,6 +40,7 @@ public class User { private String _torProxyHost; private int _torProxyPort; private PetNameDB _petnames; + private boolean _importAddresses; static final String PROP_USERHASH = "__userHash"; @@ -70,6 +71,7 @@ public class User { _lastLogin = -1; _lastMetaEntry = 0; _petnames = new PetNameDB(); + _importAddresses = false; } public boolean getAuthenticated() { return _authenticated; } @@ -102,6 +104,7 @@ public class User { public int getTorProxyPort() { return _torProxyPort; } public PetNameDB getPetNameDB() { return _petnames; } + public boolean getImportAddresses() { return _importAddresses; } public void invalidate() { if (_authenticated) @@ -197,6 +200,8 @@ public class User { _eepProxyHost = props.getProperty("eepproxyhost"); _webProxyHost = props.getProperty("webproxyhost"); _torProxyHost = props.getProperty("torproxyhost"); + String importadr = props.getProperty("importaddresses", "false"); + _importAddresses = (importadr != null) && (importadr.equals("true")); } private int getInt(String val) { @@ -218,7 +223,7 @@ public class User { buf.append("showexpanded=" + getShowExpanded() + "\n"); buf.append("defaultselector=" + getDefaultSelector() + "\n"); buf.append("allowaccessremote=" + _allowAccessRemote + "\n"); - + buf.append("importaddresses=" + getImportAddresses() + "\n"); buf.append("groups="); Map groups = getBlogGroups(); for (Iterator iter = groups.keySet().iterator(); iter.hasNext(); ) { diff --git a/apps/syndie/java/src/net/i2p/syndie/sml/HTMLPreviewRenderer.java b/apps/syndie/java/src/net/i2p/syndie/sml/HTMLPreviewRenderer.java index f8052742b7..51085cf087 100644 --- a/apps/syndie/java/src/net/i2p/syndie/sml/HTMLPreviewRenderer.java +++ b/apps/syndie/java/src/net/i2p/syndie/sml/HTMLPreviewRenderer.java @@ -102,7 +102,7 @@ public class HTMLPreviewRenderer extends HTMLRenderer { _postBodyBuffer.append(getSpan("summDetailAddr")).append("Addresses:</span>"); for (int i = 0; i < _addresses.size(); i++) { Address a = (Address)_addresses.get(i); - + importAddress(a); PetName pn = null; if (_user != null) pn = _user.getPetNameDB().getByLocation(a.location); @@ -121,7 +121,6 @@ public class HTMLPreviewRenderer extends HTMLRenderer { _postBodyBuffer.append("protocol=").append(sanitizeTagParam(a.protocol)).append('&'); _postBodyBuffer.append("\">").append(sanitizeString(a.name)).append("</a>"); } - importAddress(a); } _postBodyBuffer.append("<br />\n"); } diff --git a/apps/syndie/java/src/net/i2p/syndie/sml/HTMLRenderer.java b/apps/syndie/java/src/net/i2p/syndie/sml/HTMLRenderer.java index 0909a229a6..667715949b 100644 --- a/apps/syndie/java/src/net/i2p/syndie/sml/HTMLRenderer.java +++ b/apps/syndie/java/src/net/i2p/syndie/sml/HTMLRenderer.java @@ -443,7 +443,16 @@ public class HTMLRenderer extends EventReceiverImpl { } public void importAddress(Address a) { - if (I2PAppContext.getGlobalContext().getProperty("syndie.addressExport", "false").equalsIgnoreCase("true") + if (_user != null && _user.getImportAddresses() && !_user.getPetNameDB().containsName(a.name)) { + PetName pn = new PetName(a.name, a.schema, a.protocol, a.location); + _user.getPetNameDB().add(pn); + try { + _user.getPetNameDB().store(_user.getAddressbookLocation()); + } catch (IOException ioe) { + //ignore + } + } + if (BlogManager.instance().getImportAddresses() && I2PAppContext.getGlobalContext().namingService().lookup(a.name) == null && a.schema.equalsIgnoreCase("i2p")) { PetName pn = new PetName(a.name, a.schema, a.protocol, a.location); @@ -630,7 +639,7 @@ public class HTMLRenderer extends EventReceiverImpl { _postBodyBuffer.append(getSpan("summDetailAddr")).append("Addresses:</span>"); for (int i = 0; i < _addresses.size(); i++) { Address a = (Address)_addresses.get(i); - + importAddress(a); PetName pn = null; if (_user != null) pn = _user.getPetNameDB().getByLocation(a.location); @@ -649,7 +658,6 @@ public class HTMLRenderer extends EventReceiverImpl { _postBodyBuffer.append("protocol=").append(sanitizeTagParam(a.protocol)).append('&'); _postBodyBuffer.append("\">").append(sanitizeString(a.name)).append("</a>"); } - importAddress(a); } _postBodyBuffer.append("<br />\n"); } -- GitLab