From 3ad4db4a15b4ba59c65e2af797967941f2cb2ba2 Mon Sep 17 00:00:00 2001 From: ulrich <not disclosed> Date: Tue, 21 Feb 2017 13:40:24 +0000 Subject: [PATCH] SessionManager angepasst --- src/java/de/uhilger/filecms/pub/SessionManager.java | 12 ++++++ web/ui/stile.css | 2 src/java/de/uhilger/filecms/api/FileMgr.java | 39 +++++++++++++++++++ web/ui/ui.js | 50 +++++++++++++++---------- 4 files changed, 81 insertions(+), 22 deletions(-) diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java index e79970a..d70f816 100644 --- a/src/java/de/uhilger/filecms/api/FileMgr.java +++ b/src/java/de/uhilger/filecms/api/FileMgr.java @@ -22,8 +22,11 @@ import de.uhilger.filesystem.FileRef; import de.uhilger.filesystem.LocalFileSystem; import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.StringReader; import java.security.Principal; import java.util.ArrayList; import java.util.List; @@ -85,11 +88,45 @@ return new FileRef(targetDir.getAbsolutePath(), true); } + public String getCode(String relPath, String fileName) { + String code = null; + + Object p = getRequest().getUserPrincipal(); + if(p instanceof Principal) { + FileReader reader = null; + try { + File targetFile = new File(getTargetDir(relPath), fileName); + reader = new FileReader(targetFile); + StringBuffer buf = new StringBuffer(); + char[] readBuffer = new char[1024]; + int charsRead = reader.read(readBuffer); + while(charsRead > -1) { + buf.append(readBuffer, 0, charsRead); + charsRead = reader.read(readBuffer); + } + code = buf.toString(); + } catch (FileNotFoundException ex) { + Logger.getLogger(FileMgr.class.getName()).log(Level.SEVERE, null, ex); + } catch (IOException ex) { + Logger.getLogger(FileMgr.class.getName()).log(Level.SEVERE, null, ex); + } finally { + try { + reader.close(); + } catch (IOException ex) { + Logger.getLogger(FileMgr.class.getName()).log(Level.SEVERE, null, ex); + } + } + + } + + return code; + } + public FileRef saveTextFile(String relPath, String fileName, String contents) { FileRef savedFile = null; try { FileRef datenRef = getBase(); - File daten = new File(datenRef.getAbsolutePath()); + //File daten = new File(datenRef.getAbsolutePath()); Object p = getRequest().getUserPrincipal(); if(p instanceof Principal) { File targetFile = new File(getTargetDir(relPath), fileName); diff --git a/src/java/de/uhilger/filecms/pub/SessionManager.java b/src/java/de/uhilger/filecms/pub/SessionManager.java index 97bac3d..0a394cc 100644 --- a/src/java/de/uhilger/filecms/pub/SessionManager.java +++ b/src/java/de/uhilger/filecms/pub/SessionManager.java @@ -21,6 +21,7 @@ package de.uhilger.filecms.pub; import de.uhilger.filecms.api.Api; +import java.security.Principal; import java.util.logging.Logger; /** @@ -35,5 +36,16 @@ return "Die aktuelle Sitzung ist nicht mehr gueltig."; } + public String getSessionUser() { + String id = null; + Object p = getRequest().getUserPrincipal(); + if(p instanceof Principal) { + id = ((Principal) p).getName(); + logger.finer("User-ID: " + id); + } else { + logger.finer("getUserPrincipal returned null or no Principal"); + } + return id; + } } diff --git a/web/ui/stile.css b/web/ui/stile.css index f081f74..45a42ec 100644 --- a/web/ui/stile.css +++ b/web/ui/stile.css @@ -78,5 +78,5 @@ } .datei-gewaehlt { - color: gold; + color: darkslateblue; } \ No newline at end of file diff --git a/web/ui/ui.js b/web/ui/ui.js index 4895b59..f4dcedf 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -6,7 +6,7 @@ $('.code-editor-container').hide(); $('#newTextFile').on('click', fm_menu_neue_textdatei); $('#newFolder').on('click', fm_menu_neuer_ordner); - $('#editTextFile').on('click', fm_menu_textdatei_bearbeiten); + $('#editTextFile').on('click', fm_get_file_content); $('#saveFile').on('click', fm_menu_datei_speichern); $('#closeFile').on('click', fm_menu_datei_schliessen); $('#saveModal').on('hidden.bs.modal', function (e) { @@ -18,20 +18,13 @@ } function fm_menu_neue_textdatei() { - $('#dateiansicht').hide(); - $('.codeeditor-space').show(); - $('.code-editor-container').show(); - fm_code_edit('Test'); -} - -function fm_menu_textdatei_bearbeiten() { /* $('#dateiansicht').hide(); $('.codeeditor-space').show(); $('.code-editor-container').show(); fm_code_edit('Test'); */ - fm_get_file_content(); + fm_text_edit('Test'); } function fm_menu_datei_schliessen() { @@ -80,13 +73,20 @@ //console.log($(elem).text() + ' ' + $(elem).attr('rpath') + ' ' + $(elem).hasClass('active')); } +function fm_text_edit(content) { + $('#dateiansicht').hide(); + $('.codeeditor-space').show(); + $('.code-editor-container').show(); + fm_code_edit(content); +} + /* ----- API Calls ------------- */ function fm_get_login() { - var m = '?c=de.uhilger.um.pub.SessionManager&m=getSessionUser'; - var u = '../../um/pub' + m; - fm_get(u, "json", function(resp) { - $('#userMenu').text(resp.UserData.firstName); + var m = '?c=de.uhilger.filecms.pub.SessionManager&m=getSessionUser'; + var u = '../pub' + m; + fm_get(u, "text", function(resp) { + $('#userMenu').text(resp); }); } @@ -123,14 +123,18 @@ //console.log(pfad + '/' + fname); - - /* - var m = '?c=de.uhilger.filecms.api.FileMgr&m=list&p=' + relPath; + var m = '?c=de.uhilger.filecms.api.FileMgr&m=getCode&p=' + pfad + '&p=' + fname; var u = '../svc' + m; - fm_get(u, "json", function(resp) { - + fm_get(u, "text", function(resp) { + /* + $('#dateiansicht').hide(); + $('.codeeditor-space').show(); + $('.code-editor-container').show(); + fm_code_edit(resp); + */ + fm_text_edit(resp); }); - */ + } // http://localhost:8079/file-cms/svc?c=de.uhilger.filecms.api.FileMgr&f=JSONNICE&m=list&p= @@ -220,7 +224,13 @@ }); $('.modal-title').text('Datei speichern'); $('#dialogfrage').text("Dateiname?"); - $('#dateiname').val(''); + + var fname = $('.datei-gewaehlt').text(); + if(fname !== undefined) { + $('#dateiname').val(fname); + } else { + $('#dateiname').val(''); + } $('#dateiname').attr('placeholder', 'Dateiname'); $('#saveModal').modal({ keyboard: false, -- Gitblit v1.9.3