24 include_once(
"./Services/Form/classes/class.ilSubEnabledFormPropertyGUI.php");
25 include_once
"./Services/RTE/classes/class.ilRTE.php";
92 "mini" =>
array(
"strong",
"em",
"u",
"ol",
"li",
"ul",
"blockquote",
"a",
"p",
"span",
"br"),
93 "standard" =>
array (
"strong",
"em",
"u",
"ol",
"li",
"ul",
"p",
"div",
94 "i",
"b",
"code",
"sup",
"sub",
"pre",
"strike",
"gap"),
96 "a",
"blockquote",
"br",
"cite",
"code",
"div",
"em",
"h1",
"h2",
"h3",
97 "h4",
"h5",
"h6",
"hr",
"li",
"ol",
"p",
98 "pre",
"span",
"strike",
"strong",
"sub",
"sup",
"u",
"ul",
100 "extended_img" =>
array (
101 "a",
"blockquote",
"br",
"cite",
"code",
"div",
"em",
"h1",
"h2",
"h3",
102 "h4",
"h5",
"h6",
"hr",
"img",
"li",
"ol",
"p",
103 "pre",
"span",
"strike",
"strong",
"sub",
"sup",
"u",
"ul",
105 "extended_table" =>
array (
106 "a",
"blockquote",
"br",
"cite",
"code",
"div",
"em",
"h1",
"h2",
"h3",
107 "h4",
"h5",
"h6",
"hr",
"li",
"ol",
"p",
108 "pre",
"span",
"strike",
"strong",
"sub",
"sup",
"table",
"td",
109 "tr",
"u",
"ul",
"i",
"b",
"gap"),
110 "extended_table_img" =>
array (
111 "a",
"blockquote",
"br",
"cite",
"code",
"div",
"em",
"h1",
"h2",
"h3",
112 "h4",
"h5",
"h6",
"hr",
"img",
"li",
"ol",
"p",
113 "pre",
"span",
"strike",
"strong",
"sub",
"sup",
"table",
"td",
114 "tr",
"u",
"ul",
"i",
"b",
"gap"),
116 "a",
"blockquote",
"br",
"cite",
"code",
"div",
"em",
"h1",
"h2",
"h3",
117 "h4",
"h5",
"h6",
"hr",
"img",
"li",
"ol",
"p",
118 "pre",
"span",
"strike",
"strong",
"sub",
"sup",
"table",
"td",
119 "tr",
"u",
"ul",
"ruby",
"rbc",
"rtc",
"rb",
"rt",
"rp",
"i",
"b",
"gap"));
130 parent::__construct($a_title, $a_postvar);
133 $this->plugins =
array();
134 $this->removeplugins =
array();
135 $this->buttons =
array();
136 $this->rteSupport =
array();
146 $this->value = $a_value;
168 $this->cols = $a_cols;
188 $this->
rows = $a_rows;
209 $this->usert = $a_usert;
213 $this->rteSupport[
'version'] =
$version;
234 $this->plugins[$a_plugin] = $a_plugin;
244 $this->removeplugins[$a_plugin] = $a_plugin;
254 $this->buttons[$a_button] = $a_button;
264 unset($this->buttons[$a_button]);
276 $this->rteSupport =
array(
"obj_id" => $obj_id,
"obj_type" => $obj_type,
"module" => $module,
'cfg_template' => $cfg_template,
'hide_switch' => $hide_switch,
'version' =>
$version);
284 $this->rteSupport =
array();
294 $this->rtetags = $a_rtetags;
315 $this->
setRteTags($this->rte_tag_set[$a_set_name]);
326 return $this->rte_tag_set[$a_set_name];
350 $this->use_tags_for_rte_only = $a_val;
374 $item->setValueByArray($a_values);
386 include_once(
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php");
396 if ($this->plugins[
"latex"] ==
"latex" && !is_int(strpos($allowed,
"<span>")))
409 $this->
setAlert($lng->txt(
"msg_input_is_required"));
423 $ttpl =
new ilTemplate(
"tpl.prop_textarea.html",
true,
true,
"Services/Form");
428 $ttpl->setCurrentBlock(
"disabled_rte");
429 $ttpl->setVariable(
"DR_VAL", $this->
getValue());
430 $ttpl->parseCurrentBlock();
437 include_once
"./Services/RTE/classes/class.$rtestring.php";
438 $rte =
new $rtestring($this->rteSupport[
'version']);
443 $rte->addPlugin(
"emotions");
444 foreach ($this->plugins as $plugin)
448 $rte->addPlugin($plugin);
451 foreach ($this->removeplugins as $plugin)
455 $rte->removePlugin($plugin);
459 foreach ($this->buttons as $button)
463 $rte->addButton($button);
474 if (count($this->rteSupport) >= 3)
476 $rte->addRTESupport($this->rteSupport[
"obj_id"], $this->rteSupport[
"obj_type"], $this->rteSupport[
"module"],
false, $this->rteSupport[
'cfg_template'], $this->rteSupport[
'hide_switch']);
483 $rte->removeAllPlugins();
486 $rte->addPlugin(
"paste");
489 $rte->disableButtons(
array(
"anchor",
"justifyleft",
"justifycenter",
490 "justifyright",
"justifyfull",
"formatselect",
"removeformat",
491 "cut",
"copy",
"paste",
"pastetext"));
494 $rte->addCustomRTESupport(0,
"", $this->
getRteTags());
497 $ttpl->touchBlock(
"prop_ta_w");
498 $ttpl->setCurrentBlock(
"prop_textarea");
499 $ttpl->setVariable(
"ROWS", $this->
getRows());
503 $ttpl->touchBlock(
"no_rteditor");
507 $ttpl->setCurrentBlock(
"prop_ta_c");
508 $ttpl->setVariable(
"COLS", $this->
getCols());
509 $ttpl->parseCurrentBlock();
513 $ttpl->touchBlock(
"prop_ta_w");
516 $ttpl->setCurrentBlock(
"prop_textarea");
517 $ttpl->setVariable(
"ROWS", $this->
getRows());
521 $ttpl->setVariable(
"POST_VAR",
524 $ttpl->setVariable(
"ID", $this->
getFieldId());
527 $ttpl->setVariable(
'DISABLED',
'disabled="disabled" ');
533 $ttpl->setVariable(
"REQUIRED",
"required=\"required\"");
536 $ttpl->parseCurrentBlock();
541 $ttpl->setVariable(
"HIDDEN_INPUT",
544 $a_tpl->setCurrentBlock(
"prop_generic");
545 $a_tpl->setVariable(
"PROP_GENERIC", $ttpl->get());
546 $a_tpl->parseCurrentBlock();
601 $this->root_block_element = $a_root_block_element;
626 if(is_array($a_button))
628 $this->disabled_buttons = array_unique(array_merge($this->disabled_buttons, $a_button));
632 $this->disabled_buttons = array_unique(array_merge($this->disabled_buttons,
array($a_button)));
650 return implode(
',', $this->disabled_buttons);
static _getRTEClassname()
setRTESupport($obj_id, $obj_type, $module, $cfg_template=null, $hide_switch=false, $version=null)
Set RTE support for a special module.
setValueByArray($a_values)
Set value by array.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
setRteTagSet($a_set_name)
Set Set of Valid RTE Tags.
setUseRte($a_usert, $version='')
Set Use Rich Text Editing.
setValue($a_value)
Set Value.
setUseTagsForRteOnly($a_val)
Set use tags for RTE only (default is true)
removePlugin($a_plugin)
Remove RTE plugin.
setRteTags($a_rtetags)
Set Valid RTE Tags.
static stripOnlySlashes($a_str)
strip slashes if magic qoutes is enabled
setRTERootBlockElement($a_root_block_element)
Setter for the TinyMCE root block element.
removeButton($a_button)
Remove RTE button.
removeRTESupport()
Remove RTE support for a special module.
__construct($a_title="", $a_postvar="")
Constructor.
getRteTags()
Get Valid RTE Tags.
getRteTagString()
RTE Tag string.
Interface for html sanitizing functionality.
disableButtons($a_button)
Sets buttons which should be disabled in TinyMCE.
getRTERootBlockElement()
Getter for the TinyMCE root block element.
getRteTagSet($a_set_name)
Get Set of Valid RTE Tags.
special template class to simplify handling of ITX/PEAR
setCols($a_cols)
Set Cols.
getUseRte()
Get Use Rich Text Editing.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
Create styles array
The data for the language used.
setInitialRteWidth($initial_rte_width)
usePurifier($a_flag=null)
Setter/Getter for the html purifier usage.
addButton($a_button)
Add RTE button.
setRows($a_rows)
Set Rows.
This class represents a text area property in a property form.
addPlugin($a_plugin)
Add RTE plugin.
setPurifier(ilHtmlPurifierInterface $Purifier)
Setter for the html purifier.
getUseTagsForRteOnly()
Get use tags for RTE only (default is true)
checkInput()
Check input, strip slashes etc.
insert($a_tpl)
Insert property html.
getDisabledButtons($as_array=true)
Returns the disabled TinyMCE buttons.
getPurifier()
Getter for the html purifier.