Add-ons
  1. Add-ons
  2. CONTRIB-2730

HTMLAREA Editor custom plugin framework support

    Details

    • Rank:
      23024

      Description

      Overview

      This (relatively small) patch to Moodle core (to: lib/weblib.php) enable
      SysAdmin to add folders of extra functionality plugins to the HTMLAREA internal editor
      without the need to change (patch) any of the lib/editor/htmlarea/htmlarea.php code
      for each plugin (toolbar icon) that they wish to add.
      (Actually, very similar to the way we can extend Moodle anywhere else...)

      Plus, it enables the SysAdmin to control which plugins are visible (system wide)
      using a "setting" configuration form. (from the system menu block)

      Plugins, included with this patch

      • AskBloom - Help teachers setup a more sophisticated instruction to students as defined by BLOOM
      • Resize editor - Extend the size of the editor when it is very small
      • AudioRecorder - Records Audio comments and embed this into the text (+Flash player)
      • Marker - mark text
      • InserSWF - Insert Flash movies into the text
      • InserEmbed - Insert EMBED element anywhere in the text (no need to switch/know html)
      • Dropbox - support Public sharing of dropbox files
      • FileManager - Support for embeding Block FileManager files inside the text
      • IconGallery - Embed Icons (free sets) (update: from the Moodledata/1/icongalleries folder)
      • CellWith - Change the width of a table's column
      • DrawSVG - Vector Graphics editing tool + Insert SVG drawing into the textarea
      • Paint - Pixlr.com editor + Insert image into the textarea
      • RemoveNOLINK - remove nolink TAG
      • PageBackground - load an image as background to the entire textarea
      • InsertImage - Drag and Drop image(s) to upload them into the textarea (any user)
      • LineHeight - Set Line Height of current paragraph
      • TableSupport (Disabled) - Table rows and cells configuration
      • Insert PDF - Embed a PDF viewer into the webpage
      • DragAndDropImage - Opens a popup window, into which a user (students) can Drag and Drop Images from their Desktop
      • TinyMCE editor - Enables editing of the current content within a TinyMCE editor using a popup window.
      • DragMath - wrapper for the DragMath Math equation editor plugin + plugin code DragMath 0.7.9 released 10/10/2010 (uses java)(see readme file for install instructions)
      • WIRIS Formula and CAS - wrapper for the WIRIS Math equation editor plugin + plugin code 2.3 beta (uses java) (see readme file for install instructions)
      • VideoRecorder - The video recording applet allows to record video in mp4 format ( H.264 video and AAC audio) and embed it into the text (Inspired by Kevin Brake @ eLearningShow.com)
      • HTMLPurify - Clean the text using HTMLPurifier library

      Demo Video : Custom Plugins

      The Framework

      Each plugin folder must include an "opendialog.js.php" file with a function (by the name of the plugin folder)
      which is called upon clicking the toolbar icon. and an "icon.png" file.
      if the plugin requires an extra dialog, a "dialog.php" file can be included. (see included samples)
      if the plugin requires language files, an extra "lang" folder with the relevant lang folders can be included.

      A base folder for the plugins must be created by the name "lib/editor/htmlarea/custom_plugins"
      Attached to this issue is a JavaScript file that handles the opening of a Dialog Window (if the plugin requires one)
      its name is "nbdialog.js" and it must be placed inside "lib/editor/htmlarea/custom_plugins".

      Together with this patch i am attaching several plugins that were made for this framework.
      ( I will be opening a new issue for each plugin, to track changes in each. and link them back to this issue )

      Attached is a clean lib/weblib.php file (Moodle version 1.9.10) + the patch applied to it ( for convenience )
      Attached is the patch file which can be applied to all 1.9.x versions
      Attached is a SysAdmin global setting form "htmlarea_plugins.php" which must be placed inside "admin/settings" folder.
      ( You, SysAdmin, will have to select any/all the plugins that you wish made available to your users, system wide, before any of them will be visible on the 3rd toolbar strip, in each Editor on your system )

      Installation

      1. Apply the patch.
      2. Unzip custom_plugins.zip into "lib/editor/htmlarea/custom_plugins"
      3. Copy "htmlarea_plugins.php" to "admin/settings"
      4. As SysAdmin, start a browser and open "http://youmoodle/admin/settings.php?section=htmlareasettings"
      select the plugins you wish to enable and save the settings.
      5. Open the HTMLAREA Editor (and checkout your new plugins!)

      I would love to get feedback on this patch and any of the attached plugins.

      Updated files can always/also be found on :
      https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea/custom_plugins

      Enjoy

      1. custom_plugins.tar.gz
        9.38 MB
        Nadav Kavalerchik
      2. htmlarea_custom_plugins.patch
        2 kB
        Nadav Kavalerchik
      3. htmlarea_plugins.php
        1 kB
        Nadav Kavalerchik
      4. nbdialog.js
        2 kB
        Nadav Kavalerchik
      5. weblib.php
        249 kB
        Nadav Kavalerchik
      1. custom_plugins.png
        25 kB
      2. htmlarea_custom_plugins_settings.png
        52 kB

        Activity

        Hide
        Nadav Kavalerchik added a comment -

        fallback to WAV link in text when no FFMPEG lib is installed on server

        Show
        Nadav Kavalerchik added a comment - fallback to WAV link in text when no FFMPEG lib is installed on server
        Hide
        Nadav Kavalerchik added a comment -

        read string['pluginname'] from each plugin lang folder

        Show
        Nadav Kavalerchik added a comment - read string ['pluginname'] from each plugin lang folder
        Hide
        Nadav Kavalerchik added a comment -

        updated plugins, new plugins + translations

        Show
        Nadav Kavalerchik added a comment - updated plugins, new plugins + translations
        Hide
        irith herman added a comment -

        Hi Nadav!
        1. There is a problem with the file draw .. svg
        Ifyou select it the editor does not appear,
        in the list of plugins there is one more drawsvg
        So maybe you simply delete it from the folder?
        2. The paint does not work. Error message:
        The file does not exist
        custom_plugins / paint / dialog.php

        Show
        irith herman added a comment - Hi Nadav! 1. There is a problem with the file draw .. svg Ifyou select it the editor does not appear, in the list of plugins there is one more drawsvg So maybe you simply delete it from the folder? 2. The paint does not work. Error message: The file does not exist custom_plugins / paint / dialog.php
        Hide
        Nadav Kavalerchik added a comment -

        Hello Irith

        1. You should run some tests on your servers to see that all was installed correctly.
        Turn on DEBUGGUB or use FIREBUG to see what is missing.
        If some of the icons do not appear, it seems like a file permission issue.
        Maybe a browser issue?

        2. The Paint and the TableSupport plugins are currently disabled (as i mentioned, above)

        Show
        Nadav Kavalerchik added a comment - Hello Irith 1. You should run some tests on your servers to see that all was installed correctly. Turn on DEBUGGUB or use FIREBUG to see what is missing. If some of the icons do not appear, it seems like a file permission issue. Maybe a browser issue? 2. The Paint and the TableSupport plugins are currently disabled (as i mentioned, above)
        Hide
        irith herman added a comment -

        Hello Nadav
        I deleted the /custom_plugins from the server and uploaded it again, I enabled the debug
        and i got this error:
        Notice: Undefined property: stdClass::$parent in /var/www/html/moodle/lib/weblib.php on line 2558

        This is the line: i don"t see any connection???

        if ($THEME->parent && (!isset($THEME->parentmetainclude) || $THEME->parentmetainclude)) {
        if (file_exists($CFG->dirroot.'/theme/'.$THEME->parent.'/meta.php'))

        { ob_start(); include_once($CFG->dirroot.'/theme/'.$THEME->parent.'/meta.php'); $metapage .= ob_get_contents(); ob_end_clean(); }

        }

        Show
        irith herman added a comment - Hello Nadav I deleted the /custom_plugins from the server and uploaded it again, I enabled the debug and i got this error: Notice: Undefined property: stdClass::$parent in /var/www/html/moodle/lib/weblib.php on line 2558 This is the line: i don"t see any connection??? if ($THEME->parent && (!isset($THEME->parentmetainclude) || $THEME->parentmetainclude)) { if (file_exists($CFG->dirroot.'/theme/'.$THEME->parent.'/meta.php')) { ob_start(); include_once($CFG->dirroot.'/theme/'.$THEME->parent.'/meta.php'); $metapage .= ob_get_contents(); ob_end_clean(); } }
        Hide
        irith herman added a comment -

        Nadav
        i gave all the folder in the htmlarea 7777 prrmission
        it didn"t help

        Show
        irith herman added a comment - Nadav i gave all the folder in the htmlarea 7777 prrmission it didn"t help
        Hide
        Herve added a comment -

        I have followed all the steps - my problem is with step 4
        4. As SysAdmin, start a browser and open "http://youmoodle/admin/settings.php?section=htmlareasettings"
        This leads me to a site with no way to select plugins.
        Any idea?
        Herve

        Show
        Herve added a comment - I have followed all the steps - my problem is with step 4 4. As SysAdmin, start a browser and open "http://youmoodle/admin/settings.php?section=htmlareasettings" This leads me to a site with no way to select plugins. Any idea? Herve
        Hide
        Nadav Kavalerchik added a comment -

        Herve, you should change "yourmoodle" with the domain name of your moodle website.

        Show
        Nadav Kavalerchik added a comment - Herve, you should change "yourmoodle" with the domain name of your moodle website.
        Hide
        Nadav Kavalerchik added a comment -

        Updated version (lot's of fixes)
        + Insert PDF (new)
        + Paint (new/updated)

        Show
        Nadav Kavalerchik added a comment - Updated version (lot's of fixes) + Insert PDF (new) + Paint (new/updated)
        Hide
        Nadav Kavalerchik added a comment -

        Paint plugin updates

        Show
        Nadav Kavalerchik added a comment - Paint plugin updates
        Hide
        Nadav Kavalerchik added a comment -

        Updated version.
        + Several fixes on various plugins
        + NEW TinyMCE plugin

        Show
        Nadav Kavalerchik added a comment - Updated version. + Several fixes on various plugins + NEW TinyMCE plugin
        Hide
        Jon Africa added a comment -

        This looks VERY promising. I just realized, though, that it is for 1.9. What differences are there in 2.0? What is prospect of doing this with 2.0?

        Show
        Jon Africa added a comment - This looks VERY promising. I just realized, though, that it is for 1.9. What differences are there in 2.0? What is prospect of doing this with 2.0?
        Hide
        Anthony Borrow added a comment -

        Nadav - I've created the component in the tracker. I was surprised you did not know about this since you have so many things in CONTRIB. Let's setup a convenient time when we can discuss how to make use of them and also to work toward migrating all of your code from CVS to Git. In addition to having the code on Git, I want to make some suggestions for maintaining this patch. Peace - Anthony

        Show
        Anthony Borrow added a comment - Nadav - I've created the component in the tracker. I was surprised you did not know about this since you have so many things in CONTRIB. Let's setup a convenient time when we can discuss how to make use of them and also to work toward migrating all of your code from CVS to Git. In addition to having the code on Git, I want to make some suggestions for maintaining this patch. Peace - Anthony
        Hide
        Nadav Kavalerchik added a comment -

        Anthony - Thanks! when iMoot is over, we'll find some time for this.

        btw, i already have most (if not all) of my CVS contrib on my github.com account.
        https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins

        I wonder if i can keep using that or should i use your (Moodle HQ) git ?
        (not sure how this works, now, after you moved CVS to git)

        Show
        Nadav Kavalerchik added a comment - Anthony - Thanks! when iMoot is over, we'll find some time for this. btw, i already have most (if not all) of my CVS contrib on my github.com account. https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins I wonder if i can keep using that or should i use your (Moodle HQ) git ? (not sure how this works, now, after you moved CVS to git)
        Hide
        Nadav Kavalerchik added a comment -

        NEW plugins: DragMath and WIRIS CAS / Formula support.
        Several fixes to various plugins, for IE support. relaxed permissions. minor usability fixes.

        Show
        Nadav Kavalerchik added a comment - NEW plugins: DragMath and WIRIS CAS / Formula support. Several fixes to various plugins, for IE support. relaxed permissions. minor usability fixes.
        Hide
        Nadav Kavalerchik added a comment -

        screen shot - toolbar in action

        Show
        Nadav Kavalerchik added a comment - screen shot - toolbar in action
        Hide
        Ethan Huff added a comment -

        Nadav, hi, when we installed the patch/plug-ins, the AudioRecorder we got only allows up to 20 seconds recording. At the iMoot you mentioned recordings of up to 1 minute. Any idea what we might do to get ours up to 1 minute? Thanks!

        Show
        Ethan Huff added a comment - Nadav, hi, when we installed the patch/plug-ins, the AudioRecorder we got only allows up to 20 seconds recording. At the iMoot you mentioned recordings of up to 1 minute. Any idea what we might do to get ours up to 1 minute? Thanks!
        Hide
        Nadav Kavalerchik added a comment -

        I am a joker me bad.
        I left a time limit while i was playing with the recording. oups.

        please open:
        moodle/lib/editor/htmlarea/custom_plugins/audiorecorder/dialog.php
        and change the line:
        <param name="maxRecordTime" value="20.0">
        to
        <param name="maxRecordTime" value="60.0">

        Show
        Nadav Kavalerchik added a comment - I am a joker me bad. I left a time limit while i was playing with the recording. oups. please open: moodle/lib/editor/htmlarea/custom_plugins/audiorecorder/dialog.php and change the line: <param name="maxRecordTime" value="20.0"> to <param name="maxRecordTime" value="60.0">
        Hide
        Nadav Kavalerchik added a comment -

        Updated version with NEW: VideoRecorder and HTML Purifier

        Show
        Nadav Kavalerchik added a comment - Updated version with NEW: VideoRecorder and HTML Purifier
        Hide
        Michael Altynikov added a comment -

        Little Help, pls, after applying the patch to weblib.php and copying Custom_plugins and htmlarea_plugins.php file - the HTMLArea Editor does not displayed at all at our Moodle site (ver. 1.9.10) - tryied also with weblib.php file attached here .. the result is the same - NO Editor at all - what can be a problem?

        Show
        Michael Altynikov added a comment - Little Help, pls, after applying the patch to weblib.php and copying Custom_plugins and htmlarea_plugins.php file - the HTMLArea Editor does not displayed at all at our Moodle site (ver. 1.9.10) - tryied also with weblib.php file attached here .. the result is the same - NO Editor at all - what can be a problem?
        Hide
        Nadav Kavalerchik added a comment -

        Some of the plugins require more "installation" procedures then just copying them into there folders.
        Like the : WIRIS and DropBox. and you will have to open their README files for more instructions.

        Until you do that...

        Please disable them, from the admin menu
        http:// your-moodle-url /admin/settings.php?section=htmlareasettings
        and see if it helps

        Show
        Nadav Kavalerchik added a comment - Some of the plugins require more "installation" procedures then just copying them into there folders. Like the : WIRIS and DropBox. and you will have to open their README files for more instructions. Until you do that... Please disable them, from the admin menu http:// your-moodle-url /admin/settings.php?section=htmlareasettings and see if it helps
        Hide
        Michael Altynikov added a comment - - edited

        Thanx for quick response!
        Actually, I did read README file ..
        But, Yes, automaticly I enabled all plugings in admin menu .. will try to disable them first .
        PS. It Worked ..thank You!

        Show
        Michael Altynikov added a comment - - edited Thanx for quick response! Actually, I did read README file .. But, Yes, automaticly I enabled all plugings in admin menu .. will try to disable them first . PS. It Worked ..thank You!
        Hide
        Nadav Kavalerchik added a comment -

        Michael I am glad to read it turned out OK.
        Some other people got into the same issue.
        And i am considering removing those plugins from the main package
        and making a separate link for them + a bold notice about installing them later.

        Hope, until then, people read these corespondents and disable those plugins, upon first install.

        Show
        Nadav Kavalerchik added a comment - Michael I am glad to read it turned out OK. Some other people got into the same issue. And i am considering removing those plugins from the main package and making a separate link for them + a bold notice about installing them later. Hope, until then, people read these corespondents and disable those plugins, upon first install.
        Hide
        Nadav Kavalerchik added a comment -

        News update:
        I have started converting those plugins to Moodle 2.x
        Currently, Record Video and Record Audio are converted.
        And i am a little stuck with the right way to go about
        implementing the dynamic plugin enabling and disabling procedure,
        since it is not natively supported in TinyMCE.
        I saw a patch for that, on the forums and i wonder if Moodle HQ
        will implement it in the near future? or should i patch it too?

        Show
        Nadav Kavalerchik added a comment - News update: I have started converting those plugins to Moodle 2.x Currently, Record Video and Record Audio are converted. And i am a little stuck with the right way to go about implementing the dynamic plugin enabling and disabling procedure, since it is not natively supported in TinyMCE. I saw a patch for that, on the forums and i wonder if Moodle HQ will implement it in the near future? or should i patch it too?
        Hide
        Frankie Kam added a comment -

        Hi Nadav!

        Love your work. You have increased the pedagogical value of Moodle right from the Editor itself. For me the most useful plugins that you have added to the editor icons are:

        1. Drag and Drop image adder (a must-have for any Moodle site! Previously only the admin or teacher could add images to the editor. Students could only insert images by giving the URL)
        2. Embed PDF
        3. VideoRecorder (FANTASTIC. Thanks for Kevin Brake (and Vimas Technology)!)
        4. Insert Flash
        5. Expand Editor area
        6. Insert Embed code of Web 2.0 sites (Youtube is missing since they won't allow you to do so)
        7. DragMath (provided Tex is installed on the server!)
        8. Paint
        9. SVG designer
        10.Dropbox (would be great if I had root access to my VPS!)

        Problems:
        The "Insert Flash" icon should be "Insert image" instead (how do I correct this?)
        How do I use the File Manager? It's a mystety to me. I only see part of my Moodle page and nothing else!??
        Youtube doesn't allow it's site to tbe embedded right?

        Frankie Kam
        Melaka, Malaysia
        http://moodurian.blogspot.com
        http://moodurian.com
        P,S., I hope to feature your work in my blog - in detail for others to enjoy and to allow teachers with minimal IT skills to install on their own servers. If I have the time!

        Show
        Frankie Kam added a comment - Hi Nadav! Love your work. You have increased the pedagogical value of Moodle right from the Editor itself. For me the most useful plugins that you have added to the editor icons are: 1. Drag and Drop image adder (a must-have for any Moodle site! Previously only the admin or teacher could add images to the editor. Students could only insert images by giving the URL) 2. Embed PDF 3. VideoRecorder (FANTASTIC. Thanks for Kevin Brake (and Vimas Technology)!) 4. Insert Flash 5. Expand Editor area 6. Insert Embed code of Web 2.0 sites (Youtube is missing since they won't allow you to do so) 7. DragMath (provided Tex is installed on the server!) 8. Paint 9. SVG designer 10.Dropbox (would be great if I had root access to my VPS!) Problems: The "Insert Flash" icon should be "Insert image" instead (how do I correct this?) How do I use the File Manager? It's a mystety to me. I only see part of my Moodle page and nothing else!?? Youtube doesn't allow it's site to tbe embedded right? Frankie Kam Melaka, Malaysia http://moodurian.blogspot.com http://moodurian.com P,S., I hope to feature your work in my blog - in detail for others to enjoy and to allow teachers with minimal IT skills to install on their own servers. If I have the time!
        Hide
        Nadav Kavalerchik added a comment -

        Hi Frankie

        Thank you for your feedback!

        1. There is a special plugin called Insert Flash with a different icon from the one Insert Images has.
        It is especially made to embed a flash file into the text with a flash player (not just a link to a flash file)
        The icon in inside the insertswf folder and it is called icon.png (you can always change it)

        2. For the File Manager to work, you need to install the FileManager block. ( I recommend it! )

        BTW, just updated the entire plugins package with major IE fixes. so you might like to download it again and overwrite everything you have already installed

        Show
        Nadav Kavalerchik added a comment - Hi Frankie Thank you for your feedback! 1. There is a special plugin called Insert Flash with a different icon from the one Insert Images has. It is especially made to embed a flash file into the text with a flash player (not just a link to a flash file) The icon in inside the insertswf folder and it is called icon.png (you can always change it) 2. For the File Manager to work, you need to install the FileManager block. ( I recommend it! ) BTW, just updated the entire plugins package with major IE fixes. so you might like to download it again and overwrite everything you have already installed
        Hide
        Nadav Kavalerchik added a comment -

        Updated version with lots of IE fixes

        Show
        Nadav Kavalerchik added a comment - Updated version with lots of IE fixes
        Hide
        Frankie Kam added a comment -

        Hi Nadav
        Where can I get the File Manager block from?
        I'm using Moodle 1.9.15.

        Show
        Frankie Kam added a comment - Hi Nadav Where can I get the File Manager block from? I'm using Moodle 1.9.15.
        Show
        Nadav Kavalerchik added a comment - http://moodle.org/mod/data/view.php?d=13&rid=1105&filter=1
        Hide
        Frankie Kam added a comment -

        Hi Nadav
        I've spent 40mins trying to download the file manager. Either the link is broken, account is suspended or the tar file is corrupted. Could you email to me a working zip file of the block? Sorry for the trouble.
        Frankie Kam
        boonsengkam@gmail.com

        Show
        Frankie Kam added a comment - Hi Nadav I've spent 40mins trying to download the file manager. Either the link is broken, account is suspended or the tar file is corrupted. Could you email to me a working zip file of the block? Sorry for the trouble. Frankie Kam boonsengkam@gmail.com
        Hide
        miki Alliel added a comment -

        Hey nadav
        Since youtube website don't allow their site to be iframed - see here:
        http://groups.google.com/group/youtube-api/browse_thread/thread/2d2236731672a098?pli=1

        And That's why the YouTube link won't display anything in the "insetembed" plugin - so I would make it click-able and popup YouTube to another tab ( but it will be in the previous window. how cat I make it a pop up in the same "choose-a-video" window?
        And since Google video is not existed anymore, I would recommend to to this in choose-a-video.php file:

        ....
        <div style="text-align:left;">
        -<a class="videolink" href="http://video.google.com"> Google Video </a><br/><br/>
        +<a class="videolink" href="http://www.youtube.com/" target="new"style="target-name: new; target-new:tab;"> YouTube Video </a><br/><br/>
        <a class="videolink" href="http://www.mindmeister.com/"> Mind Meister - Mind Maps - מפות חשיבה</a><br/><br/>
        ....

        Show
        miki Alliel added a comment - Hey nadav Since youtube website don't allow their site to be iframed - see here: http://groups.google.com/group/youtube-api/browse_thread/thread/2d2236731672a098?pli=1 And That's why the YouTube link won't display anything in the "insetembed" plugin - so I would make it click-able and popup YouTube to another tab ( but it will be in the previous window. how cat I make it a pop up in the same "choose-a-video" window? And since Google video is not existed anymore, I would recommend to to this in choose-a-video.php file: .... <div style="text-align:left;"> -<a class="videolink" href="http://video.google.com"> Google Video </a><br/><br/> +<a class="videolink" href="http://www.youtube.com/" target="new"style="target-name: new; target-new:tab;"> YouTube Video </a><br/><br/> <a class="videolink" href="http://www.mindmeister.com/"> Mind Meister - Mind Maps - מפות חשיבה</a><br/><br/> ....
        Show
        Nadav Kavalerchik added a comment - Hi Miki Excellent idea. I updated the code with your suggestions. https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/blame/6cd33ba93a89b9bb89bf7c17db892f50e29098a0/lib/editor/htmlarea/custom_plugins/insertembed/choose-a-video.php
        Hide
        Howard Miller added a comment -

        The zip file included in the Moodle plugins database is missing all the files (http://moodle.org/plugins/view.php?id=9). It doesn't have 'custom_plugins.zip' as mentioned in the instructions.

        Show
        Howard Miller added a comment - The zip file included in the Moodle plugins database is missing all the files ( http://moodle.org/plugins/view.php?id=9 ). It doesn't have 'custom_plugins.zip' as mentioned in the instructions.
        Hide
        Nadav Kavalerchik added a comment -

        Howard,
        I have split off the real plugins from the patch to the core of the /lib/weblib.php which enables the extending of the HTMLAREA toolbars to two files.

        Here is a link to all the files :
        https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea

        Thank you for pointing my attention to this,
        I will try to make it more clear in the README

        Show
        Nadav Kavalerchik added a comment - Howard, I have split off the real plugins from the patch to the core of the /lib/weblib.php which enables the extending of the HTMLAREA toolbars to two files. Here is a link to all the files : https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea Thank you for pointing my attention to this, I will try to make it more clear in the README
        Hide
        Nikita added a comment -

        Hey, Nadav.

        I have a problem with drawSvg. It sends to html-editor escaped html characters.
        Here is video. http://www.screencast.com/t/vPmvT7ZvAUVB
        I haven't found any similar problems in bug tracker. Can you help me?

        Show
        Nikita added a comment - Hey, Nadav. I have a problem with drawSvg. It sends to html-editor escaped html characters. Here is video. http://www.screencast.com/t/vPmvT7ZvAUVB I haven't found any similar problems in bug tracker. Can you help me?
        Hide
        Nadav Kavalerchik added a comment -

        Hi Nikita
        It seems, that the JavaScript that is responsible for viewing SVG xml tags is not loaded or filtered out by your Moodle.
        ( this is the missing script: lib/editor/htmlarea/custom_plugins/drawsvg/lib/svgweb/src/svg.js )
        I guess, you should enable EMBED and OBJECT on your Moodle system
        http://your-server/admin/search.php?query=allowobjectembed

        Or even read the README: /lib/editor/htmlarea/custom_plugins/drawsvg/readme
        for more options (if the first suggestion does not work)

        Show
        Nadav Kavalerchik added a comment - Hi Nikita It seems, that the JavaScript that is responsible for viewing SVG xml tags is not loaded or filtered out by your Moodle. ( this is the missing script: lib/editor/htmlarea/custom_plugins/drawsvg/lib/svgweb/src/svg.js ) I guess, you should enable EMBED and OBJECT on your Moodle system http://your-server/admin/search.php?query=allowobjectembed Or even read the README: /lib/editor/htmlarea/custom_plugins/drawsvg/readme for more options (if the first suggestion does not work)
        Hide
        Nadav Kavalerchik added a comment -

        Major update!!! to all plugins - IE7,IE8,IE9 support

        Please download the relevant plugins from:
        https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea/custom_plugins

        Show
        Nadav Kavalerchik added a comment - Major update!!! to all plugins - IE7,IE8,IE9 support Please download the relevant plugins from: https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea/custom_plugins
        Hide
        Nikita added a comment - - edited

        Nadav, thanks for your answer.
        Everything works fine when i copy svg code from drawSvg and insert into sourse in html editor. But when i'm trying to insert it via drawSvg i'm getting something like this in my source:

        http://clip2net.com/s/1SI8Z

        Any ideas?

        Show
        Nikita added a comment - - edited Nadav, thanks for your answer. Everything works fine when i copy svg code from drawSvg and insert into sourse in html editor. But when i'm trying to insert it via drawSvg i'm getting something like this in my source: http://clip2net.com/s/1SI8Z Any ideas?
        Hide
        Nadav Kavalerchik added a comment -

        Nikita, I think you should make some changes in the core htmalarea.php file
        as explained in the readme file ( /lib/editor/htmlarea/custom_plugins/drawsvg/readme )
        These changes will prevent HTMLAREA from messing with the SVG code

        Here is the readme:

        This plugin is a little bit challenging...

        1. you'll have to remove TAG cleanup from the HTMLAREA.php file

        // performs HTML encoding of some given string
        HTMLArea.htmlEncode = function(str)

        Unknown macro: { return str; // disable this function for drawsvg plugin to work // we don't need regexp for that, but.. so be it for now. str = str.replace(/&/ig, "&"); str = str.replace(/</ig, "<"); str = str.replace(/>/ig, ">"); str = str.replace(/x22/ig, """); // x22 means '"' -- we use hex reprezentation so that we don't disturb // JS compressors (well, at least mine fails.. ;) return str; }

        ;

        2. you'll have to patch Moodle not to clean up the text in Modules you wish to use this plugin

        change :
        echo format_text($post->message, FORMAT_HTML);

        to:
        echo $post->message;

        or:
        $options = new stdClass;
        $options->noclean=true;
        echo format_text($post->message, FORMAT_HTML,$options);

        OR:
        set $CFG->enabletrusttext = true;

        Show
        Nadav Kavalerchik added a comment - Nikita, I think you should make some changes in the core htmalarea.php file as explained in the readme file ( /lib/editor/htmlarea/custom_plugins/drawsvg/readme ) These changes will prevent HTMLAREA from messing with the SVG code Here is the readme: This plugin is a little bit challenging... 1. you'll have to remove TAG cleanup from the HTMLAREA.php file // performs HTML encoding of some given string HTMLArea.htmlEncode = function(str) Unknown macro: { return str; // disable this function for drawsvg plugin to work // we don't need regexp for that, but.. so be it for now. str = str.replace(/&/ig, "&"); str = str.replace(/</ig, "<"); str = str.replace(/>/ig, ">"); str = str.replace(/x22/ig, """); // x22 means '"' -- we use hex reprezentation so that we don't disturb // JS compressors (well, at least mine fails.. ;) return str; } ; 2. you'll have to patch Moodle not to clean up the text in Modules you wish to use this plugin change : echo format_text($post->message, FORMAT_HTML); to: echo $post->message; or: $options = new stdClass; $options->noclean=true; echo format_text($post->message, FORMAT_HTML,$options); OR: set $CFG->enabletrusttext = true;
        Hide
        Nikita added a comment -

        return str; sure
        thanks Nadav, works fine now.

        Show
        Nikita added a comment - return str; sure thanks Nadav, works fine now.
        Hide
        Nikita added a comment -

        Nadav!
        I replaced my files with files from repository, but still doesn't work in IE series.
        And unfortunately, no relevant issues in tracker.
        Can you help me?

        Show
        Nikita added a comment - Nadav! I replaced my files with files from repository, but still doesn't work in IE series. And unfortunately, no relevant issues in tracker. Can you help me?
        Hide
        Nadav Kavalerchik added a comment -

        I am not experienced with IE so i am not sure how can i help. sorry.

        Show
        Nadav Kavalerchik added a comment - I am not experienced with IE so i am not sure how can i help. sorry.

          People

          • Votes:
            7 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:

              Development