Add warning if a project is larger than 2 MiBs.
authorDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Fri, 13 Jul 2012 09:25:13 +0000 (11:25 +0200)
committerDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Fri, 13 Jul 2012 09:25:13 +0000 (11:25 +0200)
src/de/todesbaum/jsite/application/ProjectInserter.java
src/de/todesbaum/jsite/i18n/jSite.properties
src/de/todesbaum/jsite/i18n/jSite_de.properties

index 3a49c49..eb5abda 100644 (file)
@@ -392,6 +392,7 @@ public class ProjectInserter implements FileScannerListener, Runnable {
                        checkReport.addIssue("error.no-files-to-insert", true);
                }
                Set<String> fileNames = new HashSet<String>();
+               long totalSize = 0;
                for (Entry<String, FileOption> fileOptionEntry : fileOptionEntries) {
                        FileOption fileOption = fileOptionEntry.getValue();
                        if (!fileOption.isInsert() && !fileOption.isInsertRedirect()) {
@@ -406,6 +407,12 @@ public class ProjectInserter implements FileScannerListener, Runnable {
                        if (!fileNames.add(fileName)) {
                                checkReport.addIssue("error.duplicate-file", true, fileName);
                        }
+                       if (fileOption.isInsert()) {
+                               totalSize += new File(project.getLocalPath(), fileName).length();
+                       }
+               }
+               if (totalSize > 2 * 1024 * 1024) {
+                       checkReport.addIssue("warning.site-larger-than-2-mib", false);
                }
                return checkReport;
        }
index 9e93e5d..cd80c67 100644 (file)
@@ -183,6 +183,7 @@ jsite.key-dialog.label.actions=<html><b>Actions</b></html>
 
 jsite.warning.empty-index=<html><b>No default file</b><br><br>You did not specify a default file for this project.<br>While it is possible to insert a project without a default<br>file you should specify one to ease browsing.</html>
 jsite.warning.index-not-html=<html><b>Default file is not HTML</b><br><br>Your default file does not have the MIME type "text/html"!<br>Loading your Freesite in a browser may give unexpected results.</html>
+jsite.warning.site-larger-than-2-mib=<html><b>Site is larger than 2 MiB!</b><br><br>Your site contains more than 2 megabytes of data.<br>Due to bugs in Freenet it will probably not load correctly.<br>Try to reduce the size of your site, or continue at your own peril.</html>
 
 jsite.error.no-node-selected=<html><b>No node selected</b><br><br>Please select a node from the menu!</html>
 jsite.error.no-node-running=<html><b>Node is not running</b><br><br>You can not insert a project if your node is not running.<br>Please start your node and try again.</html>
index d6441ca..8641d14 100644 (file)
@@ -183,6 +183,7 @@ jsite.key-dialog.label.actions=<html><b>Aktionen</b></html>
 
 jsite.warning.empty-index=<html><b>Keine Index-Datei gew\u00e4hlt</b><br><br>Sie haben keine Index-Datei f\u00fcr das Projekt angegeben.<br>Obwohl es m\u00f6glich ist, das zu machen, sollten Sie doch<br>eine Index-Datei angeben, um das Browsen zu erleichtern.</html>
 jsite.warning.index-not-html=<html><b>Index-Datei ist kein HTML</b><br><br>Ihre Index-Datei hat nicht den MIME-Typ "text/html"!<br>Das kann beim Besuch Ihrer Freesite zu<br>unerwarteten Ergebnissen f\u00fchren.</html>
+jsite.warning.site-larger-than-2-mib=<html><b>Ihr Projekt ist gr\u00f6\u00dfer als 2 Megabyte!</b><br><br>Ihr Projekt enth\u00e4lt mehr als 2 Megabyte an Daten. Aufgrund<br>eines Fehlers in Freenet wird die Seite wahrscheinlich nicht<br>korrekt angezeigt werden. Bitte reduzieren Sie die Gr\u00f6\u00dfe<br>Ihres Projektes, oder fahren Sie auf eigene Gefahr fort.</html>
 
 jsite.error.no-node-selected=<html><b>Kein Node ausgew\u00e4hlt</b><br><br>Bitte w\u00e4hlen Sie einen Node aus dem Men\u00fc!</html>
 jsite.error.no-node-running=<html><b>Der Node l\u00e4uft nicht</b><br><br>Sie k\u00f6nnen das Projekt nicht einf\u00fcgen, wenn<br>Ihr Node nicht l\u00e4uft. Bitte starten Sie Ihren Node<br>und probieren Sie es erneut.</html>