Author: tdraier
Date: Wed Aug  9 17:11:05 2006
New Revision: 14882

URL: https://svndev.jahia.net/websvn/listing.php?sc=1&rev=14882&repname=jahia
Log:
export all files when exporting site

Modified:
    trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java
    
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
    trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java
    trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp

Modified: trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java&rev=14882&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java 
(original)
+++ trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java Wed 
Aug  9 17:11:05 2006
@@ -183,6 +183,10 @@
             resp.setContentType("application/zip");
             params.put(ImportExportService.INCLUDE_FILES, Boolean.TRUE);
             ie.exportZip(object, languageCodes, outputStream, 
processingContext, params);
+        } else if 
("zipallfiles".equals(processingContext.getParameter("exportformat"))) {
+            resp.setContentType("application/zip");
+            params.put(ImportExportService.INCLUDE_ALL_FILES, Boolean.TRUE);
+            ie.exportZip(object, languageCodes, outputStream, 
processingContext, params);
         } else if 
("zipnofiles".equals(processingContext.getParameter("exportformat"))) {
             resp.setContentType("application/zip");
             ie.exportZip(object, languageCodes, outputStream, 
processingContext, params);

Modified: 
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java&rev=14882&repname=jahia
==============================================================================
--- 
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
 (original)
+++ 
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
 Wed Aug  9 17:11:05 2006
@@ -204,6 +204,14 @@
             export(object, l, dw, files, jParams, params);
         }
 
+        if (params != null && 
Boolean.TRUE.equals(params.get(INCLUDE_ALL_FILES))) {
+            files.clear();
+            getAllFiles(new DAVFileAccess(jParams.getSite(), "/shared"),files);
+            getAllFiles(new DAVFileAccess(jParams.getSite(), "/users"),files);
+            getAllFiles(new DAVFileAccess(jParams.getSite(), "/groups"),files);
+            params.put(INCLUDE_FILES, Boolean.TRUE);
+        }
+
         if (params != null && Boolean.TRUE.equals(params.get(INCLUDE_FILES))) {
             DataWriter dw = new DataWriter(new OutputStreamWriter(zout, 
"UTF-8"));
 
@@ -242,6 +250,28 @@
         zout.close();
     }
 
+    private void getAllFiles(DAVFileAccess file, Set files) {
+        if (!file.isCollection()) {
+                       files.add(file);
+               } else {
+            try {
+                List children = file.getChildren();
+                if (children != null && !children.isEmpty()) {
+                    Iterator iterator = children.iterator();
+                    while (iterator.hasNext()) {
+                        DAVFileAccess child = (DAVFileAccess) iterator.next();
+                        // avoid aliases
+                        if (child.getPath().startsWith(file.getPath())) {
+                            getAllFiles(child, files);
+                        }
+                    }
+                }
+            } catch (Exception e) {
+                logger.warn("Cannot get "+file.getPath());
+            }
+        }
+    }
+
     public void export(ContentObject object, String languageCode, 
ContentHandler h, Set files, ProcessingContext jParams, Map params) throws 
JahiaException, SAXException {
         if (params == null) {
             params = new HashMap();

Modified: 
trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java&rev=14882&repname=jahia
==============================================================================
--- 
trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java 
(original)
+++ 
trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java 
Wed Aug  9 17:11:05 2006
@@ -71,6 +71,7 @@
     String TO = "to";
     String LOCK_KEY = "lock";
     String INCLUDE_FILES = "files";
+    String INCLUDE_ALL_FILES = "allfiles";
     String LINK = "link";
     String VIEW_CONTENT = "content";
     String VIEW_VERSION = "version";

Modified: trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp&rev=14882&repname=jahia
==============================================================================
--- trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp 
(original)
+++ trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp Wed Aug 
 9 17:11:05 2006
@@ -68,7 +68,7 @@
                                 <td>
                                     <% if (homeContentPage != null) { %>
                                     <a href='<%=jParams.composeSiteUrl(site) + 
"/engineName/export/" + site.getSiteKey() + ".zip" +
-                                    "?key=" + homeContentPage.getObjectKey()  
+ "&exportformat=zipfiles" %>' alt="<jahia:adminResourceBundle 
resourceName="org.jahia.admin.site.ManageSites.export.label"/>"><jahia:adminResourceBundle
 resourceName="org.jahia.admin.site.ManageSites.export.label"/></a>
+                                    "?key=" + homeContentPage.getObjectKey()  
+ "&exportformat=zipallfiles" %>' alt="<jahia:adminResourceBundle 
resourceName="org.jahia.admin.site.ManageSites.export.label"/>"><jahia:adminResourceBundle
 resourceName="org.jahia.admin.site.ManageSites.export.label"/></a>
                                     <% } %>
                                 </td>
                             </tr>

Reply via email to