Bonjour.
Je me présente rapidement : je suis un passionné depuis une quinzaine d'années d'informatique en général ; je ne suis pas développeur, mais j'aime à bidouiller du script.
En ce moment, j'essaie de mettre en place un BackOffice sur mon espace Free. N'ayant pas trouvé ce que je désirais, j'ai décidé de partir d'un système de base auquel je tente d'implémenter (avec succès jusque là) des fonctions supplémentaires.
J'ai donc d'abord sélectionné un gestionnaire de fichiers : FileManager 5.20.
http://www.gerd-tentler.de/tools/filemanager/index.php
Un script sympa comme base de départ... Non ?
J'ai décidé :
- D'ajouter un éditeur de texte WYSIWYG, pour les fichiers HTML (OK)
- D'ajouter des fonctions DEV à l'éditeur de texte existant, pour les fichiers texte non-HTML (PROBLEME)
- D'ajouter un éditeur d'images (A FAIRE)
(Si vous voulez directement passer au problème en lui-même, vous pouvez passer ce qui suis)
1ère étape : ajouter FCKeditor, l'éditeur WYSIWYG
J'ai d'abord dédoublé l'icone d'édition de fichiers (et tout ce qui va avec), qui n'est qu'un simple appel vers un fichier PHP qui génère un [textarea].
Je me retrouve donc avec la fonction "édition texte" en double, avec 2 icones, qui appellent chacun leur fichier PHP qui génèrent donc chacun leur propre [textarea].
J'ai créé un choix de variable en plus des autres variables existantes, et y ai intégré uniquement HTML, précédemment dans la variable des fichiers texte.
J'ai associé la 2ème icone à cette nouvelle variable HTML.
Je me retrouve donc avec 2 fonctions "édition" différentes, une pour les fichiers HTML, une autre pour les autres fichiers texte.
J'ai donc pu en modifier un des deux, pour lui intégrer FCKeditor.
FCKeditor est très simple à intégrer à un [textarea] déjà existant dans un PHP, car on peut l'appeler en PHP (on a des exemples à foison sur le web)...
Dans mon cas, j'ai simplement eu à :
- mettre l'include qui appelle le PHP de FCKeditor au début du PHP concerné de FileManager.
- remplacer le [textarea] par la commande qui affiche FCKeditor, dans le PHP concerné de FileManager.
Je me retrouve donc avec 2 icones/fonctions d'édition :
- l'édition classique en textarea (pour tous les fichiers texte sauf les HTML)
- l'édition WYSIWYG FCKeditor (pour les fichiers HTML seulement)
1ère étape terminée.![]()
2ème étape : CodePress ou EditArea pour des fonctions DEV au [textarea]
Il s'agit ici principalement :
- d'ajouter des numéros de lignes,
- de coloriser la syntaxe des scripts.
A la différence de FCKeditor, CodePress et EditArea ne sont pas livrés avec des fichiers PHP permettant de les exécuter... Ce sont directement des scripts en fichiers javascript .js.
La définition du script est donc à faire dans mes fichiers PHP...
Si je le mets au début de mon PHP qui génère le [textarea], ça provoque une erreur chez FileManager : les balises HEAD sont déjà définies.
En fait, les balises HEAD sont (bah 'ui forcément) déjà dans un autre fichier PHP, où d'ailleurs les [include] des autres scripts .js de FileManager sont définis.
Je déplace donc la définition de mon .js (celui de CodePress, ou de EditArea, au choix)
- de mon PHP qui génère mon [textarea]
- vers les balises HEAD de l'autre PHP (c'est le 1er fichier de FileManager).
Plus d'erreur HEAD au lancement de FileManager...
Je peux donc aller voir comment CodePress (ou EditArea) se comportent lors d'une édition de fichier.
Et là, ce fut le drame...
Pas de problème avec le [textarea], il s'affiche avec le contenu du fichier sélectionné.
Maiiis...
Pas de n° de ligne, ni de colorisation de syntax.
J'ai essayé dans tous les sens, toute la journée (et toute la nuit dernière), mais je cale, là... Je ne vois pas pourquoi ni CodePress, ni EditArea ne réagissent.
Si quelqu'un peut m'aider, ça serait sympa...
Dans le post qui suit, les parties de code concernées :
Partager