Ein hübscher Web-Editor für die DS

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Die folgende Anleitung zeigt, wie man einen Web-Editor in den Disk Station Manager als 3rd-party-application einbaut.

Achtung: Wie immer erfolgen alle Änderungen mit telnet-Aufruf auf der DS und auf eigene Kappe.

Voraussetzung: Die Option HTTPS-Verbindung ist aktiv, d. h. auf den Web Station Manager wird mit https://xxx:5001 zugegriffen.

(1) Download des EditArea-Editor von Chistophe Dolivet; entzippen unter Windows und auf die DS kopieren (z.B. /volume1/tmp). Warum diesen Editor? Chistophe hat den tinyMCE-Editor zu einem guten Source-Editor umgebaut.

(2) Ein Verzeichnis anlegen: /usr/syno/synoman/phpsrc/editor und sich in das neue Verzeichnis stellen.

(3) Die Dateien unterhalb des EditArea-Verzeichnisses nun hierhin verschieben, z. B. so: mv /volume1/tmp/edit*/*.

(4) Ein ls müsste dann ungefähr folgendes zeigen:

change_log.txt license_apache.txt docs
exemple_full.html license_lgpl.txt edit_area
exemples todo.txt

(5) Erfassen eines PHP-Skripts namens editor.php mit folgendem Inhalt:

Rich (BBCode):
<?php
//var_dump($_REQUEST);
if ($_REQUEST['filename'] <> '') {
  if ($_REQUEST['action'] == 'load')
    $content=file_get_contents($_REQUEST['filename']);
  elseif ($_REQUEST['action'] == 'save')
    @file_put_contents($_REQUEST['filename'], stripslashes($_REQUEST['content']));
  $_REQUEST['action'] == '';
  }
?>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>Editor1</title>
	<script language="Javascript" type="text/javascript" src="edit_area/edit_area_full.js"></script>
	<script language="Javascript" type="text/javascript">
		editAreaLoader.init({
			id: "content"	// id of the textarea to transform	
			,start_highlight: true	
			,font_size: "8"
			,font_family: "verdana, monospace"
			,allow_resize: "y"
			,allow_toggle: false
			,language: "en"
			,syntax: "html"	
			,toolbar: "new_document, save, load, |, charmap, |, search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection,|, change_smooth_selection, highlight, reset_highlight, |, help"
			,syntax_selection_allow: "css,html,js,php,python,vb,xml,c,cpp,sql,basic,pas,brainfuck"
			,load_callback: "my_load"
			,save_callback: "my_save"
			,plugins: "charmap"
			,charmap_default: "arrows"
				
		});	
		// callback functions
		function my_save(id, content){
		  document.getElementById('content').value=content;
			var filename=window.prompt("Dateiname:","<?php print $_REQUEST['filename'] ?>");
			if (filename == null) return;
		  if (filename != "") {
         document.getElementById('action').value = 'save'; 
         document.getElementById('filename').value = filename; 
         f.submit(); 			
			}
		}		
		function my_load(id){
		  var filename=window.prompt("Dateiname:","<?php print $_REQUEST['filename'] ?>");
		  if (filename == null) return;
		  if (filename != "") {
         document.getElementById('action').value = 'load'; 
         document.getElementById('filename').value = filename; 
         f.submit(); 
         }
		}	
</script>
</head>
<body>
<div style="font:11px verdana">Filename: <?php print $_REQUEST['filename']<>""?$_REQUEST['filename']:"no file activ" ?></div> 
<form id="f" name="f" method="post" action="editor.php">
<input type="hidden" name="action" id="action" value="">
<input type="hidden" name="filename" id="filename" value="<php print $_REQUEST['filename'] ?>">
<textarea id="content" style="height: 500px; width: 100%;" name="content">
<?php print htmlspecialchars(stripslashes($content)) ?></textarea>
</form>
</body>
</html>

(6) testen mit einem Browser: https://syno:5001/phpsrc/editor/editor.php (statt syno entweder IP der DS oder DNS-Name oder wie auch sonst deine DS heißen mag einsetzen).

(7) Wenn bis hier alles geht, dann den Einbau in den Disk Station Manager:

Ein Verzeichnis anlegen: /usr/syno/synoman/webman/3rdparty/editor. In diesem Verzeichnis die Datei application.cfg erfassen:

text = editor
description = editor
type = embedded
protocol = https
address = Name_der_DS_wie_beim_Aufruf_des_Web_Station_Managers
port = 5001
path = /phpsrc/editor/editor.php

(8) Disk Station Manger aufrufen & testen

(9) Damit der Editor auch alle Dateien der DS editieren kann, muss noch eine kleine Änderung in der /usr/syno/etc/php.ini vorgenommen werden: Zeile mit open_basedir suchen und auskommentieren und folgende Zeile neu hinzufügen:

open_basedir = /

und nicht vergessen den sys-Apache wieder zu restarten.

Anmerkung zu Bedienung: Ich habe kein komfortables Dateibrowsing-Interface für das Öffnen bzw. Speichern von Dateien gemacht; man muss also den ganzen Pfad eintippen oder per Zwischenablage einfügen. Wer mag, kann sich ja mal umsehen, ob es hübsche Dateibrowser gibt, die mal einbauen kann.

Dran denken, erstmal kleine Gehversuche unternehmen; keine wichtigen Dateien verändern oder so.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
mal ein Bildchen vom Editor :D
 

Anhänge

  • editor.jpg
    editor.jpg
    111,2 KB · Aufrufe: 1.710

blackhawk92

Benutzer
Mitglied seit
15. Jul 2008
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hi Leute,
wenn ich versuche EditArea mit:
mv /volume1/tmp/edit*/*
zu verschieben, bekkome ich diesen Fehler:
DiskStation> mv /volume1/tmp/edit*/*
mv: unable to stat `/volume1/tmp/editarea_0_7_1_2/todo.txt/@eaDir': Not a directory
mv: unable to stat `/volume1/tmp/editarea_0_7_1_2/todo.txt/change_log.txt': Not a directory
mv: unable to stat `/volume1/tmp/editarea_0_7_1_2/todo.txt/docs': Not a directory
mv: unable to stat `/volume1/tmp/editarea_0_7_1_2/todo.txt/edit_area': Not a directory
mv: unable to stat `/volume1/tmp/editarea_0_7_1_2/todo.txt/exemples': Not a directory
mv: unable to stat `/volume1/tmp/editarea_0_7_1_2/todo.txt/license_apache.txt':Not a directory
mv: unable to stat `/volume1/tmp/editarea_0_7_1_2/todo.txt/license_lgpl.txt': Not a directory

Woran könnte das liegen, bzw. was bedeutet das?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
@blackhawk92,

du musst genauer lesen :D.

Ich meiner Anleitung stand:

mv /volume1/tmp/edit*/* . (Leerstelle Punkt)

Wenn du das machst, geht es auch

itari
 

blackhawk92

Benutzer
Mitglied seit
15. Jul 2008
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Thx,
jetzt funktionierts,
aber oben hattest du die Leerstelle vor dem Punkt vergessen;)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Aschäää auuf mein Hauupt .... isch hab die Leerstell gekürzt. Tut mir nu doch recht leid. Dafür bekommst nu bald die zweite Version ;) Bin grad die letzten Dinge am teschten.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Version 2 des Webeditors

So jetzt hab ich ein paar Dateifunktionen eingebaut und man kann nun per Verzeichnislisten die Dateinamen beim Laden und beim Sichern finden. Zudem merkt sich der Editor den letzten Dateinamen per Cookie, so dass ein Wechsel in eine andere Anwendungen des Disk Station Managers ohne Folgen bleibt. Das Filename-Feld wird automatisch gesetzt, kann aber auch für neue Verzeichnisse und Dateien direkt beschrieben werden. In den Verzeichnislisten kann man per Doppelklick die Dateien laden. Die Verzeichnislisten werden per AJAX im Hintergrund generiert. Deshalb gibt es auch noch ein weiteres Skript hierfür.

editor.php:

Rich (BBCode):
<?php
//var_dump($_REQUEST);
if ($_REQUEST['filename'] == '' && $_REQUEST['action'] == '' && isset($fname)) {
  $_REQUEST['filename'] = $fname;
  $_REQUEST['action']   = 'load'; } 
if ($_REQUEST['filename'] <> '') {
  if ($_REQUEST['action'] == 'load') {
    $content=file_get_contents($_REQUEST['filename']);
    setcookie("fname",$_REQUEST['filename']); }
  elseif ($_REQUEST['action'] == 'save')
    @file_put_contents($_REQUEST['filename'], stripslashes($_REQUEST['content']));
  elseif ($_REQUEST['action'] == 'remove')
    @unlink($_REQUEST['filename']);
  elseif ($_REQUEST['action'] == 'mkdir')
    @mkdir($_REQUEST['filename']); 
  elseif ($_REQUEST['action'] == 'rmdir')
    @rmdir($_REQUEST['filename']);        
  }
else $_REQUEST['filename']='/';  
if ($_REQUEST['action'] == 'new') {
  $_REQUEST['filename']='/';
  $content=''; }
$_REQUEST['action'] == '';
?>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>Editor1</title>
	<script language="Javascript" type="text/javascript" src="edit_area/edit_area_full.js"></script>
	<script language="Javascript" type="text/javascript">
		editAreaLoader.init({
			id: "content"	// id of the textarea to transform	
			,start_highlight: true	
			,font_size: "8"
			,font_family: "verdana, monospace"
			,allow_resize: "y"
			,allow_toggle: false
			,language: "en"
			,syntax: "html"	
			,toolbar: "new_document, save, load, |, charmap, |, search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection,|, change_smooth_selection, highlight, reset_highlight, |, help"
			,syntax_selection_allow: "css,html,js,php,python,vb,xml,c,cpp,sql,basic,pas,brainfuck"
			,load_callback: "my_load"
			,save_callback: "my_save"
			,plugins: "charmap"
			,charmap_default: "arrows"
				
		});	
		// callback functions
		function my_save(id, content){
		  document.getElementById('action').value = 'save'; 
		  document.getElementById('content').value=content;
		  document.getElementById('fileselect').style.display='block';
		  init('<?php print dirname($_REQUEST['filename']) ?>'); 			
		}		
		function my_load(id){
      document.getElementById('action').value = 'load';		  
		  document.getElementById('fileselect').style.display='block';
		  init('<?php print dirname($_REQUEST['filename']) ?>');
		}	
var myXMLHTTPRequest = (window.XMLHttpRequest)?
                        new XMLHttpRequest():
                        new ActiveXObject("Microsoft.XMLHTTP");
function LoadHTML(htmlfile){
  myXMLHTTPRequest.open("GET", htmlfile, false); myXMLHTTPRequest.send(null);
  return myXMLHTTPRequest.responseText;
}
function init(p) {
  var d = LoadHTML('dir.php?dir='+p);
  co=document.getElementById('fileselect');
  co.innerHTML=d;
  }		
</script>
<style>
td{font:11px Verdana;text-align:right;padding-right:6px}
tr{cursor:pointer}
#fileselect{position:absolute;top:50px;left:300px;width:480px;height:400px;
background-color:#bbf;overflow:auto;padding:5px;border:1px solid #666;display:none;}
#filename{font:10px verdana;width:300px}
input{font:10px verdana;}
#cancel{font:11px Verdana;position:absolute;top:5px;right:5px;width:9px;hight:10px;
color:#fff;padding:3px;cursor:pointer;background-color:#222}
.l{text-align:left}
</style>
</head>
<body>
<form id="f" name="f" method="post" action="editor.php">
<div style="font:11px verdana;margin-bottom:2px;">Filename: 
<input ondblclick="f.submit();" type="text" name="filename" id="filename" 
value="<?php print $_REQUEST['filename'] ?>">
<input type="button" value="new" onclick="document.getElementById('action').value='new';f.submit();">
<input type="button" value="load" onclick="document.getElementById('action').value='load';f.submit();">
<input type="button" value="save" onclick="document.getElementById('action').value='save';f.submit();">
<input type="button" value="remove" onclick="document.getElementById('action').value='remove';f.submit();">
<input type="button" value="mkdir" onclick="document.getElementById('action').value='mkdir';f.submit();">
<input type="button" value="rmdir" onclick="document.getElementById('action').value='rmdir';f.submit();">
</div> 
<input type="hidden" name="action" id="action" value="">
<textarea id="content" style="height: 500px; width: 100%;" name="content">
<?php print htmlspecialchars(stripslashes($content)) ?></textarea>
</form>
<div id="fileselect"><div>
</body>
</html>


dir.php:

Rich (BBCode):
<?php
$dir=($_REQUEST['dir']!='' && file_exists($_REQUEST['dir']))?$_REQUEST['dir']:'.';
chdir($dir);
$dirarray = scandir('.'); natcasesort($dirarray);

print '<b>'.$dir.'<b>'; 
print '<div id="cancel"'. 
      ' onclick="document.getElementById('action').value='';f.submit();">X</div><table>';
foreach($dirarray as $entry) {
  if (filetype($entry)=="dir") {
    if ($dir == "/" && ($entry == "." || $entry == "..")) $path = "/";
    elseif ($entry == '.') $path = $dir;
    elseif ($entry == '..') $path = substr($dir,0,strrpos($dir,"/")==0?1:strrpos($dir,"/"));
    elseif ($dir == "/") $path = '/'.$entry;
    else $path = $dir.'/'.$entry;
    $action="init('".$path."','')";
    }
  else 
    if ($dir == "/") {
      $path="/".$entry;
      $action="document.getElementById('filename').value='".$path."'";
      } 
    else {
      $path=$dir."/".$entry;
      $action="document.getElementById('filename').value='".$path."'";
      }
  print '<tr title="'.$path.'" onclick="'.$action.'" onmouseover="this.style.backgroundColor='#fff'"
          onmouseout="this.style.backgroundColor='#bbf'" ondblclick="f.submit()">'.
        '<td class="l">'.filetype($entry).'</td>'.
        '<td>'.sprintf("%o",fileperms($entry)&0777).'</td>'.
        '<td>'.fileowner($entry).'</td>'. 
        '<td>'.filegroup($entry).'</td>'.                
        '<td>'.filesize($entry).'</td>'.
        '<td>'.date("Y-m-d H:i:s",filemtime($entry)).'</td>'.
        '<td class="l">'.$entry.'</td></tr>';
  }
print '</table>';
?>
 

Anhänge

  • editor.jpg
    editor.jpg
    129,8 KB · Aufrufe: 1.465

Pompom

Benutzer
Mitglied seit
17. Jul 2008
Beiträge
70
Punkte für Reaktionen
0
Punkte
6
Hi itari,

erst mal vielen Dank für deine Arbeit hier im Forum!
aber bei deinem Editor bekomme ich in der letzen Version einen Fehler:
Parse error: syntax error, unexpected T_STRING in /usr/syno/synoman/phpsrc/editor/dir.php on line 8

wenn ich auf die Diskette oder den Ordner klicke

DS-107+

Gruß Pompom
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
hi Pompom,

leider mag der Blog-Editor mich nicht, sonst hätte er die \ nicht weg gemacht:

Zeile 8:
' onclick="document.getElementById(\'action\').value=\'\';f.submit();">X</div><table>';

Zeile 27 und 28:

print '<tr title="'.$path.'" onclick="'.$action.'" onmouseover="this.style.backgroundColor=\'#fff\'"
onmouseout="this.style.backgroundColor=\'#bbf\'" ondblclick="f.submit()">'.


Ausserdem gibt noch eine Zeile in der editor.php, die man löschen sollte:

function my_save(id, content){
document.getElementById('action').value = 'save';

Durch die Verzeichnislisten ist es leider nicht mehr so einfach, den Editorinhalt zu speichern. Man muss erst auf das Symbol mit der Diskette klicken und dann nochmal auf den Button 'save' klicken. Ich arbeite daran, dass noch zu vereinfachen ...
 
Zuletzt bearbeitet:

Pompom

Benutzer
Mitglied seit
17. Jul 2008
Beiträge
70
Punkte für Reaktionen
0
Punkte
6
Danke so klappe es!
:)
Versuche es mal mit PHP-Code einfügen :D
PHP:
<?php
$dir=($_REQUEST['dir']!='' && file_exists($_REQUEST['dir']))?$_REQUEST['dir']:'.';
chdir($dir);
$dirarray = scandir('.'); natcasesort($dirarray);

print '<b>'.$dir.'<b>'; 
print '<div id="cancel"'. 
      ' onclick="document.getElementById(\'action\').value =\'\';f.submit();">X</div><table>';
foreach($dirarray as $entry) {
  if (filetype($entry)=="dir") {
    if ($dir == "/" && ($entry == "." || $entry == "..")) $path = "/";
    elseif ($entry == '.') $path = $dir;
    elseif ($entry == '..') $path = substr($dir,0,strrpos($dir,"/")==0?1:strrpos($dir,"/"));
    elseif ($dir == "/") $path = '/'.$entry;
    else $path = $dir.'/'.$entry;
    $action="init('".$path."','')";
    }
  else 
    if ($dir == "/") {
      $path="/".$entry;
      $action="document.getElementById('filename').value='".$path."'";
      } 
    else {
      $path=$dir."/".$entry;
      $action="document.getElementById('filename').value='".$path."'";
      }
  print '<tr title="'.$path.'" onclick="'.$action.'" onmouseover="this.style.backgroundColor=\'#fff\'"
  			onmouseout="this.style.backgroundColor=\'#bbf\'" ondblclick="f.submit()">'.
        '<td class="l">'.filetype($entry).'</td>'.
        '<td>'.sprintf("%o",fileperms($entry)&0777).'</td>'.
        '<td>'.fileowner($entry).'</td>'. 
        '<td>'.filegroup($entry).'</td>'.                
        '<td>'.filesize($entry).'</td>'.
        '<td>'.date("Y-m-d H:i:s",filemtime($entry)).'</td>'.
        '<td class="l">'.$entry.'</td></tr>';
  }
print '</table>';
?>

sieht auch viel bunter aus ;)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
oh, das mit dem php-Code hab ich ja noch gar nicht gesehen - danke :)

so nu hab ich das Speichern auch gradegebogen:

PHP:
function my_save(id, content){
document.getElementById('action').value = 'save';

das kann doch so bleiben, dann speichert er beim Klicken auf eine Datei in einer Verzeichnisliste in diese Datei ab. Jetzt noch das Speichern per Filename (wenn man einen neuen Namen vergeben will) ergänzt um das Auslesen des Editorinhalts (des war das, was ich noch gesucht hatte):

Rich (BBCode):
<input type="button" value="save" onclick="document.getElementById('action').value='save';
document.getElementById('content').value=editAreaLoader.getValue('content');f.submit();">

*hervorheben plus php kann er nicht :D*

Der EditArea ist ein feines Tool, weil er zum einen Callback-Funktionen unterstützt, zum anderen aber auch die 'Fernsteuerung' von außen geht. Ich hab den nun schon einige Male in Webentwicklungstools eingebaut und er kommt immer gut an und ist sehr stabil.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
noch ein paar Änderungen (bitte vorher die beiden Editor-Dateien sichern):

in der Datei dir.php werden die Dateizugriffs-Anweisungen mit einem @ maskiert, damit werden eventuelle Zugriffsfehler nicht als Fehlertext mitten in der Verzeichnisliste ausgegeben:

PHP:
<?php
$dir=($_REQUEST['dir']!='' && file_exists($_REQUEST['dir']))?$_REQUEST['dir']:'.';
chdir($dir);
$dirarray = @scandir('.'); natcasesort($dirarray);

print '<b>'.$dir.'<b>'; 
print '<div id="cancel"'. 
      ' onclick="document.getElementById(\'action\').value=\'\';f.submit();">X</div><table>';
foreach($dirarray as $entry) {
  if (@filetype($entry)=="dir") {
    if ($dir == "/" && ($entry == "." || $entry == "..")) $path = "/";
    elseif ($entry == '.') $path = $dir;
    elseif ($entry == '..') $path = substr($dir,0,strrpos($dir,"/")==0?1:strrpos($dir,"/"));
    elseif ($dir == "/") $path = '/'.$entry;
    else $path = $dir.'/'.$entry;
    $action="init('".$path."','')";
    }
  else 
    if ($dir == "/") {
      $path="/".$entry;
      $action="document.getElementById('filename').value='".$path."'";
      } 
    else {
      $path=$dir."/".$entry;
      $action="document.getElementById('filename').value='".$path."'";
      }
  print '<tr title="'.$path.'" onclick="'.$action.'" onmouseover="this.style.backgroundColor=\'#fff\'"
          onmouseout="this.style.backgroundColor=\'#bbf\'" ondblclick="f.submit()">'.
        '<td class="l">'.@filetype($entry).'</td>'.
        '<td>'.sprintf("%o",@fileperms($entry)&0777).'</td>'.
        '<td>'.@fileowner($entry).'</td>'. 
        '<td>'.@filegroup($entry).'</td>'.                
        '<td>'.@filesize($entry).'</td>'.
        '<td>'.date("Y-m-d H:i:s",@filemtime($entry)).'</td>'.
        '<td class="l">'.$entry.'</td></tr>';
  }
print '</table>';
?>
und in der Datei editor.php muss beim Lesen noch die \-Maskierung angeworfen werden:
Rich (BBCode):

  if ($_REQUEST['action'] == 'load') {
    $content=addslashes(file_get_contents($_REQUEST['filename']));
    setcookie("fname",$_REQUEST['filename']); }
  elseif ($_REQUEST['action'] == 'save')
    file_put_contents($_REQUEST['filename'], stripslashes($_REQUEST['content']));
 

tomecemot

Benutzer
Mitglied seit
20. Jul 2008
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Toll danach habe ich lange gesucht

wirklich super :) ... vielen dank itari und den anderen :) :)
 

Haigal

Benutzer
Mitglied seit
11. Aug 2008
Beiträge
72
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

leider klappt das bei mir nicht so mit dem Cut&Paste in vi (denn den neuen Editor hab ich ja noch nicht ;))

Gibts die beiden Skripte auch zum Runterladen ?
Das wäre für mich perfekt.

vielen Dank schon jetzt
Haigal
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0

Haigal

Benutzer
Mitglied seit
11. Aug 2008
Beiträge
72
Punkte für Reaktionen
0
Punkte
0
Hi Itari,

;) habe es genau so gemacht. Mit dem direkten Aufruf innerhalb des web-servers
(liegt unter /volume1/web) mit http://192.168.1.11/editarea/editor.php
funktioniert er auch ganz prächtig.

wenn ich ihn aber mit
mount --bind /volume1/web/editarea /usr/syno/synoman/phpsrc/editor

(application.cfg ist am Patz und funktioniert)

bekomme ich diese Meldung am Kopf der Seite:

PHP:
'') { if ($_REQUEST['action'] == 'load') { $content=addslashes(file_get_contents($_REQUEST['filename'])); setcookie("fname",$_REQUEST['filename']); } elseif ($_REQUEST['action'] == 'save') file_put_contents($_REQUEST['filename'], stripslashes($_REQUEST['content'])); elseif ($_REQUEST['action'] == 'remove') @unlink($_REQUEST['filename']); elseif ($_REQUEST['action'] == 'mkdir') @mkdir($_REQUEST['filename']); elseif ($_REQUEST['action'] == 'rmdir') @rmdir($_REQUEST['filename']); } else $_REQUEST['filename']='/'; if ($_REQUEST['action'] == 'new') { $_REQUEST['filename']='/'; $content=''; } $_REQUEST['action'] == ''; ?>

Darunter die ersten Buttons des editors, aber die Inhalt sind nicht ausgefüllt und er funktioniert auch nicht richtig.


Der Code von editor.php ist so, wie von Dir angegeben.

Hast Du vielleicht einen Rat für mich?

der unwissende
Haigal
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Um jetzt einfach mal alle Möglichkeiten der Datei-Verlinkungs-Probleme auszuräumen, kopier doch mal alles zum Editor direkt ins phpsrc-Verzeichnis, so wie du es dir gedacht hast und probier es aus. Wenn das geht, ist es eine Link-Problematik und die können wir dann gezielt angehen.

Sollte aber nach dem Kopieren es nicht gehen, dann ist es ein anderes Problem, z.B. ein Pfad-Verweis in einer Datei, der nicht geht oder sowas.

itari
 

Haigal

Benutzer
Mitglied seit
11. Aug 2008
Beiträge
72
Punkte für Reaktionen
0
Punkte
0
Hallo itari,

vielen Dank für Deine Antwort. Auf Dein Anraten habe ich jetzt den Editor also an die von Dir im Anfangspost bezeichneten Stellen kopiert. War also über die DS-Managementconsole und über http://192.168.1.11:5000/phpsrc/editor/editor.php verfügbar, aber das Ergebnis war leider dasselbe wie oben.

Kann es sein, dass es einen Unterscheid macht über welchen der Apache's man es aufruft.

Meine Vermutung:
auf dem "normalen Webserver geht es". Über den "DS-Adminconsole"-Apache (wenn ich wirklich richtig vermute) scheint es nicht zu gehen.

Nur wo finde ich den "Admin"-Webserver?

Was meinst Du, itari, kann das sein?

Grüsse
der dankbare Haigal
 

Haigal

Benutzer
Mitglied seit
11. Aug 2008
Beiträge
72
Punkte für Reaktionen
0
Punkte
0
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat