ILIAS  release_4-3 Revision
 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.
 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()

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

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

Member Function Documentation

ilTinyMCE::_buildAdvancedBlockformatsFromHTMLTags (   $a_html_tags)

Definition at line 451 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 505 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 766 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 657 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 789 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 803 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 1333 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 354 of file class.ilTinyMCE.php.

References $_COOKIE, ilRTE\$tpl, _buildAdvancedBlockformatsFromHTMLTags(), _buildAdvancedButtonsFromHTMLTags(), _getEditorLanguage(), _getValidElementsFromHTMLTags(), ilRTE\disableButtons(), ilUtil\getNewContentStyleSheetLocation(), getRTERootBlockElement(), getStyleSelect(), 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 158 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 254 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(), 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 402 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 1290 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 1312 of file class.ilTinyMCE.php.

References $disabled_buttons.

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

Definition at line 1369 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 1277 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 445 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 131 of file class.ilTinyMCE.php.

Referenced by addPlugin().

{
$this->addInternalTinyMCEImageManager();
}

+ Here is the caller graph for this function:

ilTinyMCE::handleImgContextMenuItem (   $tpl)
protected

Definition at line 339 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 49 of file class.ilTinyMCE.php.

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

{
parent::ilRTE($a_version);
switch ($a_version)
{
case "3.3.9.2":
$this->version = $a_version;
$this->vd = "_3_3_9_2";
break;
case "3.4.7":
$this->version = $a_version;
$this->vd = "_3_4_7";
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 173 of file class.ilTinyMCE.php.

{
if(self::ILIAS_IMG_MANAGER_PLUGIN == $a_plugin_name)
{
$this->handleIliasImageManagerRemoved();
}
else
{
parent::removePlugin($a_plugin_name);
}
}
ilTinyMCE::setRemoveImgContextMenuItem (   $remove_img_context_menu_item)
Parameters
boolean$remove_img_context_menu_item

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

References $remove_img_context_menu_item.

{
$this->remove_img_context_menu_item = $remove_img_context_menu_item;
}
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 1265 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 435 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 202 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 47 of file class.ilTinyMCE.php.

Referenced by getRemoveImgContextMenuItem(), and setRemoveImgContextMenuItem().

ilTinyMCE::$root_block_element = null
protected

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

Referenced by getRTERootBlockElement().

ilTinyMCE::$vd = ""
protected

Definition at line 40 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: