From 05cfa795cdedc506c5492417fb699a0bc206f710 Mon Sep 17 00:00:00 2001
From: Ulrich <undisclosed>
Date: Mon, 27 Feb 2017 15:41:34 +0000
Subject: [PATCH] aufgeraeumt

---
 web/ui/ui.js |  135 +++++++++++++++++++++-----------------------
 1 files changed, 65 insertions(+), 70 deletions(-)

diff --git a/web/ui/ui.js b/web/ui/ui.js
index 19e032b..ef2382b 100644
--- a/web/ui/ui.js
+++ b/web/ui/ui.js
@@ -22,6 +22,8 @@
 var openFileName = '';
 var ed;
 var openEditor;
+var userid;
+var tmo;
 
 function fm_init() {
   $("#mce-editor").hide();
@@ -47,39 +49,69 @@
     $('#modal_ok').attr('onclick','').unbind('click');
   });
   $('#logout').click(fm_logout);  
-  fm_get_login(dokEditorInit); // nach Ermittlung der Benutzerkennung wird TinyMCE initialisert
+  fm_get_login();
   fm_get_list('');
   fm_init_uploader();
-  
-  window.onresize = function() {
-    fm_resizeEditor();
-  };
 }
 
-function fm_resizeEditor() {
-  if (ed) {
+function fm_resize_editor() {
+  window.clearTimeout(tmo);
+  tmo = window.setTimeout(function () {
     try {
       var myHeight = $('.zentrum').height() - $('.nord').height() - 4;
       ed.theme.resizeTo('100%', myHeight);  // sets the dimensions of the editable area
     } catch (err) {
     }
+  }, 200);
+}
+
+function fm_get_path(uid) {
+  //console.log('pfad: ' + pfad);
+  var restdir;
+  if(pfad.indexOf('Oeffentlich') > -1) {
+    restdir = pfad.substr('Oeffentlich'.length);
+  } else if(pfad.indexOf('Persoenlicher Ordner') > -1) {
+    restdir = pfad.substr('Persoenlicher Ordner'.length);
+  }
+  if(restdir !== undefined && restdir.startsWith('/')) {
+    restdir = restdir.substr(1);
+  }
+  var pdir = fm_get_base(uid);
+  //console.log('path: ' + pdir + "/" + restdir);
+  if(restdir.length > 1) {
+    return pdir + "/" + restdir;
+  } else {
+    return pdir;
   }
 }
 
-/*
- * Initialisierung von TinyMCE als separate Funktion, damit 
- * die Benutzerkennung nach deren Ermittlung als Teil des 
- * Basisverzeichnisses dienen kann
- * 
- * Pruefen: Kann man das vor jedem Editor-Aufruf machen oder aber 
- * Teile wie z.B. das Basisverzeichnis spaeter wieder aendern?
- * 
- * @param {type} userid  die userid die auf das Basisverzeichnis verweist
- * @returns {undefined}
- */
-function dokEditorInit(userid) {
+function fm_get_base(uid) {
+  //console.log('pfad: ' + pfad);
+  var pdir;
+  if(pfad.indexOf('Oeffentlich') > -1) {
+    pdir = '/data/';
+  } else if(pfad.indexOf('Persoenlicher Ordner') > -1) {
+    pdir = '/home/';
+  }
+  //console.log('base: ' + pdir + uid);
+  return pdir + uid;
+}
+
+function fm_dok_editor_init(uid) {
+  var base = fm_get_path(uid);
+  //console.log("calling tinymce.init with base: " + base + "/");
   
-  var base = "/data/" + userid + "/";
+  /*
+   * vgl.
+   * http://stackoverflow.com/questions/4651676/how-do-i-remove-tinymce-and-then-re-add-it
+   */
+  //tinymce.EditorManager.execCommand('mceRemoveControl',true, 'textarea.text-editor');
+  //tinymce.EditorManager.execCommand('mceAddControl',true, editor_id);
+  if(ed !== undefined) {
+    ed.destroy();
+  }
+  tinymce.remove('textarea.text-editor');
+  tinymce.EditorManager.editors = []; 
   
   /*
    * Konfiguration TinyMCE
@@ -98,15 +130,17 @@
       view: {title: 'View', items: 'visualaid | code | link image media | template hr'},
     },
     */
-    /*resize: 'both',*/
+    resize: 'both',
     width: "100%",
     height: '100%',
-    document_base_url : base,
-    /*autoresize_bottom_margin : 1,*/
+    document_base_url : base + "/",
     setup: function (editor) {
       ed = editor;
     }
   });
+  
+  $(window).on('resize', fm_resize_editor);
+  fm_resize_editor();
 }
 
 /* ----- Uploader Anfang ----------*/
@@ -210,12 +244,6 @@
 }
 
 function fm_menu_neues_dokument() {
-  /*
-  fm_filectls_hide();
-  $("#mce-editor").show();
-  fm_resizeEditor();
-  openEditor = 'dok';
-  */
   fm_dok_edit('');
 }
 
@@ -310,9 +338,9 @@
 
 function fm_dok_edit(content) {
   fm_filectls_hide();
+  fm_dok_editor_init(userid);
   $("#mce-editor").show();
   ed.setContent(content);
-  fm_resizeEditor();
   openEditor = 'dok';  
 }
 
@@ -327,12 +355,13 @@
 }
 /* ----- API Calls ------------- */
 
-function fm_get_login(callback) {
+function fm_get_login() {
   var m = '?c=de.uhilger.filecms.pub.SessionManager&m=getSessionUser';
   var u = '../pub' + m;
   fm_get(u, "text", function(resp) {
+    userid = resp;
     $('#userMenu').text(resp);
-    callback(resp);
+    //fm_dok_editor_init(resp);
   });  
 }
 
@@ -380,7 +409,10 @@
   var userid = $('#userMenu').text();
   var gewaehlte = $('.datei-gewaehlt');
   var fname = $(gewaehlte[0]).text();
-  window.open("/data/" + userid + '/' + fname, '_blank');
+  
+  var path = fm_get_path(userid);
+  
+  window.open(path + '/' + fname, '_blank');
 }
 
 function fm_del_files() {
@@ -522,43 +554,6 @@
     $('#ansicht').click(fm_ansicht_umschalten);
     fm_set_modus();
   });
-}
-
-/*
-function fm_bcr_step2(dirs, dirList) {
-  if(dirs.length > 0) {
-    dirList.push(new BcrFile(rp + '/' + dirs[dirs.length-1], dirs[dirs.length-1]));
-    $.get('tpl-bcr2.txt', function(template) {
-      $('#bcnav').append(Mustache.render(template, dirList[dirList.length-1]));  
-      $('#bcnav').append($('#tpl-bcr3').html());
-      fm_bcr_end();
-    });
-    //template = $('#tpl-bcr2').html();
-    //Mustache.parse(template);   // optional, speeds up future uses
-    //$('#bcnav').append(Mustache.render(template, dirList[dirList.length-1]));        
-  } else {
-    $.get('tpl-bcr2.txt', function(template) {
-      $('#bcnav').append(Mustache.render(template, dirList[0]));
-      $('#bcnav').append($('#tpl-bcr3').html());
-      fm_bcr_end();
-    });
-    //template = $('#tpl-bcr2').html();
-    //Mustache.parse(template);   // optional, speeds up future uses
-    //$('#bcnav').append(Mustache.render(template, dirList[0]));        
-  }  
-}
-*/
-
-function fm_bcr_3() {
-  $.get('tpl-bcr3.txt', function(template) {
-    $('#bcnav').append(template);
-  });  
-}
-
-function fm_bcr_end() {
-  $('.breadcrumb-item').click(fm_bc_click);
-  $('#ansicht').click(fm_ansicht_umschalten);
-  fm_set_modus();
 }
 
 function fm_menu_datei_speichern() {

--
Gitblit v1.9.3