Index: lams_central/src/java/org/lamsfoundation/lams/web/LAMSConnectorServlet.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rde545461c82d2d5629c7cbc72f4fa798db1b6510 --- lams_central/src/java/org/lamsfoundation/lams/web/LAMSConnectorServlet.java (.../LAMSConnectorServlet.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_central/src/java/org/lamsfoundation/lams/web/LAMSConnectorServlet.java (.../LAMSConnectorServlet.java) (revision de545461c82d2d5629c7cbc72f4fa798db1b6510) @@ -63,6 +63,12 @@ *
  • FileUpload: Send a new file to the server (must be sent with a POST) * * + * This servlet has been modified for LAMS to support the lams_www/secure/[design folder] format. The design folder is + * a folder with a unique numeric name. Whenever a new design is created (using "New" in the client), a new design + * folder name is assigned. The [design folder] is passed in as DesignFolder and the CurrentFolder is the folder within + * the DesignFolder (but not the type folder). This support the multi-level folders that are available in the File browser + * but is different to the LAMSUploadServlet. + * * @author Simone Chiaretta (simo@users.sourceforge.net) * @author Mitchell Seaton * @@ -124,24 +130,18 @@ String commandStr=request.getParameter("Command"); String typeStr=request.getParameter("Type"); String currentFolderStr=request.getParameter("CurrentFolder"); + String designFolder=request.getParameter("DesignFolder"); // create content directory if non-existant - String currentDirPath=realBaseDir + currentFolderStr; + String currentDirPath=realBaseDir + designFolder + typeStr +"/" + currentFolderStr; String validCurrentDirPath = currentDirPath.replace('/', File.separatorChar); - String currentWebPath= lamsContextPath + AuthoringConstants.LAMS_WWW_FOLDER + FileUtil.LAMS_WWW_SECURE_DIR + currentFolderStr + typeStr + "/"; + String currentWebPath= lamsContextPath + AuthoringConstants.LAMS_WWW_FOLDER + FileUtil.LAMS_WWW_SECURE_DIR + + designFolder + typeStr +"/" + currentFolderStr; - File currentContentDir=new File(validCurrentDirPath); - if(!currentContentDir.exists()){ - currentContentDir.mkdir(); - } - - // create content type directory if non-existant - validCurrentDirPath += typeStr; - File currentDir=new File(validCurrentDirPath); if(!currentDir.exists()){ - currentDir.mkdir(); + currentDir.mkdirs(); } Document document=null; @@ -235,8 +235,9 @@ String commandStr=request.getParameter("Command"); String typeStr=request.getParameter("Type"); String currentFolderStr=request.getParameter("CurrentFolder"); + String designFolder=request.getParameter("DesignFolder"); - String currentDirPath=realBaseDir + currentFolderStr + typeStr; + String currentDirPath=realBaseDir + designFolder + typeStr +"/" + currentFolderStr; String validCurrentDirPath = currentDirPath.replace("/", File.separator); if (debug) System.out.println(currentDirPath); Index: lams_central/src/java/org/lamsfoundation/lams/web/LAMSUploadServlet.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rde545461c82d2d5629c7cbc72f4fa798db1b6510 --- lams_central/src/java/org/lamsfoundation/lams/web/LAMSUploadServlet.java (.../LAMSUploadServlet.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_central/src/java/org/lamsfoundation/lams/web/LAMSUploadServlet.java (.../LAMSUploadServlet.java) (revision de545461c82d2d5629c7cbc72f4fa798db1b6510) @@ -33,18 +33,17 @@ import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.FileUtil; - -import javax.xml.parsers.*; -import org.w3c.dom.*; -import javax.xml.transform.*; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - /** * Servlet to upload files.
    * * This servlet accepts just file uploads, eventually with a parameter specifying file type * + * This servlet has been modified for LAMS to support the lams_www/secure/[design folder] format. The design folder is + * a folder with a unique numeric name. Whenever a new design is created (using "New" in the client), a new design + * folder name is assigned. The [design folder] is passed in as the CurrentFolder. This servlet supports the image and link + * windows, not the browse window. + * + * * @author Simone Chiaretta (simo@users.sourceforge.net) * @author Mitchell Seaton * Index: lams_central/web/fckeditor/editor/filemanager/browser/default/browser.html =================================================================== diff -u -rf31e72d8424dde00e37a5f44e5d123237d9314d9 -rde545461c82d2d5629c7cbc72f4fa798db1b6510 --- lams_central/web/fckeditor/editor/filemanager/browser/default/browser.html (.../browser.html) (revision f31e72d8424dde00e37a5f44e5d123237d9314d9) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/browser.html (.../browser.html) (revision de545461c82d2d5629c7cbc72f4fa798db1b6510) @@ -40,7 +40,8 @@ } var oConnector = new Object() ; -oConnector.CurrentFolder = GetUrlParam( 'CurrentFolder' ) ; +oConnector.CurrentFolder = '/'; +oConnector.DesignFolder = GetUrlParam( 'CurrentFolder' ); var sConnUrl = GetUrlParam( 'Connector' ) ; @@ -64,8 +65,9 @@ { var sUrl = this.ConnectorUrl + 'Command=' + command ; sUrl += '&Type=' + this.ResourceType ; - sUrl += '&CurrentFolder=' + encodeURIComponent( GetUrlParam( 'CurrentFolder' ) ) ; - + sUrl += '&CurrentFolder=' + encodeURIComponent( oConnector.CurrentFolder ) ; + sUrl += '&DesignFolder=' + encodeURIComponent( oConnector.DesignFolder ); + if ( params ) sUrl += '&' + params ; // Add a random salt to avoid getting a cached version of the command execution Index: lams_central/web/fckeditor/editor/filemanager/browser/default/frmfolders.html =================================================================== diff -u -r5f4a3fa1a4c16c3ff1b31fc7595ce720ab9b97bc -rde545461c82d2d5629c7cbc72f4fa798db1b6510 --- lams_central/web/fckeditor/editor/filemanager/browser/default/frmfolders.html (.../frmfolders.html) (revision 5f4a3fa1a4c16c3ff1b31fc7595ce720ab9b97bc) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/frmfolders.html (.../frmfolders.html) (revision de545461c82d2d5629c7cbc72f4fa798db1b6510) @@ -180,8 +180,8 @@ window.onload = function() { - oListManager.Init() ; - LoadFolders( '/' ) ; + oListManager.Init() ; + LoadFolders( parent.oConnector.CurrentFolder ) ; } Index: lams_central/web/fckeditor/editor/filemanager/browser/default/frmupload.html =================================================================== diff -u -r5f4a3fa1a4c16c3ff1b31fc7595ce720ab9b97bc -rde545461c82d2d5629c7cbc72f4fa798db1b6510 --- lams_central/web/fckeditor/editor/filemanager/browser/default/frmupload.html (.../frmupload.html) (revision 5f4a3fa1a4c16c3ff1b31fc7595ce720ab9b97bc) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/frmupload.html (.../frmupload.html) (revision de545461c82d2d5629c7cbc72f4fa798db1b6510) @@ -33,7 +33,8 @@ var sUrl = oConnector.ConnectorUrl + 'Command=FileUpload' ; sUrl += '&Type=' + resourceType ; sUrl += '&CurrentFolder=' + encodeURIComponent( folderPath ) ; - + sUrl += '&DesignFolder=' + oConnector.DesignFolder ; + document.getElementById('frmUpload').action = sUrl ; }