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