[freenet-cvs] r12529 - trunk/plugins/TranslationHelper

nextgens at freenetproject.org nextgens at freenetproject.org
Mon Apr 2 18:56:12 UTC 2007


Author: nextgens
Date: 2007-04-02 18:56:11 +0000 (Mon, 02 Apr 2007)
New Revision: 12529

Modified:
   trunk/plugins/TranslationHelper/TranslationHelper.java
Log:
TranslationHelper: now translation files will be downloaded to disk.

Modified: trunk/plugins/TranslationHelper/TranslationHelper.java
===================================================================
--- trunk/plugins/TranslationHelper/TranslationHelper.java	2007-04-02 18:54:57 UTC (rev 12528)
+++ trunk/plugins/TranslationHelper/TranslationHelper.java	2007-04-02 18:56:11 UTC (rev 12529)
@@ -16,6 +16,7 @@
 import freenet.pluginmanager.PluginHTTPException;
 import freenet.pluginmanager.PluginRespirator;
 import freenet.support.HTMLNode;
+import freenet.support.MultiValueTable;
 import freenet.support.api.HTTPRequest;
 
 /**
@@ -113,12 +114,16 @@
 			contentRow.addChild("a", "href", PLUGIN_BASE_URL).addChild("#", "Return to the plugin's main page");
 						
 			return pageNode.generate();
+			// It doesn't help: we need to decode unicode characters!
+			//throw new PluginHTTPException(200, "text/html; charset=ISO-8859-1", "Found", pageNode.generate());
 		} else if(request.isParameterSet("getTranlationFile")) {
 			OutputStream os = new ByteArrayOutputStream();
 			try {
 				editedProperties.store(os, "Translation file for "+editedLang);
 			} catch (IOException e) {} // huh ?
-			return os.toString();
+			MultiValueTable headers = new MultiValueTable();
+			headers.put("Content-Disposition", "attachment; filename=\"" + "freenet.l10n."+editedLang+".properties" + '"');
+			throw new PluginHTTPException(200, "Ok", headers, "text/plain", os.toString());
 		}
 		
 		HTMLNode pageNode = pr.getPageMaker().getPageNode(PLUGIN_NAME+" page", false, null);
@@ -151,7 +156,6 @@
 //								"a new one"
 //		);
 
-
 		return pageNode.generate();
 	}
 
@@ -163,10 +167,15 @@
 				editedProperties.setProperty(key, request.getPartAsString(key, 256));
 			}
 			
-			throw new PluginHTTPException(302, "", "Found", PLUGIN_BASE_URL+"?lang="+editedLang);
+			MultiValueTable headers = new MultiValueTable();
+			headers.put("Location", PLUGIN_BASE_URL+"?lang="+editedLang);
+			throw new PluginHTTPException(302, "Found", headers, null, null);
 		}else if(request.isPartSet("reload")) {
 			editedProperties = L10n.loadProperties(editedLang);
-			throw new PluginHTTPException(302, "", "Found", PLUGIN_BASE_URL+"?lang="+editedLang);
+			
+			MultiValueTable headers = new MultiValueTable();
+			headers.put("Location", PLUGIN_BASE_URL+"?lang="+editedLang);
+			throw new PluginHTTPException(302, "Found", headers, null, null);
 		}
 		return null;
 	}




More information about the cvs mailing list