tinyeditor 1.0
h e d
l d an
g n i eid
0 Inhoud
1. tinyeditor installeren ................................................................ 2 2. Instellen van tinyeditor ............................................................ 3 3. ����������������������������� Instellen van de taakbalken ...................................................... 5 4. Instellen van de permissies . ..................................................... 6 5. Modules geschikt maken voor tinyeditor ..................................... 7 6. Plugins . ................................................................................. 9 7. FTP funkties............................................................................16 8. Plugins uploaden.....................................................................17 9. Met dank aan . ...................................................................... 18
Deze handleiding is door McDonald vertaald in het nederlands.
tinyeditor 1.0
1 tinyeditor installeren Kopieer de inhoud van de map “xoopseditor” naar root/class/xoopseditor van uw Xoops installatie of, als de map xoopseditor niet bestaat, kopieer de komplete map “xoopseditor” naar root/class. Een goed idee is om het xoopseditor pakket te gebruiken en deze over de bestanden in de map class/xoopseditor/tinyeditor te kopiëren. Kopieer de map “tinyeditor” naar root/modules, installeer tinyeditor zoals elke andere Xoops module en genereer de templates voor tinyeditor met de XOOPS templates manager.
De volgende mappen dienen (indien aanwezig) een speciale CHMOD instelling te krijgen:
CHMOD 777 • tinyeditor / editor • tinyeditor / editor • tinyeditor / editor • tinyeditor / editor
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
/ / / /
plugins plugins plugins plugins
tinyeditor 1.0
/ / / /
ibrowser / temp / ibrowser / scripts / phpThumb / cache / imanager / temp / imanager / scripts / phpThumb / cache /
2 Instellen van tinyeditor Breng eerst een bezoekje aan de Instellingen van tinyeditor. Daar dienen namelijk eerst een aantal instellingen gedaan te worden. Editor’s taal: Stel hier uw taal in. Voor deze optie dienen we een taalcode volgens de iso639-1 standaard in te voeren. Bijvoorbeeld: en voor Engels, nl voor Nederlands, de voor Duits of fr voor Frans. Editor’s CSS: Geef het pad naar het CSS-bestand dat gebruikt moet worden voor de inhoud binnen het editors veld. Als het leeg wordt geladen, dan wordt normaliter het CSS van het huidige thema gebruikt. Gelieve uw eigen CSS-bestand voor de editor te maken, welke de meeste belangrijke stijlen voor uw site bevat. Niet alle CSS-instrukties in uw standaard thema zijn nodig voor het formatteren van uw artikelen. Forceer BR elementen: Deze optie forceert de uitvoer van BR elementen in plaats van P elementen in Internet Explorer. Forceer P elementen: Als de gekozen optie Ja is dan zal Mozilla/Firefox P elementen genereren bij aanslag van de Enter toets en BR elementen bij Shift+Enter/Return toets. De optie Ja is per definitie ingesteld. Forceer relatieve URLs: Kies Ja om absolute URLs om te zetten in relatieve URLs. Er is alleen een bug, maar dat ligt niet aan tinyeditor. Als de inhoud van een blok dat bewerkt is in WYSIWYG op de website verschijnt en het is niet in het bereik van de geassocieerde module, dan zullen relatieve URLs niet werken. Voorbeeld: Als u een nieuws blok gebruikt op de website, maar News is niet uw start module, dan is de informatie voor afbeelding/bestand-URLs niet juist. Verwijder script host: Als deze optie is ingeschakeld, dan worden de host en delen van de URLs verwijdert als ze naar dezelfde host verwijzen als het script. Deze optie staat standaard aan als de optie “Forceer relatieve URLs” uit staat. Taakbalk lokatie: Deze optie stelt u instaat om de lokatie (boven of onder) van de taakbalk te kiezen. Wijzig type richting: Kies de optie Ja om de type richting te wijzigen van LNR (links-naarrechts) naar RNL (rechts-naar-links). Pad lokatie elementen: Stel hier het pad naar de lokatie voor de elementen in (boven, onder of geen). U ziet slechts het resize-handvat voor de editor, wanneer het pad naar de lokatie van de elementen zichtbaar is. Datum en Tijd formaat: Stel hier het formaat in voor de Insert Date/Time plugin met behulp van de volgende variabelen %y
jaar als een decimaal getal zonder honderdtal (00 t/m 99)
%Y
jaar als een decimaal getal inclusief honderdtal
%d
dag van de maand als een decimaal getal (01 t/m 31)
%m
maand als decimaal getal (01 t/m 12)
%D
hetzelfde als %m/%d/%y
%r
tijd genoteerd als a.m. en p.m.
%H
uur als decimaal getal bij een 24-uur klok (00 t/m 23)
%I
uur als decimaal getal bij een 12-uur klok (01 t/m 12)
%M
minuut als een decimaal getal (00-59)
tinyeditor 1.0
%S
seconde als een decimaal getal (00-59)
%p
’am’ of ’pm’ volgens de te geven tijdswaarde
%%
een letterlijk ’%’ karakter
Upload map: Stel de map voor het uploaden van afbeeldingen in. Opgelet: deze map dient handmatig aangemaakt te worden en bij een Unix systeem met CHMOD op 777 ingesteld worden. Gewis u ervan dat de upload map al bestaat op de server. De upload map wordt gebruikt door de volgende plugins: ibrowser, imanager en xrmanager. Instellen van mappen per gebruiker: Als Ja gekozen is, dan beheerd iedere gebruiker zijn eigen upload map om clusteren van disk ruimte te voorkomen. De mappen worden benoemd als gebruiker_gebruikerid. Gzip-Compressie: De editor zal tot ongeveer 70% sneller werken. De komplete javascriptcommandoset zal worden opgeslagen in in the cache-map van Xoops. Een kleine tegenvaller: Als u plugins en knoppen toevoegd aan de editor nadat het cachebestand al is weggeschreven dan dient u het zip-bestand te verwijderen uit de cache-map. Dit cache-zip-bestand zal automatisch opnieuw aangemaakt worden. Er zal per gebruikersgroep een cache-bestand aangemaakt worden. tinyeditor en gzip-compressie werken naar aller waarschijnlijkheid niet met enkele (voornamelijk GDATA Internet Security) antivirus scanners. In dit geval is het beter gzip-compressie uit te schakelen in plaats van onveilig te browsen. Subdirectory: Deze optie dient u in te vullen als uw XOOPS website werkt vanuit een subdirectory. Bijvoorbeeld: In plaats van http://localhost/ naar uw homepage te laten wijzen, is http://localhost/wotever/ de URL naar uw homepage. Vul de naam in van uw subdirectory beginnend met een slash (wotever). Het is niet nodig om met een slash te eindigen. Welke bibliotheek voor het aanmaken van thumbs? Stel de bibliotheek in voor het aanmaken van thumbs. Gebruik GD als uw PHP installatie safe_mode=on heeft. Informatie over safe_mode zal worden afgebeeld als u de administrator index bezoekt van tinyeditor. Pad naar de bibliotheek: bibliotheek. Als u GD Breedte pictogramen (px): xrmanager instellen. Hoogte pictogrammen (px): xrmanager instellen.
Stel hier het server pad in naar de Image Magick of NetPBM gebruikt, laat dit veld dan zoals het is. Hier kunt u de maximale breedte voor pictogrammen in Hier kunt u de maximale hoogte van pictogrammen in
Voorvoegsel voor pictogram bestanden: Optionele instelling. U hoeft dit niet te veranderen. Verander NIKS als u server in safe_mode=on werkt. De punt voor de bestandsnaam zorgt ervoor dat het bestand onzichtbaar is als u de mappen doorzoekt. Map om pictogrammen op te slaan: Optionele instelling. U hoeft dit niet echt te veranderen. Als safe_mode aanstaat dan zal de pictogram in dezelfde map als de afbeelding worden opgeslagen. De punt voor de bestandsnaam zorgt ervoor dat het bestand onzichtbaar is als u de mappen doorzoekt. Standaard pictogram: De standaard pictogram als pictogrammen niet aangemaakt kunnen worden, door een fout of een foutief afbeeldingsbestand. De afbeelding moet ergens in de struktuur van tinyeditor bestaan. Tijdelijk voorvoegsel bestandsnaam Image Editor: Optionele instelling. U hoeft dit niet echt te veranderen. De punt voor de bestandsnaam maakt het onzichtbaar. Kolommen pictogrammen:
Voer het aantal kolommen in om pictogrammen af te beelden.
tinyeditor 1.0
Organiseer upload ruimte bij: ruimte ongeordend wordt.
Selekteer de juiste item om te voorkomen dat de upload
Mappen voor HTML- en CSS-bestanden: Type in waar de HTML- en CSS-bestanden zich bevinden die u graag met tinyeditor zou willen bewerken (templates-plugin dient geinstalleerd te zijn). Bijv.: modules/content/html – u kunt meer dan een map invoeren, maar dienen gescheiden te zijn van spatie. Er is in deze versie geen ondersteuning van smarty. Voor het opslaan van de bestanden dient de map schrijfbaar te zijn. Gebruik FTP? U kunt PHP-FTP commandos gebruiken in plaats van normale bestand commandos van FTP. Als uw PHP installatie is gekonfigureerd met safe_mode=on dan kunt u niet van alle mogelijkheden van de xrmanager plugin gebruik maken. Een ander aardig neveneffekt is dat u niet meer gebonden bent aan upload limieten. Opheffen groep taakbalken? Klinkt riskant, maar is eigenlijk vrij eenvoudig. Als gebruikers zich in verschillende groepen gebruiken, dan wordt zonder deze instelling alleen de eerste groep id voor taakbalken gebruikt worden. Hiermee kunt u een prioriteit instellen. Of, als een aardige bijkomstigheid, u kunt een aantal groepen instellen een taakbalk van een specifieke groep te gebruiken. U dient dit als volgt in te voeren: 2|3|4|5|2 wat betekend dat de groepen met de groep id's 2 t/m 5 de taakbalk van groep 2 gebruiken. De laatste waarde bepaald altijd de uiteindelijke groep!! Zorg ervoor dat een groep id maar een keer voorkomt in deze lijst. Gebruikt een spatie als scheiding voor het maken van meer kombinaties. Uitpakken geuploade ZIP bestanden met xrmanager? Dit zorgt ervoor dat ZIP bestanden uitgepakt worden in de geselekteerde map. Sub-mappen binnen het ZIP bestand worden behouden. OPGELET: Er is op het moment geen BETROUWBARE methode om te detekteren wat er zich in het ZIP bestand bevindt. Wees dus voorzichtig met het aanwijzen van wie het is toegestaan om ZIP bestanden te uploaden (dit kan gedaan worden bij het management van de mimetypes van tinyeditor). U bent nu klaar met de instellingen en kunt nu verder gaan met de taakbalken! Daar kunt u de taakbalken per gebruikersgroep instellen.
tinyeditor 1.0
3 Instellen van de taakbalken Selekteer eerst een groep waarvoor u taakbalken wilt aanmaken. Alleen voor de eerste DRIE groepen (webmasters, geregistreerde gebruikers en anonieme gebruikers) zijn de taakbalken al gedefinieerd. Voor andere groepen dient u nieuwe taakbalken samen te stellen! Zie ook vorig hoofdstuk voor het opheffen van groep id's. Taakbalk regels: Er zijn drie regels beschikbaar voor uw gereedschappen. Klik op de pictogrammen om de gereedschappen in het tekstveld te plaatsen. De volgorde waarin de gereedschappen in het tekstveld staan, is de volgorde waarin ze staan in de editor. Maakt u zich geen zorgen over spaties of lege ruimtes in het tekstveld, daar deze automatische verwijderd worden na op Verstuur geklikt te hebben. Max. breedte afbeelding: Dit is de maximale afmeting van de breedte voor de afbeeldingen. Dit is slechts voor de plugins iBrowser en iManager van toepassing. Als u de plugins niet wilt gebruiken, dan kunt u dit ongewijzigd laten. Max. hoogte afbeelding: Dit is de maximale afmeting van de hoogte voor de afbeeldingen. Dit is slechts voor de plugins iBrowser en iManager van toepassing. Als u de plugins niet wilt gebruiken, dan kunt u dit ongewijzigd laten. Disk quota: Hier kunt u bepalen hoeveel schijfruimte een gebruiker voor afbeeldingen kan gebruiken. Dit is slechts voor de plugins iBrowser, iManager en xrmanager van toepassing. Als u deze plugins niet wilt gebruiken, dan kunt u dit ongewijzigd laten. Als u denkt dat u zulke beperkingen nodig hebt, wacht dan even totdat we een bezoekje hebben gebracht aan de pagina met permissies voor tinyeditor. Aktieve plugins: Dit is een lijst met geaktiveerde plugins. Doe niks met de inhoud! Dit tekstveld zal altijd gewist worden na versturen. Nu gaat u zich afvragen waarom tinyeditor dit veld dan nodig heeft? Simpel! Er zijn twee verschillende manieren om de funkties van tinyeditor (of eigenlijk tinyMCE) te gebruiken: Er zijn ingebouwde (standaard knoppen) funkties en er zijn plugins. De plugins dienen geïnitialiseerd te worden, wanneer de editor aangesproken wordt. U hoeft zich niet druk te maken over welke knop u dient te gebruiken, plugins worden altijd aan het tekstveld toegevoegd. Geldige Elementen, Uitgebreide Geldige Elementen en Ongeldige Elementen: Met deze drie velden kunt u bepalen welke html-markeringen toegestaan zijn binnen de editor. Het volgende voorbeeld komt uit de originele tinyMCE handleiding, welke u hier online kunt bekijken: TinyMCE Wiki Er is een uitgebreide uitleg over het opzetten van geldige elementen, uitgebreide geldige elementen en ongeldige elementen. Geldige elementen: Deze voorbeeld string verteld de editor alle elementen te verwijderen die ongelijk zijn aan een “a, strong, div of br” element, converteert b elementen naar strong elementen, default target naar “_blank” en houd de href, target en align attributen van de elementen.
a[href|target=_blank],strong/b,div[align],br
Zet uw definitie in de tekstvelden en sla deze op in de database. Als u niet meer tijd hieraan wilt besteden, laat de velden dan zoals ze zijn – een basis instructie set wordt dan gebruikt. Als u ervaart dat bepaalde html-markeringen in uw html-code leeg zijn, kom hier dan terug en vul de ontbrekende elementen in. Voor uw gemak is er een pulldown-menu om de standaard instructie set toe te voegen en een gereduceerde instruktie set voor gelijkaardige XOOPS DHTML editor. Zodra u de taakbalken voor al uw groepen hebt bepaald dient u naar de permissies te gaan!
tinyeditor 1.0
4 Instellen van de permissies De kleine pictogrammen laten u zien welke permissie bij welke plugin hoort. Als er geen pictogram is, dan betekend dit dat iedere gebruikersgroep van deze plugin gebruik kan maken. Uploaden bestanden toegestaan: Hier kunt u instellen welke groep het is toegestaan om afbeeldingen te uploaden. Dit geldt alleen voor de plugins iBrowser en iManager. Wissen bestanden toegestaan: Hier kunt u instellen welke groep het is toegestaan om afbeeldingen te wissen. Dit geldt alleen voor de plugins iBrowser en iManager. WYSIWYG: Hier kunt u bepalen welke groepen de WYSIWYG-eigenschappen mogen gebruiken. Als u het hokje niet aanvinkt, dan zullen de gebruikers de standaard DHTML-teksteditor te zien krijgen. Dit geldt niet voor webmasters, daar zij altijd over WYSIWYG beschikken. Aanmaken mappen toegestaan: Hier kunt u bepalen welke groepen mappen mogen aanmaken. Gebruik disk-quota: Hier kunt u aangeven welke groepen gelimiteerde schijfruimte hebben voor het uploaden van afbeeldingen (de hoeveeld schijfruimte die aangegeven was in taakbalken). Hou er rekening mee dat de groep webmasters hier NIET automatisch toe behoort. Als u wilt dat ook webmasters gelimiteerde schijfruimte hebben, dan dient u deze ook aan te vinken. Opheffen gebruiker-mappen voor afbeeldingen: Als de gebruiker gelimiteerde schijfruimte heeft dan kan deze gebruiker alleen binnen deze mappen navigeren. Met deze permissie is het mogelijk dit op te heffen, zodat het deze groep is toegstaan ALLE upload-mappen te zien. Deze permissie heeft alleen nut als de 'Gebruik disk-quota' optie gebruikt wordt. Verander attributen afbeelding: Hier kunt u aangeven welke groep de eigenschappen van afbeeldingen mag veranderen. Hernoemen afbeeldingen: Hier kunt u aangeven welke groep afbeeldingen mag hernoemen. Hou er rekening mee dat dit tot ongewenste resultaten kan leiden als de afbeeldingen al in artikelen zijn gebruikt. Toegestaan om niet-lege mappen te verwijderen: Hier kunt u bepalen welke groep het is toegestaan om komplete map strukturen te verwijderen, zelfs als deze niet leeg zijn. Hernoemen mappen: Hier kunt u bepalen welke groepen mappen mogen hernoemen. Hou er rekening mee dat dit tot ongewenste resultaten kan leiden als de map namen al gebruikt worden. Kopiëren mappen: Hier kunt u bepalen welke groepen het toegestaan is om mappen te kopiëren. De inhoud van deze mappen wordt ook gekopieerd. Verplaatsen mappen: Hier kunt u bepalen welke groepen het is toegestaan mappen te verplaatsen. De inhoud van de mappen wordt ook verplaatst. Kopiëren bestand: Hier kunt u bepalen welke groep het is toegestaan om een enkel bestand te kopiëren. Verplaatsen bestand: Hier kunt u bepalen welke groepen een enkel bestand mogen verplaatsen. Bewerken bestand: Hier kunt u bepalen welke groepen het is toegestaan bestanden te bewerken. Op dit moment kunnen alleen afbeeldingen worden bewerkt.
tinyeditor 1.0
Sta gebruik xrmanager toe: Hier kunt u bepalen welke groepen de xrmanager mogen gebruiken. Dit is een speciale permissie, omdat dit gekoppeld is aan de php ftp optie. Gebruik FTP Debug? Deze permissie is alleen voor groepen die admin rechten hebben voor tinyeditor om mogelijke problemen te detekteren. Let erop dat paden, gebruikersnamen en wachtwoorden afgebeeld worden. Dus vergewis u ervan dat er zich in de webmaster groep alleen personen bevinden die u vertrouwd als FTP Debug aan staat. Een laatste hint: Als PHP commando's als copy uitgezet zijn op uw server, dan zult u niet alle bovenstaande permissies zien. U kunt ze terugkrijgen als u FTP gebruikt met de module (als u mijn programmeer vaardigheden vertrouwd). U bent nu klaar om tinyeditor te gebruiken, MITS de modules waarin u met tinyeditor wilt werken hier klaar voor zijn. Daarom volgen er in het volgende hoofdstuk een aantal instrukties om tinyeditor te implementeren.
tinyeditor 1.0
5 Modules geschikt maken voor tinyeditor Als u een “oude” versie van Xoops (< 2.2) gebruikt, dan kunt u tinyeditor ook gebruiken. In dit geval zijn een paar aanpassingen aan enkele bestanden van uw modules nodig. Er volgt nu een voorbeeld om tinyeditor te integreren met een oude versie van de News module (ouder dan versie 1.44): Open het volgende bestand in een teksteditor XOOPS_ROOT_PATH/modules/news/include/storyform.inc.php voeg de volgende regel toe ter hoogte van ongeveer regel 35 include_once XOOPS_ROOT_PATH . "/class/xoopseditor/tinyeditor/formtinyeditortextarea.php"; Zorg er voor dat dit het laatste bestand is. Ga daarna verder met het vervangen van de regels die de tekstvelden aanmaken met: $sform->addElement(new XoopsFormTinyeditorTextArea (array(\'caption\'=> _NW_THESCOOP, \'name\'=>\'hometext\', \ 'value\'=>$hometext, \'width\'=>\'100%\', \'height\'=>\'400px\'),true)); voor de inleidende tekst (Scoop) en $sform->addElement(new XoopsFormTinyeditorTextArea(array(\'caption\' => _AM_EXTEXT, \'name\'=>\'bodytext\', \'value\'=>$bodytext,\ 'width\'=>\'100%\', \'height\'=>\'400px\'),false)); voor de Uitgebriede tekst (Extended text). Klaar!! Hier volgt een beschrijving over hoe “nieuwe” modules, die ontworpen zijn voor de standaard xoopseditor, aangepast kunnen worden om met tinyeditor te werken. We nemen de nieuwe News-module als voorbeeld. Koivi was de eerste editor die voor de xoopseditor framework gebruikt werd. Dus laten we eens onderzoeken hoe Koivi geïmplementeerd is, zodat we dit kunnen gebruiken voor tinyeditor. Open xoops_version.php en zoek de volgende array op (kan variëren):
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';
en verander dit in:
array(_MI_NEWS_FORM_DHTML => 'dhtml', _MI_NEWS_FORM_COMPACT => 'textarea', _MI_NEWS_FORM_SPAW => 'spaw', _MI_NEWS_FORM_HTMLAREA => 'htmlarea',
tinyeditor 1.0
_MI_NEWS_FORM_KOIVI => 'koivi', _MI_NEWS_FORM_FCK => 'fck', 'tinyeditor' => 'tinyeditor');
Open nu include/functions.php en zoek op: 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; Voeg hier achter de volgende regels toe: 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'=>$ca ption, 'name'=>$name, 'value'=>$value, 'width'=>'100%', 'height'=>'400px', 'xEditor'=>'1')); } break; Update de News-module en u bent klaar (hopelijk). Nu heeft u een goed voorbeeld hoe u tinyeditor kunt implementeren in andere modules. tinyeditor als voorkeurs editor voor Xoops instellen: Als u Xoops 2.0.15 of hoger gebruikt, dan kunt u het bestand /class/xoopsform/formdhtmltexteditor.php aanpassen door de volgende regel te veranderen: var $htmlEditor = array(); in var $htmlEditor = array(‚XoopsFormTinyeditorTextArea', ‚/class/xoopseditor/ tinyeditor/formtinyeditortextarea.php');
NIEUW Een nieuwe parameter is toegevoegd aan de huidige versie van tinyeditor (vanaf versie 1.0 BETA): xEditor. Deze parameter kan gebruikt worden om XOOPS DHTML editor te imiteren. Als de waarde ervan 0 is, wordt een gereduceerde instruktie- en commandoset gebruikt. Dit kan handig zijn als u andere dhtml tekstgebieden wilt omzetten in WYSIWYG.
tinyeditor 1.0
10
6 Plugins Horizontale lijn: Met deze plugin kunt meer waardes definiëren, zoals breedte, hoogte en schaduw voor de horizontale lijn. Geadvanceerde afbeelding: Dit is een geadvanceerde versie van de standaard knop voor afbeeldingen. Hiermee kunt u enkele extra opties instellen. Hou er rekening mee dat uploads met deze plugin niet meer mogelijk zijn. Om gebruik te maken van deze plugin moet de standaard knop ook geplaatst worden. Geadvanceerde link: Dit is een geadvanceerde versie van de standaard link knop. Hiermee kunt u veel meer opties instellen. Als extraatje hebben we een mogelijkheid toegevoegd om links naar Xoops modules te maken. Momenteel zijn links van de modules mylinks, newbb, news en WF-Downloads mogelijk. De extra code voor het toevoegen van Xoops links vindt u in de map met plugins in de map van de plugin advlink. Veel tijd is er niet gespendeerd aan het schrijven van deze plugins voor de advlink plugin. Misschien dat u de php scripts kunt verbeteren? Emotions: Deze plugin maakt gebruik van de Xoops database voor smilies en plaatst ze in de editor. Flash: Plaats Flash filmpjes. Voer de URL, breedte en hoogte van het filmpje in en plaats ze. Voeg datum in: Voeg de huidige datum in, zoals deze gedefinieerd is in de instellingen. Voeg tijd in: Voeg de huidige tijd in, zoals deze gedefinieerd is in de instellingen. Voorbeeld: Met deze knop krijgt u een voorbeeld van de inhoud van het tekstveld in een popup venster. Print: Met deze knop kunt u de inhoud van het tekstveld printen. Zoek: Zoek naar specifieke woorden in de inhoud van het tekstveld van de editor. Vervang: Zoek naar specifieke woorden in de inhoud van het tekstveld en vervang ze door een ander woord. Tabel: Deze plugin geeft u alle mogelijheden om een tabel te maken. Eenmaal geaktiveerd krijgt u 11 knoppen voor het ontwerpen en editten van tabellen. Vergroot: Met deze plugin kunt u de inhoud van het tekstveld tot 250% vergroten (werkt alleen in IE). Spellingskontrole: Met deze plugin kunt u de spelling kontroleren van de inhoud van het tekstveld (alleen bij IE). Je dient IESPELL (http://www.iespell.com/download.php) hiervoor te installeren. XOOPS-Quote: Hiermee kunt u tekst aanhalen (quote). Blok eigenschappen: Met deze plugin heeft u extra opties voor de blok-elementen zoals kopteksten en paragrafen. U dient in een blok te klikken om de eigenschappen ervan te kunnen bewerken. XOOPS-Code: Hiermee kunt u Xoops-code in uw tekst plaatsen, waarbij de opmaak van de code behouden blijft. ML-Inhoud: Deze plugin opent waar u uw tekst plakt en selekteert de taal-opmaak. Deze plugin is er om te gebruiken met Xoops multilanguage-hacks. Plak Word: Kopieer uw tekst van een Word dokument en plak de inhoud in de editor. De Word-code wordt opgeschoond. Er zijn veel meer mogelijkheden voor deze plugin, zie originele tinyMCE dokumentatie. Er zijn kleine verschillen in de uitvoering van deze plugin tussen IE en Gecko browsers. Bij IE kunt u gewoon de tekst kopiëren en daarna op de knop druk-
tinyeditor 1.0
11
ken in de editor. Bij Gecko-browser dient u de tekst in een popup venster te plakken en daarna op Voeg toe te klikken om terug te gaan naar de editor. Plak tekst: Deze plugin plakt eenvoudige tekst in de editor. U kunt linebreaks behouden als u dat wilt. Alles Selekteren: Met deze plugin kunt u de gehele inhoud van de editor selekteren. LNR / RNL: Met deze plugin kunt u de schrijfrichting van een paragraaf veranderen. Volledig Scherm: Met deze plugin kunt u de editor het gehele scherm in beslag laten nemen. Als u weer op het pictogram klikt gaat de editor terug naar zijn originele formaat. iManager: Dit is een zeer uitgebreide plugin voor het beheren van afbeeldingen. U kunt bestanden uploaden, bewerken, een aantal speciale effekten toevoegen, etc. Hoewel bijna volmaakt, kunnen zich een aantal problemen met deze plugin voordoen: a) In de meeste gevallen werkt de auto-detektie van de document root gewoon, maar in een aantal gevallen niet. Om dit probleem op te lossen dient het bestand tinyeditor/editor/plugins/ imanager/scripts/phpThumb/phpThumb.config.php aangepast te worden en dienen we de document root handmatig in te stellen. b) In enkele gevallen zijn er problemen met de GD-library. Dit gebeurt als er geen GD-library op de server geinstalleerd is of als de versie niet de juiste is. Dit zijn problemen waar de plugin niks aan kan doen. In dit geval adviseren we om de standaard Xoops image manager te gebruiken. iBrowser: Bijna hetzelfde als iManager, maar met minder funkties. Dezelfde problemen doen zich voor als bij de iManager plugin. Karakters teller: Telt het aantal woorden en karakters in het tekstveld. Voeg Code Toe: Opent een popup venster waarin u de broncode kunt plakken. Selekteer de gebruikte programmeer taal. Eenmaal gedaan verschijnt de broncode netjes opgemaakt in de editor, waarbij gebruik gemaakt wordt van de geshi-syntax-highlighter. Als u deze plugin wilt gebruiken dient u enkele CSS-klassen toe te voegen aan het CSS-bestand van de editor. 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
tinyeditor 1.0
12
.kw2, .sql .kw2, .xml .kw2 {color: #000000; font-weight: 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;} Voeg DIV in: Maakt een DIV van de geselekteerde tekst. Deze plugin is voorzien van veel mogelijkheden en opties. Custom Bullet: Gebruik deze plugin om uw eigen lijst met definities aan te maken. Niet Te Bewerken: Eenmaal geaktiveerd kan u stijl Niet Te Veranderen van de stijl selektie kiezen om elementen tegen veranderingen te beschermen.
ager.
XOOPS Image Manager: Dit is de welbekende XOOPS image manager in de vorm van een plugin. Het is bedoeld voor degene die problemen ondervinden met iBrowser of iMan-
Index Menu: Geeft u een aantal commandos om te gebruiken in de editor, wanneer u met de rechter muisknop in de editor klikt of op elementen. Hou er rekening mee dat deze plugin in het tekstveld als pictogram verschijnt bij het aanmaken van de taakbalken, maar dat er geen pictogram op de taakbalk van de editor aanwezig is.
tinyeditor 1.0
13
xrmanager: Dit is een plugin voor de plugins advlink, advimage and flash. Eenmaal geaktiveerd bent u in staat naar bestanden te bladeren of links op uw server. Als u door de afbeeldingen bladert kunt u ze bewerken. Unicode toetsenbord: Deze plugin biedt u de mogelijkheid om tekst te typen in vreemde karakters zoals bij oosterse, arabische, hebreeuwse, etc. talen. Om door de tekst te navigeren kunt u de pijltjes toetsen op het toetsenbord, welke in een popup venster wordt afgebeeld, gebruiken. Formule: Deze plugin kan formules in de editor plaatsen. Laag: Maakt van gemarkeerde tekst div-lagen. Deze plugin heeft minder opties dan de plugin insertdiv. Stijl: Voegt meer opties toe aan uw tekst. Templates: Met deze plugin kunt u HTML- of CSS-bestanden uploaden/downloaden en bewerken. De mappen voor uploaden en bewerken dienen onder Instellingen ingesteld te zijn. Hou er rekening mee dat u GEEN bestanden kunt bewerken die smartycommandos bevatten (dit wordt mogelijk in een latere versie – hopelijk). Spellingkontrolle: Deze plugin is browser afhankelijk. U kunt deze plugin in verschillende modes gebruiken: pspell of Google-services. Niet afbreken: Deze plugin voegt een -karakter toe. Pagina breken: Deze plugin voegt de tag [pagebreak] toe aan de inhoud, welke wordt gebruikt door sommige modules om de inhoud te verdelen over meerdere pagina’s. Indien in WYSIWYG mode zal er een horizontale lijn worden afgebeeld. Media: Deze plugin is voor embedded media, zoals QuickTime, Flash, ShockWave, RealPlayer en Windows Media Speler. Zichtbare karakters: Deze plugin biedt de mogelijkheid om onzichtbare karakters als &nsbp; zichtbaar te maken. Xhtmlxtras: Deze plugin voegt support toe voor enkele XHTML elementen, zoals o.a. cite, ins, del, abbr abd acronym. YouTube: Met deze plugin kunt u YouTube films toevoegen. U hoeft alleen de id-kode van het filmpje in te voeren. De plugin kan eventueel problemen veroorzaken in kombinatie met de Flash plugin. Devkit: U kunt deze plugin gebruiken voor debuggen of voor het ontwikkelen van tinyMCE plugins. Indien geaktiveerd zal er een klein iframe bovenaan iedere pagina verschijnen. Klik hierop en een informatie venster met diverse tabbladen zal verschijnen.
tinyeditor 1.0
14
7 FTP funkties Hier is wat meer informatie omtrent de veranderingen sinds de laatste versie (beta, RC1). tinyeditor werkte opzich erg goed, maar niet met de server instelling safe_mode=on. Hierdoor konden bijvoorbeeld geen mappen in andere mappen aangemaakt worden. Omwille hiervan is de ftp funktie toegevoegd aan de module. Als u zich ongemakkelijk voelt met ftp voor alle groepen, gebruik het dan niet. Maar als u het wilt gebruiken, zorg er dan voor dat ftp alleen toegang heeft tot uw upload map en NIET de root. Er is geprobeerd dit zo veilig mogelijk te maken, maar je weet het maar nooit... Als ftp niet werkt zoals verwacht, schakel dan FTP Debug aan onder Permissies. Deze permissie is alleen voor de groep met admin rechten voor tinyeditor en laat iedere ftp handeling zien, inclusief gebruikersnamen en wachtwoorden. Zorg er dus voor dat alleen personen die u vertrouwd deel uitmaken van de groep webmaster als de debug mode aan staat. Extra is nu het menu FTP CHMOD. Hiermee kunt u CHMODs uitvoeren op ieder bestand of map dat binnen het ftp bereik ligt. Iedere verandering van CHMOD naar 777 wordt opgeslagen in de database, zodat u veranderingen kunt volgen. Om FTP te laten werken dienen een aantal bestanden handmatig aangepast te worden: • include/ftpconfig.php voor algemeen ftp gebruik binnen de plugins, • include/ftpconfigchmod.php voor het chmodden van bestanden en mappen, • include/ftpconfigplugin.php voor het uploaden van plugin- en taalbestanden. Verder dient u 3 a 4 details te geven: • de naam van uw ftp-server, • een optioneel pad als uw ftp-toegang ergens anders begint dan de root van uw XOOPS installatie. Als er geen optioneel pad is, plaats dan een voorwaartse slash (/). • de naam van de ftp gebruiker, • het wachtwoord voor ftp-toegang. Sla de bestanden op en beveilig ze direkt tegen schrijven!! Een goed advies voordat u besluit FTP wel of niet te gebruiken: Om diverse problemen te voorkomen, maken eerst een beslissing of u FTP wel of niet wilt gaan gebruiken. Naar mijn mening is het geen goed idee om de editor zonder FTP te gebruiken en dan later over te schakelen op FTP. Als u dit wel doet kunt u problemen krijgen, zoals het verwijderen van bestanden, omdat de permissies van bestanden en mappen verschillend zijn voor en na het gebruik van FTP. Een voorbeeld: Stel u gebruikt tinyeditor eerst zonder FTP en heeft bestanden geupload, ze gekopieerd, mappen gemaakt, enz. Daarna besluit u FTP te gebruiken, maar dit betekend dat de bestanden en mappen die reeds bestaan een andere eigenaar hebben, waardoor verwijderen niet mogelijk is.
tinyeditor 1.0
15
8 Plugins uploaden Dit gedeelte van de administratie kan worden gebruikt voor het uploaden van nieuwe plugins of taalbestanden. Als uw server safe_mode=on heeft, dan dient u FTP onder Instellingen te aktiveren. Als u geen FTP gebruikt, dan dient u tinyeditor/admin/images en tinyeditor/editor/ plugins een CHMOD 777 instelling te geven. Doorzoek de bestanden op uw lokale harde schijf en upload ze. Vergewis u ervan dat de bestanden namen hebben als plugin_naamvandeplugin.zip of nl_taalbestand_naamvandeplugin. zip (nl is de afkorting van de taal). De zip-bestanden worden geupload, ondergaan een 4-voudige kontrolle, uitgepakt en gekopieerd naar de juiste map. Als dit om wat voor reden ook mislukt, dient u handmatig de bestanden uit te pakken en te uploaden. Zoals al in een eerder hoofdstuk werd vermeldt kunnen ZIP bestanden niet volledig gekontrolleerd worden.
tinyeditor 1.0
16
9 Met dank aan Graag zou ik de volgende personen willen bedanken: http://tinymce.moxiecode.com/ Moxiecode's crew voor het maken van deze geweldige tool http://www.zhuo.org/htmlarea/docs/index.html Wei Zhuo voor de geadvanceerde afbeelding manager/editor phppp voor het fixen van tinyeditor's backward compatibiliteit met Xoops < 2.2 en meer hints ralf57 voor het schrijven van tinyeditor. paketep voor het geven van code en ideeën. irmtfan voor debuggen en ideeën. http://wwwfrxoops.org voor het zijn van mijn grootste 'fans' en voor het aangeven van een heleboel bugs, problemen, documentatie en vertalingen. silver74 voor de inspiratie van groep overriding. satanas voor het beschikbaar stellen van webruimte voor het uploaden van imanager. searche voor het doneren van een tijdelijk domein voor het testen en ontwikkelen van debaser. terrion van ultranetdomains.com voor het beschikbaar stellen van websuimte en alle hulp. http://www.phpconcept.net voor het geweldige pclzip-script. Ryan Demmer van wie ik de code voor xrmanager heb geleend en voor de templates plugin die ik enigzins gemodificeerd heb en voor de karakter teller plugin. TOMO van Mambo voor het schrijven van zijn uitmuntende FTP class. Andrew Tetlaw voor de blok-eigenschappen plugin. Nephesh Studios voor hun custumbullet plugin. CDL voor formule plugin. mmjaeger voor de ibrowser en imanager plugins. Maxime Lardenois voor de insertcode plugin. kristofik voor de insertdiv plugin. Misc. voor de toetsenbord plugin. Zie keyboard.html voor gedetaileerde informatie. Adrian Hope-Bailie voor de youtube plugin McDonald voor de support voor tinyeditor. En verder iedereen voor hun hulp en kontributie van plugins.
tinyeditor 1.0
17