ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilTinyMCE Class Reference

Tiny MCE editor class. More...

+ Inheritance diagram for ilTinyMCE:
+ Collaboration diagram for ilTinyMCE:

Public Member Functions

 ilTinyMCE ($a_version="")
 addPlugin ($a_plugin_name)
 removePlugin ($a_plugin_name)
 addRTESupport ($obj_id, $obj_type, $a_module="", $allowFormElements=FALSE, $cfg_template=null, $hide_switch=false)
 Returns the path to the content css file for the editor.
 addCustomRTESupport ($obj_id, $obj_type, $tags)
 Adds custom support for an RTE in an ILIAS form.
 addUserTextEditor ($editor_selector)
 Adds custom support for an RTE in an ILIAS form.
 setStyleSelect ($a_styleselect)
 Set Enable Style Selecttion.
 getStyleSelect ()
 Get Enable Style Selecttion.
 _buildAdvancedBlockformatsFromHTMLTags ($a_html_tags)
 _buildAdvancedButtonsFromHTMLTags ($a_buttons_section, $a_html_tags)
 _buildButtonsFromHTMLTags ($a_html_tags)
 _buildAdvancedTableButtonsFromHTMLTags ($a_html_tags)
 _getEditorLanguage ()
 _getValidElementsFromHTMLTags ($a_html_tags)
 setRTERootBlockElement ($a_root_block_element)
 Setter for the TinyMCE root block element.
 getRTERootBlockElement ()
 Getter for the TinyMCE root block element.
 disableButtons ($a_button)
 Sets buttons which should be disabled in TinyMCE.
 getDisabledButtons ($as_array=true)
 Returns the disabled TinyMCE buttons.
 setRemoveImgContextMenuItem ($remove_img_context_menu_item)
 getRemoveImgContextMenuItem ()
- Public Member Functions inherited from ilRTE
 ilRTE ($a_version="")
 addButton ($a_button_name)
 Adds a button to the button list.
 removeAllPlugins ()
 removeButton ($a_button_name)
 Removes a button from the button list.
 addRTESupport ()
 Adds support for an RTE in an ILIAS form.
 _cleanupMediaObjectUsage ($a_text, $a_usage_type, $a_usage_id)
 synchronises appearances of media objects in $a_text with media object usage table
 setRTERootBlockElement ()
 disableButtons ()
 getDisabledButtons ()

Static Public Member Functions

static _removeRedundantSeparators ($a_string)
 Removes redundant seperators and removes ,, and , at the first or last position of the string.
- Static Public Member Functions inherited from ilRTE
static _getRTEClassname ()
static _replaceMediaObjectImageSrc ($a_text, $a_direction=0)
 replaces image source from mob image urls with the mob id or replaces mob id with the correct image source
static _getMediaObjects ($a_text, $a_direction=0)
 Returns all media objects found in the passed string.

Protected Member Functions

 handleIliasImageManagerAdded ()
 handleImgContextMenuItem ($tpl)

Protected Attributes

 $mode = "textareas"
 $version = ""
 $vd = ""
 $remove_img_context_menu_item = false
 $root_block_element = null
 $disabled_buttons = array()

Private Member Functions

 handleImagePluginsBeforeRendering (array $tags)

Additional Inherited Members

- Data Fields inherited from ilRTE
const ILIAS_IMG_MANAGER_PLUGIN = 'ilias_image_manager_plugin'
 $plugins
 $buttons
 $tpl
 $ctrl
 $lng

Detailed Description

Tiny MCE editor class.

This class provides access methods for Tiny MCE

Author
Helmut Schottmüller helmu.nosp@m.t.sc.nosp@m.hottm.nosp@m.uell.nosp@m.er@ma.nosp@m.c.co.nosp@m.m
Version
Id:
class.ilTinyMCE.php 56065 2014-12-08 10:05:11Z jluetzen

class.ilTinyMCE.php

Definition at line 35 of file class.ilTinyMCE.php.

Member Function Documentation

ilTinyMCE::_buildAdvancedBlockformatsFromHTMLTags (   $a_html_tags)

Definition at line 475 of file class.ilTinyMCE.php.

Referenced by _buildAdvancedButtonsFromHTMLTags(), _buildButtonsFromHTMLTags(), addCustomRTESupport(), and addRTESupport().

{
$blockformats = array();
if (in_array("p", $a_html_tags))
{
array_push($blockformats, "p");
}
if (in_array("div", $a_html_tags))
{
array_push($blockformats, "div");
}
if (in_array("pre", $a_html_tags))
{
array_push($blockformats, "pre");
}
if (in_array("code", $a_html_tags))
{
array_push($blockformats, "code");
}
if (in_array("h1", $a_html_tags))
{
array_push($blockformats, "h1");
}
if (in_array("h2", $a_html_tags))
{
array_push($blockformats, "h2");
}
if (in_array("h3", $a_html_tags))
{
array_push($blockformats, "h3");
}
if (in_array("h4", $a_html_tags))
{
array_push($blockformats, "h4");
}
if (in_array("h5", $a_html_tags))
{
array_push($blockformats, "h5");
}
if (in_array("h6", $a_html_tags))
{
array_push($blockformats, "h6");
}
if (count($blockformats))
{
return join(",", $blockformats);
}
else
{
return "";
}
}

+ Here is the caller graph for this function:

ilTinyMCE::_buildAdvancedButtonsFromHTMLTags (   $a_buttons_section,
  $a_html_tags 
)

Definition at line 529 of file class.ilTinyMCE.php.

References $res, _buildAdvancedBlockformatsFromHTMLTags(), and ilRTE\getDisabledButtons().

Referenced by addCustomRTESupport(), and addRTESupport().

{
$theme_advanced_buttons = array();
if($a_buttons_section == 1)
{
if (in_array("strong", $a_html_tags))
{
array_push($theme_advanced_buttons, "bold");
}
if (in_array("em", $a_html_tags))
{
array_push($theme_advanced_buttons, "italic");
}
if (in_array("u", $a_html_tags))
{
array_push($theme_advanced_buttons, "underline");
}
if (in_array("strike", $a_html_tags))
{
array_push($theme_advanced_buttons, "strikethrough");
}
if (count($theme_advanced_buttons))
{
array_push($theme_advanced_buttons, "separator");
}
if (in_array("p", $a_html_tags))
{
array_push($theme_advanced_buttons, "justifyleft");
array_push($theme_advanced_buttons, "justifycenter");
array_push($theme_advanced_buttons, "justifyright");
array_push($theme_advanced_buttons, "justifyfull");
array_push($theme_advanced_buttons, "separator");
}
{
array_push($theme_advanced_buttons, "formatselect");
}
if (in_array("hr", $a_html_tags))
{
array_push($theme_advanced_buttons, "hr");
}
array_push($theme_advanced_buttons, "removeformat");
array_push($theme_advanced_buttons, "separator");
if (in_array("sub", $a_html_tags))
{
array_push($theme_advanced_buttons, "sub");
}
if (in_array("sup", $a_html_tags))
{
array_push($theme_advanced_buttons, "sup");
}
if (in_array("font", $a_html_tags))
{
array_push($theme_advanced_buttons, "fontselect");
array_push($theme_advanced_buttons, "fontsizeselect");
}
array_push($theme_advanced_buttons, "charmap");
if ((in_array("ol", $a_html_tags)) && (in_array("li", $a_html_tags)))
{
array_push($theme_advanced_buttons, "bullist");
}
if ((in_array("ul", $a_html_tags)) && (in_array("li", $a_html_tags)))
{
array_push($theme_advanced_buttons, "numlist");
}
array_push($theme_advanced_buttons, "separator");
if (in_array("cite", $a_html_tags))
{
array_push($theme_advanced_buttons, "cite");
}
if (in_array("abbr", $a_html_tags))
{
array_push($theme_advanced_buttons, "abbr");
}
if (in_array("acronym", $a_html_tags))
{
array_push($theme_advanced_buttons, "acronym");
}
if (in_array("del", $a_html_tags))
{
array_push($theme_advanced_buttons, "del");
}
if (in_array("ins", $a_html_tags))
{
array_push($theme_advanced_buttons, "ins");
}
if (in_array("blockquote", $a_html_tags))
{
array_push($theme_advanced_buttons, "indent");
array_push($theme_advanced_buttons, "outdent");
}
if (in_array("img", $a_html_tags))
{
//array_push($theme_advanced_buttons, "advimage");
array_push($theme_advanced_buttons, "image");
array_push($theme_advanced_buttons, "ibrowser");
array_push($theme_advanced_buttons, "ilimgupload");
}
if (in_array("a", $a_html_tags))
{
array_push($theme_advanced_buttons, "link");
array_push($theme_advanced_buttons, "unlink");
array_push($theme_advanced_buttons, "anchor");
}
array_push($theme_advanced_buttons, "separator");
array_push($theme_advanced_buttons, "undo");
array_push($theme_advanced_buttons, "redo");
if(is_array($this->buttons) && count($this->buttons))
{
array_push($theme_advanced_buttons, "separator");
foreach($this->buttons as $button)
{
array_push($theme_advanced_buttons, $button);
}
}
array_push($theme_advanced_buttons, "code");
array_push($theme_advanced_buttons, "fullscreen");
// Changed in elba2 branch, adopted change for 4.2.x due to manits bug #8147
array_push($theme_advanced_buttons, "pasteword");
}
else if($a_buttons_section == 2)
{
array_push($theme_advanced_buttons, "cut");
array_push($theme_advanced_buttons, "copy");
array_push($theme_advanced_buttons, "paste");
array_push($theme_advanced_buttons, "pastetext");
// Changed in elba2 branch, adopted change for 4.2.x due to manits bug #8147
//array_push($theme_advanced_buttons, "pasteword");
}
else if($a_buttons_section == 3)
{
}
$remove_buttons = $this->getDisabledButtons();
if (is_array($remove_buttons))
{
foreach ($remove_buttons as $buttontext)
{
if (($res = array_search($buttontext, $theme_advanced_buttons)) !== FALSE)
{
unset($theme_advanced_buttons[$res]);
}
}
}
return join(",", $theme_advanced_buttons);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTinyMCE::_buildAdvancedTableButtonsFromHTMLTags (   $a_html_tags)

Definition at line 790 of file class.ilTinyMCE.php.

References $res, and ilRTE\getDisabledButtons().

{
$theme_advanced_buttons = array();
if (in_array("table", $a_html_tags) && in_array("tr", $a_html_tags) && in_array("td", $a_html_tags))
{
array_push($theme_advanced_buttons, "tablecontrols");
}
$remove_buttons = $this->getDisabledButtons();
if (is_array($remove_buttons))
{
foreach ($remove_buttons as $buttontext)
{
if (($res = array_search($buttontext, $theme_advanced_buttons)) !== FALSE)
{
unset($theme_advanced_buttons[$res]);
}
}
}
return join(",", $theme_advanced_buttons);
}

+ Here is the call graph for this function:

ilTinyMCE::_buildButtonsFromHTMLTags (   $a_html_tags)

Definition at line 681 of file class.ilTinyMCE.php.

References $res, _buildAdvancedBlockformatsFromHTMLTags(), and ilRTE\getDisabledButtons().

Referenced by addUserTextEditor().

{
$theme_advanced_buttons = array();
if (in_array("strong", $a_html_tags))
{
array_push($theme_advanced_buttons, "bold");
}
if (in_array("em", $a_html_tags))
{
array_push($theme_advanced_buttons, "italic");
}
if (in_array("u", $a_html_tags))
{
array_push($theme_advanced_buttons, "underline");
}
if (in_array("strike", $a_html_tags))
{
array_push($theme_advanced_buttons, "strikethrough");
}
if (in_array("p", $a_html_tags))
{
array_push($theme_advanced_buttons, "justifyleft");
array_push($theme_advanced_buttons, "justifycenter");
array_push($theme_advanced_buttons, "justifyright");
array_push($theme_advanced_buttons, "justifyfull");
}
{
array_push($theme_advanced_buttons, "formatselect");
}
if (in_array("hr", $a_html_tags))
{
array_push($theme_advanced_buttons, "hr");
}
if (in_array("sub", $a_html_tags))
{
array_push($theme_advanced_buttons, "sub");
}
if (in_array("sup", $a_html_tags))
{
array_push($theme_advanced_buttons, "sup");
}
if (in_array("font", $a_html_tags))
{
array_push($theme_advanced_buttons, "fontselect");
array_push($theme_advanced_buttons, "fontsizeselect");
}
if ((in_array("ol", $a_html_tags)) && (in_array("li", $a_html_tags)))
{
array_push($theme_advanced_buttons, "bullist");
}
if ((in_array("ul", $a_html_tags)) && (in_array("li", $a_html_tags)))
{
array_push($theme_advanced_buttons, "numlist");
}
if (in_array("cite", $a_html_tags))
{
array_push($theme_advanced_buttons, "cite");
}
if (in_array("abbr", $a_html_tags))
{
array_push($theme_advanced_buttons, "abbr");
}
if (in_array("acronym", $a_html_tags))
{
array_push($theme_advanced_buttons, "acronym");
}
if (in_array("del", $a_html_tags))
{
array_push($theme_advanced_buttons, "del");
}
if (in_array("ins", $a_html_tags))
{
array_push($theme_advanced_buttons, "ins");
}
if (in_array("blockquote", $a_html_tags))
{
array_push($theme_advanced_buttons, "indent");
array_push($theme_advanced_buttons, "outdent");
}
if (in_array("img", $a_html_tags))
{
//array_push($theme_advanced_buttons, "advimage");
array_push($theme_advanced_buttons, "image");
array_push($theme_advanced_buttons, "ibrowser");
array_push($theme_advanced_buttons, "ilimgupload");
}
if (in_array("a", $a_html_tags))
{
array_push($theme_advanced_buttons, "link");
array_push($theme_advanced_buttons, "unlink");
array_push($theme_advanced_buttons, "anchor");
}
$remove_buttons = $this->getDisabledButtons();
if (is_array($remove_buttons))
{
foreach ($remove_buttons as $buttontext)
{
if (($res = array_search($buttontext, $theme_advanced_buttons)) !== FALSE)
{
unset($theme_advanced_buttons[$res]);
}
}
}
return join(",", $theme_advanced_buttons);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTinyMCE::_getEditorLanguage ( )

Definition at line 813 of file class.ilTinyMCE.php.

References $ilUser, $lang, and vd().

Referenced by addCustomRTESupport(), addRTESupport(), and addUserTextEditor().

{
global $ilUser;
$lang = $ilUser->getLanguage();
if (file_exists("./Services/RTE/tiny_mce".$this->vd."/langs/$lang.js"))
{
return "$lang";
}
else
{
return "en";
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTinyMCE::_getValidElementsFromHTMLTags (   $a_html_tags)

Definition at line 827 of file class.ilTinyMCE.php.

Referenced by addCustomRTESupport(), addRTESupport(), and addUserTextEditor().

{
$valid_elements = array();
foreach ($a_html_tags as $tag)
{
switch ($tag)
{
case "a":
array_push($valid_elements, "a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name"
."|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev"
."|shape<circle?default?poly?rect|style|tabindex|title|target|type]");
break;
case "abbr":
array_push($valid_elements, "abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "acronym":
array_push($valid_elements, "acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "address":
array_push($valid_elements, "address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "applet":
array_push($valid_elements, "applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase"
."|height|hspace|id|name|object|style|title|vspace|width]");
break;
case "area":
array_push($valid_elements, "area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref"
."|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup"
."|shape<circle?default?poly?rect|style|tabindex|title|target]");
break;
case "base":
array_push($valid_elements, "base[href|target]");
break;
case "basefont":
array_push($valid_elements, "basefont[color|face|id|size]");
break;
case "bdo":
array_push($valid_elements, "bdo[class|dir<ltr?rtl|id|lang|style|title]");
break;
case "big":
array_push($valid_elements, "big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "blockquote":
array_push($valid_elements, "blockquote[dir|style|cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
."|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
."|onmouseover|onmouseup|style|title]");
break;
case "body":
array_push($valid_elements, "body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink]");
break;
case "br":
array_push($valid_elements, "br[class|clear<all?left?none?right|id|style|title]");
break;
case "button":
array_push($valid_elements, "button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur"
."|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown"
."|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type"
."|value]");
break;
case "caption":
array_push($valid_elements, "caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "center":
array_push($valid_elements, "center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "cite":
array_push($valid_elements, "cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "code":
array_push($valid_elements, "code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "col":
array_push($valid_elements, "col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
."|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
."|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
."|valign<baseline?bottom?middle?top|width]");
break;
case "colgroup":
array_push($valid_elements, "colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl"
."|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
."|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
."|valign<baseline?bottom?middle?top|width]");
break;
case "dd":
array_push($valid_elements, "dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "del":
array_push($valid_elements, "del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "dfn":
array_push($valid_elements, "dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "dir":
array_push($valid_elements, "dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "div":
array_push($valid_elements, "div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "dl":
array_push($valid_elements, "dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "dt":
array_push($valid_elements, "dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "em":
array_push($valid_elements, "em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "fieldset":
array_push($valid_elements, "fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "font":
array_push($valid_elements, "font[class|color|dir<ltr?rtl|face|id|lang|size|style|title]");
break;
case "form":
array_push($valid_elements, "form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang"
."|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit"
."|style|title|target]");
break;
case "frame":
array_push($valid_elements, "frame[class|frameborder|id|longdesc|marginheight|marginwidth|name"
."|noresize<noresize|scrolling<auto?no?yes|src|style|title]");
break;
case "frameset":
array_push($valid_elements, "frameset[class|cols|id|onload|onunload|rows|style|title]");
break;
case "h1":
array_push($valid_elements, "h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "h2":
array_push($valid_elements, "h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "h3":
array_push($valid_elements, "h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "h4":
array_push($valid_elements, "h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "h5":
array_push($valid_elements, "h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "h6":
array_push($valid_elements, "h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "head":
array_push($valid_elements, "head[dir<ltr?rtl|lang|profile]");
break;
case "hr":
array_push($valid_elements, "hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|size|style|title|width]");
break;
case "html":
array_push($valid_elements, "html[dir<ltr?rtl|lang|version]");
break;
case "iframe":
array_push($valid_elements, "iframe[align<bottom?left?middle?right?top|class|frameborder|height|id"
."|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style"
."|title|width]");
break;
case "img":
array_push($valid_elements, "img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height"
."|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|src|style|title|usemap|vspace|width]");
break;
case "input":
array_push($valid_elements, "input[accept|accesskey|align<bottom?left?middle?right?top|alt"
."|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang"
."|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
."|readonly<readonly|size|src|style|tabindex|title"
."|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text"
."|usemap|value]");
break;
case "ins":
array_push($valid_elements, "ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "isindex":
array_push($valid_elements, "isindex[class|dir<ltr?rtl|id|lang|prompt|style|title]");
break;
case "kbd":
array_push($valid_elements, "kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "label":
array_push($valid_elements, "label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick"
."|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
."|onmouseover|onmouseup|style|title]");
break;
case "legend":
array_push($valid_elements, "legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang"
."|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "li":
array_push($valid_elements, "li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type"
."|value]");
break;
case "link":
array_push($valid_elements, "link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type]");
break;
case "map":
array_push($valid_elements, "map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "menu":
array_push($valid_elements, "menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "meta":
array_push($valid_elements, "meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme]");
break;
case "noframes":
array_push($valid_elements, "noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "noscript":
array_push($valid_elements, "noscript[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "object":
array_push($valid_elements, "object[align<bottom?left?middle?right?top|archive|border|class|classid"
."|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name"
."|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap"
."|vspace|width]");
break;
case "ol":
array_push($valid_elements, "ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|start|style|title|type]");
break;
case "optgroup":
array_push($valid_elements, "optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "option":
array_push($valid_elements, "option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick"
."|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
."|onmouseover|onmouseup|selected<selected|style|title|value]");
break;
case "p":
array_push($valid_elements, "p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "param":
array_push($valid_elements, "param[id|name|type|value|valuetype<DATA?OBJECT?REF]");
break;
case "pre":
case "listing":
case "plaintext":
case "xmp":
array_push($valid_elements, "pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
."|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
."|onmouseover|onmouseup|style|title|width]");
break;
case "q":
array_push($valid_elements, "q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "s":
array_push($valid_elements, "s[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "samp":
array_push($valid_elements, "samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "script":
array_push($valid_elements, "script[charset|defer|language|src|type]");
break;
case "select":
array_push($valid_elements, "select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name"
."|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style"
."|tabindex|title]");
break;
case "small":
array_push($valid_elements, "small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "span":
array_push($valid_elements, "span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "strike":
array_push($valid_elements, "strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "strong":
array_push($valid_elements, "strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "style":
array_push($valid_elements, "style[dir<ltr?rtl|lang|media|title|type]");
break;
case "sub":
array_push($valid_elements, "sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "sup":
array_push($valid_elements, "sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
case "table":
array_push($valid_elements, "table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class"
."|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules"
."|style|summary|title|width]");
break;
case "tbody":
array_push($valid_elements, "tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id"
."|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
."|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
."|valign<baseline?bottom?middle?top]");
break;
case "td":
array_push($valid_elements, "td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
."|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
."|style|title|valign<baseline?bottom?middle?top|width]");
break;
case "textarea":
array_push($valid_elements, "textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name"
."|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
."|readonly<readonly|rows|style|tabindex|title]");
break;
case "tfoot":
array_push($valid_elements, "tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
."|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
."|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
."|valign<baseline?bottom?middle?top]");
break;
case "th":
array_push($valid_elements, "th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
."|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
."|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
."|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
."|style|title|valign<baseline?bottom?middle?top|width]");
break;
case "thead":
array_push($valid_elements, "thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
."|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
."|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
."|valign<baseline?bottom?middle?top]");
break;
case "title":
array_push($valid_elements, "title[dir<ltr?rtl|lang]");
break;
case "tr":
array_push($valid_elements, "tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class"
."|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title|valign<baseline?bottom?middle?top]");
break;
case "tt":
array_push($valid_elements, "tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
break;
case "u":
array_push($valid_elements, "u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
."|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]");
// Bugfix #5945: Necessary because TinyMCE does not use the "u"
// html element but <span style="text-decoration: underline">E</span>
array_push($valid_elements, "span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title]");
break;
case "ul":
array_push($valid_elements, "ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
."|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
."|onmouseup|style|title|type]");
break;
case "var":
array_push($valid_elements, "var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
."|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
."|title]");
break;
}
}
return join(",", $valid_elements);
}

+ Here is the caller graph for this function:

static ilTinyMCE::_removeRedundantSeparators (   $a_string)
static

Removes redundant seperators and removes ,, and , at the first or last position of the string.

Parameters
string$a_stringA string
Returns
string A string public

Definition at line 1357 of file class.ilTinyMCE.php.

{
while(strpos($a_string, 'separator,separator') !== false)
{
$a_string = str_replace('separator,separator', 'separator', $a_string);
}
while(strpos($a_string, ',,') !== false)
{
$a_string = str_replace(',,', ',', $a_string);
}
if($a_string{0} == ',')
{
$a_string = (string)substr($a_string, 1);
}
if(strlen($a_string) && $a_string{strlen($a_string) - 1} == ',')
{
$a_string = substr($a_string, 0, strlen($a_string) - 1);
}
return $a_string;
}
ilTinyMCE::addCustomRTESupport (   $obj_id,
  $obj_type,
  $tags 
)

Adds custom support for an RTE in an ILIAS form.

Adds custom support for an RTE in an ILIAS form

public

Reimplemented from ilRTE.

Definition at line 377 of file class.ilTinyMCE.php.

References $_COOKIE, ilRTE\$tpl, _buildAdvancedBlockformatsFromHTMLTags(), _buildAdvancedButtonsFromHTMLTags(), _getEditorLanguage(), _getValidElementsFromHTMLTags(), ilRTE\disableButtons(), ilUtil\getNewContentStyleSheetLocation(), getRTERootBlockElement(), getStyleSelect(), handleImagePluginsBeforeRendering(), handleImgContextMenuItem(), and vd().

{
include_once "./Services/UICore/classes/class.ilTemplate.php";
$tpl = new ilTemplate("tpl.tinymce.html", true, true, "Services/RTE");
$tpl->setCurrentBlock("tinymce");
$tpl->setVariable("JAVASCRIPT_LOCATION", "./Services/RTE/tiny_mce".$this->vd."/tiny_mce.js");
include_once "./Services/Object/classes/class.ilObject.php";
$tpl->setVariable("OBJ_ID", $obj_id);
$tpl->setVariable("OBJ_TYPE", $obj_type);
$tpl->setVariable("CLIENT_ID", CLIENT_ID);
$tpl->setVariable("SESSION_ID", $_COOKIE["PHPSESSID"]);
$tpl->setVariable("BLOCKFORMATS", $this->_buildAdvancedBlockformatsFromHTMLTags($tags));
$tpl->setVariable("VALID_ELEMENTS", $this->_getValidElementsFromHTMLTags($tags));
$this->disableButtons('charmap');
$buttons_1 = $this->_buildAdvancedButtonsFromHTMLTags(1, $tags);
$buttons_2 = $this->_buildAdvancedButtonsFromHTMLTags(2, $tags)
. ','.$this->_buildAdvancedTableButtonsFromHTMLTags($tags)
. ($this->getStyleSelect() ? ',styleselect' : '');
$buttons_3 = $this->_buildAdvancedButtonsFromHTMLTags(3, $tags);
$tpl->setVariable('BUTTONS_1', self::_removeRedundantSeparators($buttons_1));
$tpl->setVariable('BUTTONS_2', self::_removeRedundantSeparators($buttons_2));
$tpl->setVariable('BUTTONS_3', self::_removeRedundantSeparators($buttons_3));
$tpl->setVariable("ADDITIONAL_PLUGINS", join(",", $this->plugins));
include_once "./Services/Utilities/classes/class.ilUtil.php";
//$tpl->setVariable("STYLESHEET_LOCATION", $this->getContentCSS());
$tpl->setVariable("STYLESHEET_LOCATION", ilUtil::getNewContentStyleSheetLocation());
$tpl->setVariable("LANG", $this->_getEditorLanguage());
if($this->getRTERootBlockElement() !== null)
{
$tpl->setVariable('FORCED_ROOT_BLOCK', $this->getRTERootBlockElement());
}
$tpl->parseCurrentBlock();
$this->tpl->setVariable("CONTENT_BLOCK", $tpl->get());
}

+ Here is the call graph for this function:

ilTinyMCE::addPlugin (   $a_plugin_name)
Parameters
string$a_plugin_name

Reimplemented from ilRTE.

Definition at line 180 of file class.ilTinyMCE.php.

References handleIliasImageManagerAdded().

{
if(self::ILIAS_IMG_MANAGER_PLUGIN == $a_plugin_name)
{
}
else
{
parent::addPlugin($a_plugin_name);
}
}

+ Here is the call graph for this function:

ilTinyMCE::addRTESupport (   $obj_id,
  $obj_type,
  $a_module = "",
  $allowFormElements = FALSE,
  $cfg_template = null,
  $hide_switch = false 
)

Returns the path to the content css file for the editor.

Returns the path to the content css file for the editor

Returns
string Path to the content CSS file public Adds support for an RTE in an ILIAS form

Adds support for an RTE in an ILIAS form

Parameters
string$a_moduleModule or object which should use the HTML tags public

Definition at line 276 of file class.ilTinyMCE.php.

References $_COOKIE, ilRTE\$tpl, _buildAdvancedBlockformatsFromHTMLTags(), _buildAdvancedButtonsFromHTMLTags(), _getEditorLanguage(), ilObjAdvancedEditing\_getRichTextEditor(), ilObjAdvancedEditing\_getRichTextEditorUserState(), ilObjAdvancedEditing\_getUsedHTMLTags(), _getValidElementsFromHTMLTags(), ilObjAdvancedEditing\_setRichTextEditorUserState(), ilUtil\getNewContentStyleSheetLocation(), getRTERootBlockElement(), getStyleSelect(), ilUtil\getStyleSheetLocation(), handleImagePluginsBeforeRendering(), handleImgContextMenuItem(), and vd().

{
global $ilBrowser;
include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
/*
if (array_key_exists("show_rte", $_POST))
{
ilObjAdvancedEditing::_setRichTextEditorUserState($_POST["show_rte"]);
}
*/
if($ilBrowser->isMobile())
{
}
else
{
}
include_once "./Services/UICore/classes/class.ilTemplate.php";
{
$tpl = new ilTemplate(($cfg_template === null ? "tpl.tinymce.html" : $cfg_template), true, true, "Services/RTE");
if ($allowFormElements)
{
$tpl->touchBlock("formelements");
}
$tpl->setCurrentBlock("tinymce");
$tpl->setVariable("JAVASCRIPT_LOCATION", "./Services/RTE/tiny_mce".$this->vd."/tiny_mce.js");
include_once "./Services/Object/classes/class.ilObject.php";
$tpl->setVariable("OBJ_ID", $obj_id);
$tpl->setVariable("OBJ_TYPE", $obj_type);
$tpl->setVariable("CLIENT_ID", CLIENT_ID);
$tpl->setVariable("SESSION_ID", $_COOKIE["PHPSESSID"]);
$tpl->setVariable("BLOCKFORMATS", $this->_buildAdvancedBlockformatsFromHTMLTags($tags));
$tpl->setVariable("VALID_ELEMENTS", $this->_getValidElementsFromHTMLTags($tags));
$buttons_1 = $this->_buildAdvancedButtonsFromHTMLTags(1, $tags);
$buttons_2 = $this->_buildAdvancedButtonsFromHTMLTags(2, $tags)
. ','.$this->_buildAdvancedTableButtonsFromHTMLTags($tags)
. ($this->getStyleSelect() ? ',styleselect' : '');
$buttons_3 = $this->_buildAdvancedButtonsFromHTMLTags(3, $tags);
$tpl->setVariable('BUTTONS_1', self::_removeRedundantSeparators($buttons_1));
$tpl->setVariable('BUTTONS_2', self::_removeRedundantSeparators($buttons_2));
$tpl->setVariable('BUTTONS_3', self::_removeRedundantSeparators($buttons_3));
$tpl->setVariable("ADDITIONAL_PLUGINS", join(",", $this->plugins));
include_once "./Services/Utilities/classes/class.ilUtil.php";
//$tpl->setVariable("STYLESHEET_LOCATION", $this->getContentCSS());
$tpl->setVariable("STYLESHEET_LOCATION", ilUtil::getNewContentStyleSheetLocation() . "," . ilUtil::getStyleSheetLocation("output", "delos.css"));
$tpl->setVariable("LANG", $this->_getEditorLanguage());
if($this->getRTERootBlockElement() !== null)
{
$tpl->setVariable('FORCED_ROOT_BLOCK', $this->getRTERootBlockElement());
}
$tpl->parseCurrentBlock();
$this->tpl->setVariable("CONTENT_BLOCK", $tpl->get());
}
/*
if (!$hide_switch && strcmp(ilObjAdvancedEditing::_getRichTextEditor(), "0") != 0)
{
$tpl = new ilTemplate("tpl.rte.switch.html", true, true, "Services/RTE");
$tpl->setVariable("FORMACTION", $this->ctrl->getFormActionByClass($this->ctrl->getCmdClass()), $this->ctrl->getCmd());
$tpl->setVariable("TEXT_SET_MODE", $this->lng->txt("set_edit_mode"));
$tpl->setVariable("TEXT_ENABLED", $this->lng->txt("rte_editor_enabled"));
$tpl->setVariable("TEXT_DISABLED", $this->lng->txt("rte_editor_disabled"));
if (ilObjAdvancedEditing::_getRichTextEditorUserState() != 0)
{
$tpl->setVariable("SELECTED_ENABLED", " selected=\"selected\"");
}
$tpl->setVariable("BTN_COMMAND", $this->ctrl->getCmd());
$this->tpl->setVariable("RTE_SWITCH", $tpl->get());
}
*/
}

+ Here is the call graph for this function:

ilTinyMCE::addUserTextEditor (   $editor_selector)

Adds custom support for an RTE in an ILIAS form.

Adds custom support for an RTE in an ILIAS form

Parameters
string$editor_selectorCSS class of the text input field(s) public

Reimplemented from ilRTE.

Definition at line 426 of file class.ilTinyMCE.php.

References _buildButtonsFromHTMLTags(), _getEditorLanguage(), _getValidElementsFromHTMLTags(), ilUtil\getNewContentStyleSheetLocation(), getStyleSelect(), ilUtil\getStyleSheetLocation(), handleImgContextMenuItem(), and vd().

{
$validtags = array("strong","em","p", "br", "div", "span");
$buttontags = array("strong","em");
include_once "./Services/UICore/classes/class.ilTemplate.php";
$template = new ilTemplate("tpl.usereditor.html", true, true, "Services/RTE");
$this->handleImgContextMenuItem($template);
$template->setCurrentBlock("tinymce");
$template->setVariable("JAVASCRIPT_LOCATION", "./Services/RTE/tiny_mce".$this->vd."/tiny_mce.js");
include_once "./Services/Object/classes/class.ilObject.php";
$template->setVariable("SELECTOR", $editor_selector);
$template->setVariable("BLOCKFORMATS", "");
$template->setVariable("VALID_ELEMENTS", $this->_getValidElementsFromHTMLTags($validtags));
if ($this->getStyleSelect())
{
$template->setVariable("STYLE_SELECT", ",styleselect");
}
$template->setVariable("BUTTONS", $this->_buildButtonsFromHTMLTags($buttontags) . ",backcolor,removeformat");
include_once "./Services/Utilities/classes/class.ilUtil.php";
//$template->setVariable("STYLESHEET_LOCATION", $this->getContentCSS());
$template->setVariable("STYLESHEET_LOCATION", ilUtil::getNewContentStyleSheetLocation() . "," . ilUtil::getStyleSheetLocation("output", "delos.css"));
$template->setVariable("LANG", $this->_getEditorLanguage());
$template->parseCurrentBlock();
$this->tpl->setCurrentBlock("HeadContent");
$this->tpl->setVariable("CONTENT_BLOCK", $template->get());
$this->tpl->parseCurrentBlock();
}

+ Here is the call graph for this function:

ilTinyMCE::disableButtons (   $a_button)

Sets buttons which should be disabled in TinyMCE.

Parameters
mixed$a_buttonEither a button string or an array of button strings
Returns
ilTextAreaInputGUI Instance of ilTextAreaInputGUI public

Definition at line 1314 of file class.ilTinyMCE.php.

{
if(is_array($a_button))
{
$this->disabled_buttons = array_unique(array_merge($this->disabled_buttons, $a_button));
}
else
{
$this->disabled_buttons = array_unique(array_merge($this->disabled_buttons, array($a_button)));
}
return $this;
}
ilTinyMCE::getDisabledButtons (   $as_array = true)

Returns the disabled TinyMCE buttons.

Parameters
boolean$as_arrayShould the disabled buttons be returned as a string or as an array
Returns
Array Array of disabled buttons public

Definition at line 1336 of file class.ilTinyMCE.php.

References $disabled_buttons.

{
if(!$as_array)
{
return implode(',', $this->disabled_buttons);
}
else
{
}
}
ilTinyMCE::getRemoveImgContextMenuItem ( )
Returns
boolean

Definition at line 1393 of file class.ilTinyMCE.php.

References $remove_img_context_menu_item.

Referenced by handleImgContextMenuItem().

+ Here is the caller graph for this function:

ilTinyMCE::getRTERootBlockElement ( )

Getter for the TinyMCE root block element.

Returns
string Root block element of TinyMCE public

Reimplemented from ilRTE.

Definition at line 1301 of file class.ilTinyMCE.php.

References $root_block_element.

Referenced by addCustomRTESupport(), and addRTESupport().

+ Here is the caller graph for this function:

ilTinyMCE::getStyleSelect ( )

Get Enable Style Selecttion.

Returns
boolean Enable Style Selecttion

Definition at line 469 of file class.ilTinyMCE.php.

Referenced by addCustomRTESupport(), addRTESupport(), and addUserTextEditor().

{
return $this->styleselect;
}

+ Here is the caller graph for this function:

ilTinyMCE::handleIliasImageManagerAdded ( )
protected

Definition at line 153 of file class.ilTinyMCE.php.

Referenced by addPlugin().

{
$this->addInternalTinyMCEImageManager();
}

+ Here is the caller graph for this function:

ilTinyMCE::handleImagePluginsBeforeRendering ( array  $tags)
private
Parameters
array$tags

Definition at line 134 of file class.ilTinyMCE.php.

References ilRTE\disableButtons(), removePlugin(), and setRemoveImgContextMenuItem().

Referenced by addCustomRTESupport(), and addRTESupport().

{
if(!in_array('img', $tags))
{
parent::removePlugin('ilimgupload');
parent::removePlugin('ibrowser');
$this->disableButtons(array(
'ibrowser',
'image',
'ilimgupload'
));
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTinyMCE::handleImgContextMenuItem (   $tpl)
protected

Definition at line 362 of file class.ilTinyMCE.php.

References ilRTE\$tpl, and getRemoveImgContextMenuItem().

Referenced by addCustomRTESupport(), addRTESupport(), and addUserTextEditor().

{
if($this->getRemoveImgContextMenuItem() && $tpl->blockExists('remove_img_context_menu_item'))
{
$tpl->touchBlock(remove_img_context_menu_item);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTinyMCE::ilTinyMCE (   $a_version = "")

Definition at line 48 of file class.ilTinyMCE.php.

References ilRTE\ilRTE(), setStyleSelect(), and vd().

{
if(!$a_version)
{
$a_version = "3.5.11";
}
parent::ilRTE($a_version);
switch ($a_version)
{
case "3.4.7":
case "3.5.11":
$this->version = $a_version;
$this->vd = "_".str_replace(".", "_", $a_version);
break;
default:
// unknown/unsupported version?
break;
}
$this->plugins = array(
"xhtmlxtras",
"style",
"layer",
"table",
"save",
"advhr",
"advlink",
"emotions",
"iespell",
"insertdatetime",
"preview",
"searchreplace",
"print",
"contextmenu",
"paste",
"directionality",
"fullscreen",
"nonbreaking",
"noneditable",
"style"
);
$this->setStyleSelect(false);
$this->addInternalTinyMCEImageManager();
}

+ Here is the call graph for this function:

ilTinyMCE::removePlugin (   $a_plugin_name)
Parameters
string$a_plugin_name

Reimplemented from ilRTE.

Definition at line 195 of file class.ilTinyMCE.php.

Referenced by handleImagePluginsBeforeRendering().

{
if(self::ILIAS_IMG_MANAGER_PLUGIN == $a_plugin_name)
{
$this->handleIliasImageManagerRemoved();
}
else
{
parent::removePlugin($a_plugin_name);
}
}

+ Here is the caller graph for this function:

ilTinyMCE::setRemoveImgContextMenuItem (   $remove_img_context_menu_item)
Parameters
boolean$remove_img_context_menu_item

Definition at line 1385 of file class.ilTinyMCE.php.

References $remove_img_context_menu_item.

Referenced by handleImagePluginsBeforeRendering().

{
$this->remove_img_context_menu_item = $remove_img_context_menu_item;
}

+ Here is the caller graph for this function:

ilTinyMCE::setRTERootBlockElement (   $a_root_block_element)

Setter for the TinyMCE root block element.

Parameters
string$a_root_block_elementroot block element
Returns
ilTextAreaInputGUI Instance of ilTinyMCE public

Definition at line 1289 of file class.ilTinyMCE.php.

{
$this->root_block_element = $a_root_block_element;
return $this;
}
ilTinyMCE::setStyleSelect (   $a_styleselect)

Set Enable Style Selecttion.

Parameters
boolean$a_styleselectEnable Style Selecttion

Definition at line 459 of file class.ilTinyMCE.php.

Referenced by ilTinyMCE().

{
$this->styleselect = $a_styleselect;
}

+ Here is the caller graph for this function:

Field Documentation

ilTinyMCE::$disabled_buttons = array()
protected

Definition at line 224 of file class.ilTinyMCE.php.

Referenced by getDisabledButtons().

ilTinyMCE::$mode = "textareas"
protected

Definition at line 37 of file class.ilTinyMCE.php.

ilTinyMCE::$remove_img_context_menu_item = false
protected

Definition at line 46 of file class.ilTinyMCE.php.

Referenced by getRemoveImgContextMenuItem(), and setRemoveImgContextMenuItem().

ilTinyMCE::$root_block_element = null
protected

Definition at line 214 of file class.ilTinyMCE.php.

Referenced by getRTERootBlockElement().

ilTinyMCE::$vd = ""
protected

Definition at line 39 of file class.ilTinyMCE.php.

ilTinyMCE::$version = ""
protected

Definition at line 38 of file class.ilTinyMCE.php.


The documentation for this class was generated from the following file: