From 968b07dace8f64519eaf2455729d87b66678d958 Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Sat, 03 Mar 2018 17:57:21 +0000 Subject: [PATCH] Ordner dav als Austausch-Ort hinzugefuegt --- web/META-INF/daten/dav/WEB-INF/web.xml | 44 ++++++++++++++++++++++ src/java/de/uhilger/filecms/web/Initialiser.java | 7 ++- web/ui/index.html | 2 src/java/de/uhilger/filecms/api/FileMgr.java | 4 + web/ui/ui.js | 4 +- src/java/de/uhilger/filecms/api/Api.java | 8 ++++ 6 files changed, 63 insertions(+), 6 deletions(-) diff --git a/src/java/de/uhilger/filecms/api/Api.java b/src/java/de/uhilger/filecms/api/Api.java index 507c2ae..b26537e 100644 --- a/src/java/de/uhilger/filecms/api/Api.java +++ b/src/java/de/uhilger/filecms/api/Api.java @@ -46,13 +46,18 @@ public static final String WBX_DATA_PATH = "daten/"; public static final String PUB_DIR_PATH = "www/"; public static final String HOME_DIR_PATH = "home/"; + public static final String DAV_DIR_PATH = "dav/"; + public static final String PUB_DIR_NAME = "Oeffentlich"; //public static final String HOME_DIR_NAME = "Persoenlicher Ordner"; public static final String HOME_DIR_NAME = "Persoenlich"; + public static final String DAV_DIR_NAME = "Austausch"; + public static final String WBX_ADMIN_ROLE = "wbxAdmin"; public static final String WBX_BASE = "$basis"; public static final String WBX_DATA = "$daten"; + public static final String DAV_DATA = "$dav"; /** * Einen relativen Pfad in einen absoluten Pfad der WebBox @@ -78,6 +83,9 @@ } else if(relPath.startsWith(HOME_DIR_NAME)) { targetPath = HOME_DIR_PATH + getUserName() + relPath.substring(HOME_DIR_NAME.length()); targetDir = new File(getBase().getAbsolutePath(), targetPath); + } else if(relPath.startsWith(DAV_DIR_NAME)) { + targetPath = DAV_DIR_PATH + /* getUserName() +*/ relPath.substring(DAV_DIR_NAME.length()); + targetDir = new File(getBase().getAbsolutePath(), targetPath); } else if(getRequest().isUserInRole(WBX_ADMIN_ROLE)) { logger.fine("in admin role"); if(relPath.startsWith(WBX_BASE)) { diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java index 48d67b5..7995ba0 100644 --- a/src/java/de/uhilger/filecms/api/FileMgr.java +++ b/src/java/de/uhilger/filecms/api/FileMgr.java @@ -21,7 +21,6 @@ import de.uhilger.filecms.data.Bild; import de.uhilger.filecms.data.FileRef; import de.uhilger.filecms.pub.AbstractComparator; -import de.uhilger.filecms.pub.FileDateComparator; import de.uhilger.filecms.pub.FileNameComparator; import java.awt.Container; import java.awt.Image; @@ -99,9 +98,12 @@ logger.finer(namedPublicFolder.getAbsolutePath()); FileRef namedHomeFolder = new FileRef(HOME_DIR_NAME, true); logger.finer(namedHomeFolder.getAbsolutePath()); + FileRef namedDavFolder = new FileRef(DAV_DIR_NAME, true); + logger.finer(namedDavFolder.getAbsolutePath()); files = new ArrayList(); files.add(namedHomeFolder); files.add(namedPublicFolder); + files.add(namedDavFolder); if(getRequest().isUserInRole(WBX_ADMIN_ROLE)) { FileRef namedBaseFolder = new FileRef(WBX_BASE, true); FileRef namedDataFolder = new FileRef(WBX_DATA, true); diff --git a/src/java/de/uhilger/filecms/web/Initialiser.java b/src/java/de/uhilger/filecms/web/Initialiser.java index f6ced07..cda0ec7 100644 --- a/src/java/de/uhilger/filecms/web/Initialiser.java +++ b/src/java/de/uhilger/filecms/web/Initialiser.java @@ -111,10 +111,13 @@ if(!dataDir.exists()) { String srcPath = ctx.getRealPath("/"); // file-cms in webapps File srcDir = new File(srcPath, "/META-INF/daten/www"); + dataDir = new File(targetDirName); try { - FileUtils.copyDirectoryToDirectory(srcDir, new File(targetDirName)); + FileUtils.copyDirectoryToDirectory(srcDir, dataDir); srcDir = new File(srcPath, "/META-INF/daten/home"); - FileUtils.copyDirectoryToDirectory(srcDir, new File(targetDirName)); + FileUtils.copyDirectoryToDirectory(srcDir, dataDir); + srcDir = new File(srcPath, "/META-INF/daten/dav"); + FileUtils.copyDirectoryToDirectory(srcDir, dataDir); } catch (IOException ex) { logger.log(Level.SEVERE, null, ex); } diff --git a/web/META-INF/daten/dav/WEB-INF/web.xml b/web/META-INF/daten/dav/WEB-INF/web.xml new file mode 100644 index 0000000..cc4549e --- /dev/null +++ b/web/META-INF/daten/dav/WEB-INF/web.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> + <description>WebDav-Verzeichnis der WebBox</description> + <display-name>dav</display-name> + <servlet> + <servlet-name>webdav</servlet-name> + <servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class> + <init-param> + <param-name>debug</param-name> + <param-value>0</param-value> + </init-param> + <init-param> + <param-name>listings</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>readonly</param-name> + <param-value>false</param-value> + </init-param> + </servlet> + <servlet-mapping> + <servlet-name>webdav</servlet-name> + <url-pattern>/*</url-pattern> + </servlet-mapping> + <security-constraint> + <display-name>davConstraint</display-name> + <web-resource-collection> + <web-resource-name>dav</web-resource-name> + <description/> + <url-pattern>/*</url-pattern> + </web-resource-collection> + <auth-constraint> + <description>davNutzerConstraint</description> + <role-name>davNutzer</role-name> + </auth-constraint> + </security-constraint> + <login-config> + <auth-method>BASIC</auth-method> + </login-config> + <security-role> + <description/> + <role-name>davNutzer</role-name> + </security-role> +</web-app> diff --git a/web/ui/index.html b/web/ui/index.html index 237f3d9..c9dec27 100644 --- a/web/ui/index.html +++ b/web/ui/index.html @@ -127,7 +127,7 @@ <a class="dropdown-item disabled" href="/file-cms/ui">Dateien verwalten</a> <a class="dropdown-item" href="/wbx-dbcon/ui">Datenbanken verwalten</a> <div class="dropdown-divider"></div> - <a id="m-toggle-slideshow" class="dropdown-item" href="#">Diashow nicht zeigen</a> + <a id="m-toggle-slideshow" class="dropdown-item" href="#">Diashow einschalten</a> <a id="m-test" class="dropdown-item" href="#">Test</a> <a id="m-test-2" class="dropdown-item" href="#">Compile</a> <a id="m-test-3" class="dropdown-item" href="#">Compile all</a> diff --git a/web/ui/ui.js b/web/ui/ui.js index ca6a3f8..855adeb 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -90,10 +90,10 @@ function fm_toggle_show_slideshow() { if(fm_slideshow) { - $('#m-toggle-slideshow').text('Diashow nicht zeigen'); + $('#m-toggle-slideshow').text('Diashow einschalten'); fm_slideshow = false; } else { - $('#m-toggle-slideshow').text('Diashow zeigen'); + $('#m-toggle-slideshow').text('Diashow ausschalten'); fm_slideshow = true; } } -- Gitblit v1.9.3