tinyeditor 1 - XOOPS Module
Transcription
tinyeditor 1 - XOOPS Module
Documentation tinyeditor 1.0 1. Comment installer tinyeditor ? ................2 2. Paramétrer tinyeditor ..............................3 3. Les barres d'outils...................................7 4. Les permissions......................................9 5. Utiliser tinyeditor dans vos modules .....11 6. Extensions (plugins) .............................14 7. Fonctionnalités FTP..............................20 8. Upload d'extensions (plugins)...............22 9. Crédits ..................................................23 Page 1 sur 23 Documentation TinyEditor version 1.0 1. Installation Décompresser le contenu de l'archive à la racine de votre site Xoops. Un premier dossier xoopseditor/tinyeditor sera alors copié dans le répertoire class et un autre dossier tinyeditor sera copié dans votre répertoire modules comme tous les autres modules Xoops. Installer ensuite ce module comme d'habitude en passant par admin system, modules. Puis générer les templates associés avec le gestionnaire de templates de Xoops (admin system, templates). Les répertoires suivants (si disponibles) nécessitent des autorisations particulières : CHMOD 777 • tinyeditor / editor / plugins / ibrowser / temp / • tinyeditor / editor / plugins / ibrowser / scripts / phpThumb / cache / • tinyeditor / editor / plugins / imanager / temp / • tinyeditor / editor / plugins / imanager / scripts / phpThumb / cache / CHMOD 444 • tinyeditor / editor / plugins / ibrowser / config / config.inc.php • tinyeditor / editor / plugins / ibrowser / scripts / phpThumb / phpThumb.config.php • tinyeditor / editor / plugins / imanager / config / config.inc.php • tinyeditor / editor / plugins / imanager / scripts / phpThumb / phpThumb.config.php • tinyeditor / editor / plugins / spellchecker / config.php • tinyeditor / include / config.inc.php • tinyeditor / include / ftpconfig.php • tinyeditor / include / ftpconfigchmod.php • tinyeditor / include / ftpconfigplugin.php Page 2 sur 23 Documentation TinyEditor version 1.0 2. Paramétrage Commencer par aller dans le menu Préférences du module pour y effectuer une personnalisation de son paramétrage. Langue de l’éditeur : Définissez ici la langue de l’interface. Cette option doit être l’un des codes langue standard iso639-1 Exemple : en pour l’anglais, de pour l’allemand ou fr pour le français. Editeur css : Indiquer le chemin du fichier css qui sera utilisé pour votre contenu dans l'interface de l'éditeur. Si vous laissez vide, normalement le fichier css de votre thème courant sera utilisé. Il est préférable de réaliser votre propre fichier CSS pour les styles les plus importants. Toutes les instructions CSS de votre thème par défaut, ne sont pas nécessaires pour écrire vos articles. Forcer les éléments BR : Cette option force les éléments retour chariot (<br />) au lieu des balises paragraphes (<p>) dans Internet Explorer. Forcer les éléments P : Si cette option est activée les navigateurs Mozilla/Firefox génèreront des éléments paragraphes (<p>) sur activation de la touche Entrée et des éléments retour-chariot (<br />) avec Shift+Enter/Return. Cette option est activée par défaut. Forcer les URLs relatives : En activant cette option cela convertira les urls absolues en urls relatives. Seulement il subsiste un gros bug qui ne provient pas de tinyeditor. Si le contenu du bloc réalisé en mode wysiwyg est prévu pour s’afficher sur la page d’accueil et qu'il n’est pas associé à un module, une erreur se produira. Remove script host : si cette option est activée, la partie de l'url identique à celle du script dans lequel s'exécute la page, sera retirée. Cette option est opérationnelle par défaut si l'option de forcer les urls relatives n'est pas activée. Emplacement de la barre d’outils : cette option vous permet de choisir l’emplacement d’affichage de la barre d’outils (haut ou bas) Emplacement de l'élément path : ici vous déterminez l'emplacement de l'élément path (top, bottom or none).. Formats date et heure : paramètre le format d'insertion des extensions date/heure en fonction des variables de remplacement : • %y – année sous forme de nombre décimal sans le siècle (00 à 99) • %Y - année sous forme de nombre décimal avec le siècle • %d – jour du mois sous forme de nombre décimal (01 à 31) • %m – mois sous forme de nombre décimal (01 à 12) Page 3 sur 23 Documentation TinyEditor version 1.0 • • • • • • • • %D – identique à %m/%d/%y %r – heure en notation a.m/p.m. %H – heure sous forme de nombre décimal en format 24 heures (00 à 23) %I - heure sous forme de nombre décimal en format 12 heures (01 à 12) %M - minute sous forme de nombre décimal (00 à 59) %S - seconde sous forme de nombre décimal (00 à 59) %p - soit ‘am‘ ou ‘pm‘ selon la valeur %% - un caractère littéral ‘%‘ Répertoire d’uploads : préciser le répertoire de destination des images uploadées sur le serveur. Note: ce répertoire doit être créé manuellement et sur un système Unix, chmodé en 777 (lecture-écriture). Assurez-vous que le dossier d'upload est bien créé sur le serveur, il sera utilisé pour les extensions suivantes : ibrowser, imanager et xrmanager. Activer un répertoire par utilisateur : si activé chaque utilisateur pourra gérer son propre dossier d'uploads. Les dossiers seront intitulés ainsi user_userid. Compression Gzip : ceci permet à l'éditeur un gain de performance de 70%. La totalité des fichiers de commandes javascript sera sauvegardée dans un fichier cache de xoops. Un recul mineur : si vous activez des extensions et ajoutez des boutons à l'éditeur après que le fichier cache ait été écrit vous devrez supprimer les fichiers compressés du dossier cache, ceux-ci seront recréés automatiquement. Chaque groupe d'utilisateurs dispose de son propre fichier cache. Tinyeditor et gzip-compression semblent provoquer une erreur avec quelques scans antivirus (GDATA Internet Security), dans ce cas il est préférable de désactiver la compression gzip. Cette option doit être complétée quand votre site xoops est installé Sous-répertoire : dans un sous répertoire de la racine de votre site. Exemple.: si votre page d'accueil ne pointe pas sur http://localhost/ mais sur http://localhost/site1 saisir /site1 sans slash de fin. Librairie d'images pour la création des vignettes : indiquer quelle librairie graphique vous souhaitez utiliser pour la création des vignettes. Utiliser GD si votre environnement php est en safe_mode=On. Cette information est affichée sur la page index du module tinyeditor. indiquer au serveur le chemin vers Image magick ou Chemin de la librairie : NetPBM, laisser vide si vous utiliser la librairie GD. Largeur des vignettes (px) : ici vous pouvez définir la largeur maximum en pixels des vignettes dans xrmanager. Page 4 sur 23 Documentation TinyEditor version 1.0 Hauteur des vignettes (px): ici vous pouvez définir la hauteur maximum en pixels des vignettes dans xrmanager. Préfixe des fichiers de vignettes : paramètre optionnel, vous n'avez pas besoin de le modifier. NE RIEN CHANGER si votre serveur fonctionne avec l'option safe_mode = on. Le point avant le nom de fichier signifie que les fichiers ne seront pas visibles quand vous afficherez le contenu des dossiers. Répertoire de stockage des fichiers vignettes : paramètre optionnel. Vous n'avez pas besoin de le modifier. Lorsque votre serveur est en safe_mode = on la vignette sera sauvegardée dans le même dossier que l'image. Le point avant le nom de fichier signifie que les fichiers ne seront pas visibles quand vous afficherez le contenu des dossiers. Vignette par défaut : si les vignettes ne peuvent être créées suite à une erreur ou un mauvais fichier image, c'est ce qui sera affiché. L'image doit résider quelque part dans la structure de tinyeditor. Préfixe des fichiers temporaires de l'éditeur d'image : paramètre optionnel que vous n'avez pas besoin de modifier. Le point avant le nom de fichier rendra le fichier invisible. Nombre de colonnes pour les vignettes : entrer le nombre de colonnes souhaité pour l'affichage des vignettes. Organiser l'espace d'uploads par : sélectionner un critère dans la liste comme ordre de tri. Répertoire des fichiers HTML- et CSS : Saisir l'emplacement des fichiers HTML et CSS que vous voudriez éditer avec le tinyeditor (l'extension templates doit être installée). Ex.: modules/content/html Vous pouvez entrer plus d'un dossier, mais ils doivent être séparés par un espace. Les variables smarty ne sont pas supportées dans cette version. Les répertoires ont besoin d'être accessibles en lecture-écriture. Utiliser FTP : Vous pouvez utiliser des commandes PHP-FTP au lieu des commandes habituelles. Si votre PHP est configuré avec safe_mode = on vous ne pourrez pas utiliser toutes les fonctions de l'extension xrmanager. Une autre conséquence c'est que vous n'êtes plus lié aux limites d'uploads. Il semble raisonnable de n'autoriser seulement aux groupes de confiance l'accès FTP. Le ftp fonctionne seulement quand les groupes sont autorisés d'utiliser l'extension xrmanager (voir les permissions). Priorité des barres d'outils : Cela semble rusé mais c'est très simple. Si les utilisateurs sont affectés dans plusieurs groupes, sans cet arrangement seule la première Page 5 sur 23 Documentation TinyEditor version 1.0 identification de groupe sera prise en compte pour les barres d'outils, avec cette option vous pouvez donc établir une priorité. Vous devez écrire comme ceci : 2|3|4|5|2 ce qui signifie que les groupes avec les numéros 2 à 5 utiliseront la barre d'outils du groupe 2. C'est toujours la dernière valeur qui déterminera le groupe final ! Faire attention qu'une identification de groupe n'apparaisse seulement qu'une fois dans cette liste. Séparer avec un blanc pour faire plus de combinaisons. Pour connaître les numéros de groupe, consulter la table xoops_groups dans la base de données (avec phpMyadmin par exemple), ou encore en repérant le dernier chiffre dans l'url quand vous modifier un groupe (modules/system/admin.php?fct=groups&op=modify&g_id=1) Décompression des fichiers ZIPs avec xrmanager : ceci décompressera les fichiers zip que vous uploaderez dans le répertoire sélectionné. Les chemins (sous répertoires) contenus dans les fichiers zip seront préservés. ATTENTION : il n'existe pas de méthode FIABLE pour détecter ce que contiennent les fichiers compressés, aussi soyez prudent dans les autorisations que vous attribuez à ceux qui seront autorisés à effectuer ces opérations (vous pouvez filtrer les types de fichiers dans la gestion des types MIME dans tinyeditor). Maintenant que vous avez paramétré les préférences du module, vous pouvez passer aux barres d'outils que vous allez définir individuellement pour chaque groupe d'utilisateurs. Page 6 sur 23 Documentation TinyEditor version 1.0 3. Les barres d'outils Commencez par sélectionner le groupe d'utilisateurs pour lequel vous voulez configurer la barre d'outils. Vous noterez que les barres d'outils sont seulement définies pour les 3 groupes d'utilisateurs par défaut de Xoops. Pour les autres groupes (ceux qui vous auriez vousmême créés) la liste déroulante de choix des groupes se rafraichira automatiquement au fur et à mesure de leur création. Voir également en haut pour des identifications pour les groupes. . Lignes barre d'outils : vous disposez de trois lignes pour disposer les icones représentant les différentes fonctionnalités. Il suffit de cliquer sur les icones représentant les extensions installées pour que celui soit placé sur la ligne L'ordre des icones dans le textarea est l'ordre dans lequel les outils apparaissent dans l'éditeur. Vous pouvez déplacer les outils sur la ligne avec un clic gauche de la souris. Ne pas s'inquiéter des blancs qui sont à l'intérieur du textarea, cela sera corrigé après la soumission Largeur maximum des images : La largeur maximum des images s'applique aux extensions iBrowser et iManager. Si vous ne les utilisez pas, laissez les valeurs comme elles sont. Hauteur maximum des images : La hauteur maximum des images s'applique aux extensions iBrowser et iManager. Si vous ne les utilisez pas, laissez les valeurs comme elles sont. Quota disque : ici vous pouvez définir combien d'espace disque sera alloué à chaque utilisateur pour ses images. Cela s'applique seulement pour les extensions iBrowser et iManager et xrmanager. Si vous ne les utilisez pas, laissez les valeurs comme elles sont. Pour implémenter cette restriction allez lire le chapitre sur les permissions Page 7 sur 23 Documentation TinyEditor version 1.0 Eléments valides, éléments valides étendus et éléments invalides: avec ces trois champs vous avez la possibilité de définir quelles balises html seront autorisées à l'intérieur de l'éditeur. L'exemple suivant est tiré du manuel original tinyMCe. C'est une explication complète sur la méthode de validation d'éléments, d'éléments étendus et d'éléments invalides. Cet exemple indique à l'éditeur de retirer tous les éléments qui ne sont pas un a[href|target=_blank],strong/b,div[align],br Mettez vos définitions dans le textarea et valider pour les sauvegarder dans la base de données. Si vous n'avez pas le temps d'investir un peu de temps laissez les champs comme ils sont, une instruction basique sera alors utilisée. Si vous constatez l'absence de quelques balises html dans votre contenu, revenez ici pour les ajouter. Pour vous faciliter les choses, la liste déroulante command-sets pourra insérer un jeu d'instructions réduit comme pour l'éditeur DHTML de Xoops. Une fois que les barres d'outils ont été définies pour chaque groupe, on peut maintenant passer aux permissions! Page 8 sur 23 Documentation TinyEditor version 1.0 4. Les permissions Pour chaque groupe d'utilisateurs, il convient de cocher les cases correspondant aux fonctionnalités que l'on souhaite autoriser. Uploader des fichiers : vous pouvez définir ici quels sont les groupes d'utilisateurs qui sont autorisés à transférer des images sur le serveur . Supprimer des fichiers : ici vous pouvez définir quel(s) groupe(s) est autorisé à supprimer des fichiers images. WYSIWYG: indiquer quels sont les groupes d'utilisateurs qui sont autorisés à utiliser les fonctions WYSIWYG. Si décoché, les utilisateurs n'auront que le standard textareaDHTML Ce paramétrage ne s'aplique pas au groupe webmestres parce qu'il aura toujours l'interface WYSIWYG!! Créer des dossiers : à créer des dossiers. indiquer quels sont les groupes d'utilisateurs qui sont autorisés Quota utilisateur : il vous est possible de définir quels groupes d'utilisateurs disposeront d'un espace disque limité pour stocker les images qu'ils auront uploadées. Veuillez noter que le groupe des webmestres n'est pas automatiquement inclus. Si vous souhaitez que le groupe webmestres soit limité en espace disque il faudra cocher la case. Override user-dirs for images: si l'utilisateur dispose d'un espace disque limité il pourra seulement naviguer dans son répertoire. Avec cette permission vous pourrez l'autoriser à dépasser cette limite pour voir TOUS les répertoires d'uploads. Cette permission fonctionne seulement quand le quota disque est opérationnel. Changer les attributs des images : déterminer quels groupes d'utilisateurs sont autorisés à changer les attributs des images. Renommer les images : ici vous pouvez indiquer quels groupes d'utilisateurs sont autorisés à renommer les images. Veuillez noter que ceci pourrait générer des résultats inattendus si des images sont retirées une fois déjà utilisées pour des articles écrits . Suppression des dossiers non vides : il est possible de paramétrer les groupes d'utilisateurs qui sont autorisés à supprimer définitivement des répertoires qui contiendraient encore des fichiers. Page 9 sur 23 Documentation TinyEditor version 1.0 Renommer les répertoires : précisez quels groupes d'utilisateurs sont autorisés à renommer les répertoires. Notez que ceci pourrait produire des résultats inattendus en cas de pluralité du même nom de répertoire. Copie des répertoires : précisez quels groupes d'utilisateurs sont autorisés à copier des répertoires. Le contenu des répertoires sera aussi copié. Déplacer des répertoires : précisez quels groupes d'utilisateurs sont autorisés à déplacer des répertoires. Le contenu des répertoires sera aussi déplacé. Copier un fichier : quels groupes d'utilisateurs sont autorisés à copier de simples fichiers. Déplacer un fichier : quels groupes d'utilisateurs sont autorisés à déplacer de simples fichiers. Editer un fichier : quels groupes d'utilisateurs sont autorisés à éditer des fichiers. Pour l'instant cela ne s'applique qu'à des fichiers images. Utiliser xrmanager : quels groupes d'utilisateurs sont autorisés à utiliser l'extension xrmanager. C'est une permission spéciale compte tenu qu'elle sous entend l'utilisation de la fonction php-ftp. Utiliser FTP Debug : cette permission s'applique seulement aux groupes qui possèdent des droits d'administration sur le module tinyedior pour détecter des problèmes potentiels Soyez PRUDENT avec les chemins, nom d'utilisateur et mot de passe qui seront affichés. Assurez-vous que les membres du groupe webmasters sont bien des personnes de confiance quand FTP debug est sur ON; Un dernier conseil : Si les commandes du système PHP comme la copie sont désactivées sur votre serveur vous ne verrez pas toutes les permissions ci-dessus. Vous pouvez les récupérer si vous employez le ftp avec le module (si vous faites confiance à mes capacités de développeur). Maintenant vous êtes prêt à travailler avec tinyeditor dès que les modules que vous souhaitez utiliser avec seront aussi prêts à fonctionner avec. Voici quelques instructions pour utiliser tinyeditor avec les modules: Page 10 sur 23 Documentation TinyEditor version 1.0 5. Tinyeditor dans vos modules Si vous utilisez une version de xoops antérieure à Xoops 2.2 vous pouvez utiliser tinyeditor avec vos modules. Dans ce cas quelques changements sont nécessaires dans les fichiers de ceux-ci. Voici une intégration simple avec une ancienne version du module News. Depuis la version 1.51 du module News ceci n'est plus nécessaire, il suffit de choisir TinyEditor dans les préférences du module comme éditeur wysiwyg. Avec votre éditeur de texte favori ouvrez le fichier XOOPS_ROOT_PATH/modules/news/include/storyform.inc.php Vers la ligne 35 ajouter la ligne suivante include_once XOOPS_ROOT_PATH ."/class/xoopseditor/tinyeditor/formtinyeditortextarea.php“; Assurez vous que c'est le dernier fichier à être inséré. Continuer et remplacer les lignes pour l'affichage du textarea pour la partie Scoop $sform->addElement(new XoopsFormTinyeditorTextArea (array(‘caption‘=> _NW_THESCOOP, ‘name‘=>‘hometext‘, ‘value‘=>$hometext, ‘width‘=>‘100%‘, ‘height‘=>‘400px‘),true)); et $sform->addElement(new XoopsFormTinyeditorTextArea (array(‘caption‘=> _AM_EXTEXT, ‘name‘=>‘bodytext‘, ‘value‘=>$bodytext, ‘width‘=>‘100%‘, ‘height‘=>‘400px‘, ‘xEditor‘=>‘1‘),false)); Pour la suite du texte. C'est tout Voici une courte description sur la façon de faire fonctionner de nouveaux modules, qui ont été conçus pour le cadre de xoopseditor, avec tinyeditor. Nous venons de prendre le module News comme exemple. Koivi était le premier éditeur utilisé pour le cadre de xoopseditor. Aussi nous allons rechercher les occurrences de Koivi pour les reproduire et faire fonctionnere tinyeditor Ouvrez le fichier xoops_version.php du module dans lequel vous souhaitez intégrer tinyeditor et regarder ce tableau (cela peut varier!) : Page 11 sur 23 Documentation TinyEditor version 1.0 array(_MI_NEWS_FORM_DHTML=>‘dhtml‘, _MI_NEWS_FORM_COMPACT=>‘textarea‘, _MI_NEWS_FORM_SPAW=>‘spaw‘, _MI_NEWS_FORM_HTMLAREA=>‘htmlarea‘, _MI_NEWS_FORM_KOIVI=>‘koivi‘, _MI_NEWS_FORM_FCK=>‘fck‘); Et modifier le ainsi : array(_MI_NEWS_FORM_DHTML=>‘dhtml‘, _MI_NEWS_FORM_COMPACT=>‘textarea‘, _MI_NEWS_FORM_SPAW=>‘spaw‘, _MI_NEWS_FORM_HTMLAREA=>‘htmlarea‘, _MI_NEWS_FORM_KOIVI=>‘koivi‘, _MI_NEWS_FORM_FCK=>‘fck‘, ‘tinyeditor‘=>‘tinyeditor‘); Maintenant ouvrez le fichier include/functions.php et observez : case „koivi“: if(!$x22) { if (is_readable(XOOPS_ROOT_PATH.„/class/wysiwyg/formwysiwygtextarea.php“)) { include_once(XOOPS_ROOT_PATH . „/class/wysiwyg/formwysiwygtextarea.php“); $editor = new XoopsFormWysiwygTextArea($caption, $name, $value, ‘100%‘, ‘400px‘, ‘‘); } } else { $editor = new XoopsFormEditor($caption, „koivi“, $editor_configs); } break; Après ceci insérez les lignes suivantes : case „tinyeditor“: if ( is_readable(XOOPS_ROOT_PATH . „/class/xoopseditor/tinyeditor/ formtinyeditortextarea.php“)) { include_once(XOOPS_ROOT_PATH . „/class/xoopseditor/tinyeditor/ formtinyeditortextarea.php“); $editor = new XoopsFormTinyeditorTextArea(array(‘caption‘=>$caption, ‘name‘=>$name, ‘value‘=>$value, ‘width‘=>‘100%‘, ‘height‘=>‘400px‘, ‘xEditor‘=>‘1‘)); } break; Effectuez une mise à jour du module, et c'est tout. Vous avez maintenant un bon exemple pour implémenter tinyeditor dans d'autres modules. Faire de tinyeditor l'éditeur par défaut pour XOOPS : Si vous utilisez Xoops 2.0.15 ou une version plus récente, vous pouvez éditer le fichier /class/xoopsform/formdhtmltexteditor.php et modifier cette ligne var $htmlEditor = array(); en Page 12 sur 23 Documentation TinyEditor version 1.0 var $htmlEditor = array(‚XoopsFormTinyeditorTextArea‘, ‚/class/xoopseditor/ tinyeditor/formtinyeditortextarea.php‘); Nouveau : un nouveau paramètre a été ajouté à la version actuelle de tinyeditor (depuis la version 1.0 BETA ): xEditor. Vous pouvez utiliser ce nouveau paramètre pour imiter l'éditeur XOOPS DHTML. Quand la valeur est paramétrée à 0 un jeu d'instructions réduit sera utilisé. Ceci pourrait être utile si vous voulez transformer d'autres textareas de dhtml en WYSIWYG . Page 13 sur 23 Documentation TinyEditor version 1.0 6. Extensions (plugins) Toutes les extensions disponibles (pas les commandes basiques) sont expliquées rapidement ci-dessous. Advanced horizontal rule : cette extension vous permet de définir des attributs supplémentaires comme la largeur, hauteur, un effet ombré pour une ligne horizontale. Advanced Image: c'est une version améliorée du bouton standard image vous offrant des options supplémentaires. Veuillez noter qu'en l'installant les uploads d'extensions ne seront plus possible. Pour se servir de ce plugin le bouton standard doit être placé aussi. Advanced link : c'est une version améliorée du bouton standard lien. Vous pouvez placer beaucoup d'options supplémentaires ici. Comme extra j'ai inclus la possibilité d'ajouter des liens des modules de XOOPS. Actuellement les liens pour mylinks, newbb, news et wfdownloads sont possibles. Vous trouverez le code nécessaire pour ajouter ces liens dans l'extension advlink du dossier plugins. Peut-être que certains d'entre VOUS souhaiterez augmenter cette liste pour un meilleur usage ? Emotions: cette extension récupère les smileys de la base de données Xoops pour les insérer dans l'éditeur. Flash: insérer des présentations flash. Saisir l'url, hauteur et largeur du film et valider. Insert date : permet d'insérer la date courante selon le format défini dans les préférences. Insert time : insère l'heure courante selon le format défini dans les préférences. Preview : avec ce bouton vous obtenez une prévisualisation de votre contenu dans une fenêtre popup. Print : ce bouton vous permet d'imprimer le contenu actuellement dans votre éditeur Search: faîtes des recherches de mots spécifiques dans le contenu de l'éditeur. Replace : fonction de recherche/remplace pour des mots spécifiques dans le contenu de l'éditeur. Page 14 sur 23 Documentation TinyEditor version 1.0 Table : avec cette extension vous disposez de toutes les fonctions nécessaires pour créer des tableaux. Une fois activé ce sont 11 boutons qui seront affichés pour dessiner ou éditer des tableaux. Zoom : avec cette extension vous pouvez zoomer le contenu de l'éditeur jusqu'à 250% (Internet Explorer seulement). Spellchecker : avec cette extension vous pourrez vérifier l'orthographe du contenu de l'éditeur avec Internet Explorer seulement. Vous aurez besoin d'installer IESPELL. XOOPS-Quote : permet de mettre du texte en surbrillance dans votre éditeur et lui donner une apparence comme une citation xoops. Block properties : cette extension permet de placer quelques options supplémentaires pour des éléments bloc comme des titres et des paragraphes. Vous devez cliquer à l'intérieur d'un bloc pour pour éditer ses propriétés. XOOPS-Code : mise en valeur du texte pour qu'il apparaîsse comme un code XOOPS ML-Content : cette extension vous permet de collez votre texte et de choisir le code langue. Ce plugin ne doit être employé que si votre site dispose d'un hack multilingues XOOPS Paste Word: copie votre texte issu d'un document Microsoft Word dans l'éditeur. Les codes Word sont nettoyés. Cette extension dispose de beaucoup d'options Selon votre navigateur il peut y avoir quelques différences à l'utilisation de cette extension entre Internet Explorer et les navigateur Gecko(Mozilla/Firefox,etc..). Avec Internet Explorer copier juste le texte à partir de Word et clic sur le bouton dans l'éditeur, avec les navigateurs Gecko vous devrez insérer le texte dans une fenêtre popup puis cliquer sur le bouton insérer pour retourner à l'éditeur. Paste Text:.cette extension retourne un simple texte à l'éditeur. Le formatage existant sera supprimer mais vous pouvez préserver les retours chariot si vous le souhaitez. Select All: avec ce plugin vous avez la possibilité de sélectionner le contenu complet de l'éditeur. LTR / RTL: ceci vous permet de changer le sens de l'écriture d'un paragraphe (de gauche à droite, de droite à gauche) Page 15 sur 23 Documentation TinyEditor version 1.0 Full Screen: permet d'afficher l'éditeur en plein écran, et en cliquant à nouveau vous retrouvez une taille normale. iManager: c'est un gestionnaire complet d'images. Vous pouvez télécharger des dossiers, les éditez, ajoutez quelques effets spéciaux etc… Bien que presque parfait, il est possible de rencontrer quelques anomalies: Dans certains cas il y aura des problèmes avec la bibliothèque GD. Ceci se produit quand celle-ci n'est pas installée sur le serveur ou que la version de GD n'est pas correct. Cette extension ne peut éviter ces problèmes, si vous avez des soucis avec la librairie GD utiliser le gestionnaire d'images de Xoops en tant qu'extension. iBrowser: similaire à iManager, mais avec moins de fonctionnalités. Il peut rencontrer les mêmes problèmes qu'iManager avec la librairie GD. Char counter: compte le nombre de mots et caractères dans l'éditeur. Insert Code: ouvre une fenêtre popup où vous pouvez coller votre code. Sélectionner le language de programmation, ensuite votre code source apparaitra joliment formaté dans l'éditeur en utilisant la syntaxe geshi de mise en valeur. Si vous souhaitez utiliser cette extension vous devez ajouter les classes ci-dessous au fichier css de l'éditeur. pre { border-top: 1px solid #ddd; border-left: 5px solid #ddd; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; background-color: #eee; padding: 2px; margin: 0; color: #000066; } .css .de1, .css .de2, .html4strict .de1, .html4strict .de2, javascript .de1, .javascript .de2, .mysql .de1, .mysql .de2, .php .de1, .php .de2,.smarty .de1, .smarty .de2, .sql .de1, .sql .de2, .xml .de1, .xml .de2{ font-family: ‘Courier New‘, Courier, monospace; font-weight: normal;color: #000020; } .css .imp, .html4strict .imp, .javascript .imp, .mysql .imp, .php .imp, smarty .imp, .sql .imp, .xml .imp{font-weight: bold; color: red;} .css .kw1, .html4strict .kw1, .javascript .kw1, .mysql .kw1, .php .kw1,.smarty .kw1, .sql .kw1, .xml .kw1{color: #b1b100;} .css .kw2, .html4strict .kw2, .javascript .kw2, .mysql .kw2, .php .kw2,.smarty .kw2, .sql .kw2, .xml .kw2{color: #000000; font-weight: Page 16 sur 23 Documentation TinyEditor version 1.0 bold;} .css .kw3, .html4strict .kw3, .javascript .kw3, .mysql .kw3, .php .kw3,.smarty .kw3, .sql .kw3, .xml .kw3{color: #000066;} .css .kw4, .html4strict .kw4, .javascript .kw4, .mysql .kw4, .php .kw4,.smarty .kw4, .sql .kw4, .xml .kw4{color: #f63333;} .css .co1, .css .co2, .css .coMULTI, .html4strict .co1, .html4strict .co2,.html4strict .coMULTI, .javascript .co1, .javascript .co2, .javascript.coMULTI, .mysql .co1, .mysql .co2, .mysql .coMULTI, .php .co1, .php .co2,.php .coMULTI, .smarty .co1, .smarty .co2, .smarty .coMULTI, .sql .co1,.sql .co2, .sql .coMULTI, .xml .co1, .xml .co2, .xml .coMULTI{color: #808080; font-style: italic;} .css .es0, .html4strict .es0, .javascript .es0, .mysql .es0, .php .es0,.smarty .es0, .sql .es0, .xml .es0{color: #000099; font-weight: bold;} .css .br0, .html4strict .br0, .javascript .br0, .mysql .br0, .php .br0,.smarty .br0, .sql .br0, .xml .br0{color: #66cc66;} .css .st0, .html4strict .st0, .javascript .st0, .mysql .st0, .php .st0,.smarty .st0, .sql .st0, .xml .st0{color: #ff0000;} .css .nu0, .html4strict .nu0, .javascript .nu0, .mysql .nu0, .php .nu0,.smarty .nu0, .sql .nu0, .xml .nu0{color: #cc66cc;} .php .me1 {color: #006600;} .php .me2 {color: #006600;} .php .re0 {color: #0000ff;} pre ol{margin-left: 0;padding-left: 30px;} pre .head {font-family: Verdana, Arial, sans-serif;color: #333333;font-weight: bold;background-color: #f0f0ff;border-bottom: 1px solid#d0d0d0;padding: 2px;font-size: 12px;} pre li, pre li {font-family: ‘Courier New‘, Courier, monospace; color: black; font-weight: normal; font-style: normal;font: normal normal 95% ‘Courier New‘, Courier, monospace; color: #003030;} pre li.li2 {font-weight: bold;font-weight: bold; color: #006060;} pre .foot {display: none;} pre a:link {color: #000060;} pre a:hover {background-color: #f0f000;} Page 17 sur 23 Documentation TinyEditor version 1.0 Insert DIV: insère le texte sélectionné dans une balise DIV. Cette extension est accompagnée d'une tonne de fonctions et options. Custom Bullet: utiliser cette extension pour faire vos propres listes de définition. Non editable: une fois activé, vous pouvez protéger des éléments de l'édition. XOOPS Image Manager: le gestionnaire d'images de Xoops converti en extension. Conseillé pour ceux qui ont des problèmes avec iBrower ou iManager. Context Menu: fournit quelques commandes à utiliser dans l'éditeur à partir d'un clic droit dans l'éditeur ou sur des éléments. Veuillez noter que bien que ce plugin apparaisse à l'intérieur du textarea dans les barres d'outils, il n'y a aucune icône pour le représenter dans l'éditeur. xrmanager: cette extension réalise une connexion avec les plugins advlink, advimage et flash. Une fois activée vous pourrez visualiser des fichiers ou des liens sur le serveur et si vous visualiser des images vous pourrez les éditer. Keyboard: c'est un clavier Unicode pour des languages variés. Equation: retourne quelques équations définies à l'éditeur Layer: insère le texte sélectionné dans des calques DIV, mais dispose de moins d'options que l'extension insertdiv. Style: ajoute quelques options au texte sélectionné. Templates: avec cette extension vous pouvez uploader/télécharger/éditer des fichiers html ou css. Les répertoires pour l'upload et l'édition sont définis dans les préférences du module. Veuillez noter que vous ne pouvez pas éditer des fichiers contenant des variables smarty. J'espère que cela sera possible dans une prochaine version. Spellchecker: cette extension est un navigateur indépendant. Vous pouvez l'utiliser avec différents modes pspell ou Google-services. Nonbreaking: cette extension permet d'ajouter le caractère html espace Pagebreak: cette extension ajoute la balise [pagebreak] au contenu, ce qui permet à certains modules de diviser le contenu en plusieurs pages. En mode WYSIWYG une ligne horizontale sera affichée. Page 18 sur 23 Documentation TinyEditor version 1.0 Media: cette extension permet d'insérer différents médias comme QuickTime, Flash, ShockWave, RealPlayer et Windows Media Player. Visual chars: permet de rendre visible des caractères comme . Xhtmlxtras: cette extension ajoute le support de quelques éléments xhtml comme : cite, ins, del, abbr abd acronym. Youtube: avec cette extension vous pouvez ajouter des films Youtube. Il suffit de saisir le numéro du film. Cette extension peut être incompatible avec le plugin flash. Devkit: utiliser cette extension si vous voulez débugger ou développer des plugins tinyMCE. Une fois activé une petite iframe s'affichera en haut de chaque page. Clic et une fenêtre d'information avec divers onglets s'affichera.. Page 19 sur 23 Documentation TinyEditor version 1.0 7. Fonctionnalités FTP Voici quelques informations supplémentaires sur ce qui a changé depuis les dernières versions (beta, RC1). À mon avis le tinyeditor fonctionnait tout à fait bien, mais pas lorsque le serveur php était configuré avec safe_mode = on. Ce paramétrage a empêché beaucoup d'actions comme créer des plugins intégrés dans d'autres plugins. C'est pourquoi j'ai dû ajouter la fonction ftp au module. Si vous vous sentez mal à l'aise en utilisant le ftp pour tous les groupes ne l'utilisez pas. Mais si vous voulez l'employer, faites un accès de ftp qui pointe seulement vers votre répertoire uploads et JAMAIS à la racine de votre site. J'ai ESSAYÉ de faire aussi sécurisé que possible, mais on ne sait jamais… Si le ftp ne fonctionne pas comme prévu activez ftp-debug dans les permissions. Ces permissions sont seulement pour le groupe qui a des droits d'admin sur le tinyeditor, il affiche chaque transaction de ftp comprenant des noms d'utilisateur et des mots de passe, aussi soyez vigilant qui composent ce groupe quand le mode debug est activé. Avec un menu supplémentaire dans l'administration ftp CHMOD vous pouvez attribuer des CHMODs à chaque dossier ou simple fichier dans votre espace ftp. Chaque changement de CHMOD à 777 sera inséré dans la base de données de sorte que vous puissiez suivre les changements. Pour faire fonctionner le ftp vous devez éditer quelques dossiers manuellement : include/ftpconfig.php pour le ftp général à l'intérieur des extensions, include/ftpconfigchmod.php pour le chmod des fichiers et répertoires et include/ftpconfigplugin.php pour l'upload des extensions et fichiers langages. Vous devez fournir les 3 à 4 informations : a) le nom de votre serveur ftp b) un chemin facultatif si votre ftp-accès commence quelque part au-dessous de votre installation de XOOPS. S'il n'y a pas un tel chemin facultatif, laisser un slash (/) c) le nom du user ftp d) le mot de passe pour le ftp-accès. Sauvegarder les fichiers et protéger les en écriture immédiatement ! ! Un bon conseil avant de décider d'employer le ftp ou pas : Pour éviter des problèmes graves commencez par décider d'employer le ftp ou pas. Commencer par l'utiliser sans cette option n'est pas, à mon avis, une bonne idée si vous l'activez un peu plus tard. En procédant ainsi vous rencontrerez des problèmes Page 20 sur 23 Documentation TinyEditor version 1.0 sur la suppression de fichier par exemple parce que les permissions sur des dossiers et les fichiers sont différentes avant et après utilisation de ftp. Petit exemple : vous avez décidié de ne pas employer tinyeditor avec le ftp et vous uploader des fichiers, vous les copiez, créer des répertoires, etc.. Puis vous décidez d'utiliser ftp, cela aura pour conséquence que les fichiers et dossiers déjà créés auront un propriétaire différent et que leur suppression vous sera refusée.. Page 21 sur 23 Documentation TinyEditor version 1.0 8. Upload d'extensions (plugins) Cette partie de l'administration peut être utilisée pour uploader de nouvelles extensions ou fichiers langues. Si votre serveur dispose de l'option safe_mode = on il faut activer l'option FTP dans les préférences du modules. Si vous n'utilisez pas FTP il vous faudra paramétrer tinyeditor/admin/images et tinyeditor/editor/plugins en CHMOD 777 pour que cela fonctionne. Il suffit juste de sélectionner les fichiers de votre disque dur et de les uploader Vérifier bien que la dénomination des fichiers qui doit ressembler à plugin_nomduplugin.zip ou fr_langfile_nomduplugin.zip Les fichiers zips qui sont uploadés passent à travers 4 étapes de contrôles, sont décompressés puis copiés dans le répertoire prévu. Si un échec se produit pour quelque raison que ce soit, vous devrez manuellement transférer les fichiers décompressés sur le serveur. Page 22 sur 23 Documentation TinyEditor version 1.0 9 Crédits J'aimerai remercier tous les gens listés ici dans un ordre non-spécifique : • http://tinymce.moxiecode.com/ Moxiecode‘s crew pour avoir réalisé un outil si grand et pratique • http://www.zhuo.org/htmlarea/docs/index.html Wei Zhuo pour le gestionnaire avancé d'imagesr • Phppp pour avoir assuré une compatibilité de tinyeditor avec les versions Xoops < 2.2 et pleins d'autres choses • ralf57 pour avoir écrit tinyeditor. • paketep pour avoir fourni du code et des idées. • irmtfan pour le debug et les idées. • http://www.frxoops.org pour être mes plus grands supporters et me fournir un lot de bugs et problèmes, une grande documentation et des traductions. • silver74 pour m'avoir fourni l'inspiration dans les priorités des groupes. • satanas pour m'avoir donné un espace web • searche pour m'avoir donné un domaine temporaire de test et développé debaser (désolé si c'est pas la bonne place) • terrion d'ultranetdomains.com pour m'avoir offert un espace web et être toujours utile. • http://www.phpconcept.net pour le grand script pclzip • Ryan Demmer de qui j'ai emprunté le code pour xrmanager et ses templates que j'ai un peu modifié et le plugin charcoun • TOMO de Mambo pour avoir écrit une class FTP excellente • Andrew Tetlaw pour son plugin blockproperties • Nephesh Studios pour son plugin custombullet • CDL pour son plugin equation • mmjaeger pour ses plugins ibrowser et imanager • Maxime Lardenois pour son plugin insertcode • kristofik pour son plugin insertdiv • Misc. pour son plugin keyboard. Voir le fichier keyboard.html pour plus de détails. • Adrian Hope-Bailie pour le plugin youtube • McDonald pour avoir fait mon travail et fourni du support à tinyeditor. • Et tout les autres qui ont contribué avec leurs plugins et aide. Page 23 sur 23