From e5ff423d0b1b1ff57410c7efeb6ac97f42b07d35 Mon Sep 17 00:00:00 2001 From: ulrich <not disclosed> Date: Sat, 18 Feb 2017 15:13:41 +0000 Subject: [PATCH] Dateiverwaltung ins Menue aufgenommen und Login-Info eingebaut --- web/WEB-INF/web.xml | 4 ++ web/ui/index.html | 3 + src/java/de/uhilger/filecms/api/FileMgr.java | 24 ++++++++++++ web/ui/ui.js | 31 +++++++++++++++ 4 files changed, 61 insertions(+), 1 deletions(-) diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java index b8151d8..31e1ac1 100644 --- a/src/java/de/uhilger/filecms/api/FileMgr.java +++ b/src/java/de/uhilger/filecms/api/FileMgr.java @@ -4,6 +4,10 @@ import de.uhilger.transit.web.RequestKontext; import de.uhilger.transit.web.WebKontext; import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.security.Principal; +import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; @@ -89,6 +93,26 @@ public FileRef saveTextFile(String relPath, String fileName, String contents) { FileRef savedFile = null; + try { + FileRef datenRef = getBase(); + File daten = new File(datenRef.getAbsolutePath()); + Object p = getRequest().getUserPrincipal(); + if(p instanceof Principal) { + File userDir = new File(daten, "www/" + ((Principal) p).getName()); + File saveDir = new File(userDir, relPath); + File targetFile = new File(saveDir, fileName); + if(!targetFile.exists()) { + targetFile.mkdirs(); + targetFile.createNewFile(); + FileWriter w = new FileWriter(targetFile); + w.write(contents); + w.flush(); + w.close(); + } + } + } catch (IOException ex) { + logger.log(Level.SEVERE, null, ex); + } return savedFile; } diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml index 65df464..dc82706 100644 --- a/web/WEB-INF/web.xml +++ b/web/WEB-INF/web.xml @@ -23,4 +23,8 @@ 30 </session-timeout> </session-config> + <welcome-file-list> + <welcome-file>index.jsp</welcome-file> + <welcome-file>index.html</welcome-file> + </welcome-file-list> </web-app> diff --git a/web/ui/index.html b/web/ui/index.html index 02cbd66..9831d98 100644 --- a/web/ui/index.html +++ b/web/ui/index.html @@ -28,7 +28,7 @@ <a class="dropdown-item" href="#">Bearbeiten als Code</a> <a class="dropdown-item" href="#">Bearbeiten als Dokument</a> <div class="dropdown-divider"></div> - <a class="dropdown-item" href="#">Speichern</a> + <a id="saveFile" class="dropdown-item" href="#">Speichern</a> <div class="dropdown-divider"></div> <a id="closeFile" class="dropdown-item" href="#">Schliessen</a> </div> @@ -40,6 +40,7 @@ <div class="dropdown-divider"></div> <a class="dropdown-item" href="/wbx/mng">Apps verwalten</a> <a class="dropdown-item" href="/um/ui">Benutzer verwalten</a> + <a class="dropdown-item disabled" href="/file-cms/ui">Dateien verwalten</a> <div class="dropdown-divider"></div> <a id="logout" class="dropdown-item" href="#">Abmelden</a> </div> diff --git a/web/ui/ui.js b/web/ui/ui.js index 3e80f3c..10cf3fc 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -4,7 +4,9 @@ $('.codeeditor-space').hide(); $('.code-editor-container').hide(); $('#newTextFile').on('click', fm_menu_neue_textdatei); + $('#saveFile').on('click', fm_menu_datei_speichern); $('#closeFile').on('click', fm_menu_datei_schliessen); + fm_get_login(); } function fm_menu_neue_textdatei() { @@ -19,6 +21,31 @@ $('.code-editor-container').hide(); cm.toTextArea(); $('#dateiansicht').show(); +} + +function fm_get_login() { + var m = '?c=de.uhilger.um.pub.SessionManager&m=getSessionUser'; + var u = '../../um/pub' + m; + fm_get(u, function(resp) { + $('#userMenu').text(resp.UserData.firstName); + }); +} + +function fm_menu_datei_speichern() { + // FileRef saveTextFile(String relPath, String fileName, String contents) + + + + /* + var t = new Template(-2, $('#filename').val(), self.cm.getValue(), 3); + var u = '../api/tr/?c=de.uhilger.webbox.api.ContentApi&m=newTemplate'; + self.post(u, {p: self.serialise(t)}, function (resp) { + self.isnew = false; + self.editid = resp.Template.id; + $('#contlist').append(self.buildContListItem(3, resp.Template.name, resp.Template.id)); + $('#templateeditor').addClass('hidden'); + }); + */ } /* ---- codemirror editor handling -------- */ @@ -84,3 +111,7 @@ }); }; +function fm_serialise(obj) { + return '{"' + obj.constructor.name + '":' + JSON.stringify(obj) + '}'; +}; + -- Gitblit v1.9.3