Dateiverwaltung für die WebBox
ulrich
2017-02-21 3ad4db4a15b4ba59c65e2af797967941f2cb2ba2
SessionManager angepasst
4 files modified
103 ■■■■ changed files
src/java/de/uhilger/filecms/api/FileMgr.java 39 ●●●●● patch | view | raw | blame | history
src/java/de/uhilger/filecms/pub/SessionManager.java 12 ●●●●● patch | view | raw | blame | history
web/ui/stile.css 2 ●●● patch | view | raw | blame | history
web/ui/ui.js 50 ●●●●● patch | view | raw | blame | history
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);
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;
  }
  
}
web/ui/stile.css
@@ -78,5 +78,5 @@
}
.datei-gewaehlt {
  color: gold;
  color: darkslateblue;
}
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,