ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilRTE Class Reference

Rich Text Editor base class. More...

+ Inheritance diagram for ilRTE:
+ Collaboration diagram for ilRTE:

Public Member Functions

 ilRTE ($a_version="")
 addPlugin ($a_plugin_name)
 Adds a plugin to the plugin list.
 addButton ($a_button_name)
 Adds a button to the button list.
 removePlugin ($a_plugin_name)
 Removes a plugin from the plugin list.
 removeButton ($a_button_name)
 Removes a button from the button list.
 addRTESupport ()
 Adds support for an RTE in an ILIAS form.
 addUserTextEditor ($editor_selector)
 Adds support for an user text editor.
 addCustomRTESupport ($obj_id, $obj_type, $tags)
 Adds custom 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 ()
 getRTERootBlockElement ()
 disableButtons ()
 getDisabledButtons ()

Static Public Member Functions

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.

Data Fields

const ILIAS_IMG_MANAGER_PLUGIN = 'ilias_image_manager_plugin'
 $plugins
 $buttons
 $tpl
 $ctrl
 $lng

Detailed Description

Rich Text Editor base class.

This class provides access methods to a Rich Text Editor (RTE) integrated in ILIAS

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.ilRTE.php

Definition at line 34 of file class.ilRTE.php.

Member Function Documentation

ilRTE::_cleanupMediaObjectUsage (   $a_text,
  $a_usage_type,
  $a_usage_id 
)

synchronises appearances of media objects in $a_text with media object usage table

Parameters
string$a_texttext, including media object tags
string$a_usage_typetype of context of usage, e.g. cat:html
int$a_usage_idif of context of usage, e.g. category id

Definition at line 179 of file class.ilRTE.php.

References $mobs, ilObjMediaObject\_getMobsOfObject(), ilObjMediaObject\_removeUsage(), and ilObjMediaObject\_saveUsage().

Referenced by ilObjSurvey\cleanupMediaobjectUsage(), ilObjTest\cleanupMediaobjectUsage(), assQuestion\cleanupMediaObjectUsage(), ilContainerGUI\savePageContentObject(), and SurveyQuestion\saveToDb().

{
// get current stored mobs
include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
$a_usage_id);
while (eregi("data\/".CLIENT_ID."\/mobs\/mm_([0-9]+)", $a_text, $found))
{
$a_text = str_replace($found[0], "", $a_text);
if (!in_array($found[1], $mobs))
{
// save usage if missing
ilObjMediaObject::_saveUsage($found[1], $a_usage_type,
$a_usage_id);
}
else
{
// if already saved everything ok -> take mob out of mobs array
unset($mobs[$found[1]]);
}
}
// remaining usages are not in text anymore -> delete them
// and media objects (note: delete method of ilObjMediaObject
// checks whether object is used in another context; if yes,
// the object is not deleted!)
foreach($mobs as $mob)
{
ilObjMediaObject::_removeUsage($mob, $a_usage_type,
$a_usage_id);
$mob_obj =& new ilObjMediaObject($mob);
$mob_obj->delete();
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilRTE::_getMediaObjects (   $a_text,
  $a_direction = 0 
)
static

Returns all media objects found in the passed string.

Parameters
string$a_texttext, including media object tags
integer$a_direction0 to find image src, 1 to find mob id
Returns
array array of media objects

Definition at line 258 of file class.ilRTE.php.

References ilObjMediaObject\_exists().

Referenced by ilObjPaymentSettingsGUI\saveStatutoryRegulationsObject().

{
if (!strlen($a_text)) return array();
include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
$mediaObjects = array();
switch ($a_direction)
{
case 0:
if(preg_match_all("/src\=\"(.*?\/mobs\/mm_([0-9]+)\/.*?)\"/", $a_text, $matches))
{
foreach ($matches[2] as $idx => $mob)
{
if (ilObjMediaObject::_exists($mob) && !in_array($mob, $mediaObjects))
{
$mediaObjects[] = $mob;
}
}
}
break;
default:
if(preg_match_all("/src\=\"il_([0-9]+)_mob_([0-9]+)\"/", $a_text, $matches))
{
foreach ($matches[2] as $idx => $mob)
{
if (ilObjMediaObject::_exists($mob) && !in_array($mob, $mediaObjects))
{
$mediaObjects[] = $mob;
}
}
}
break;
}
return $mediaObjects;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilRTE::_getRTEClassname ( )
static

Definition at line 156 of file class.ilRTE.php.

References ilObjAdvancedEditing\_getRichTextEditor().

Referenced by ilContainerGUI\editPageContentObject(), ilTextAreaInputGUI\insert(), and assTextQuestionGUI\outQuestionForTest().

{
include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
switch ($editor)
{
case "tinymce":
return "ilTinyMCE";
break;
default:
return "ilRTE";
break;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilRTE::_replaceMediaObjectImageSrc (   $a_text,
  $a_direction = 0 
)
static

replaces image source from mob image urls with the mob id or replaces mob id with the correct image source

Parameters
string$a_texttext, including media object tags
integer$a_direction0 to replace image src => mob id, 1 to replace mob id => image src
Returns
string The text containing the replaced media object src

Definition at line 222 of file class.ilRTE.php.

References ilObjMediaObject\_exists().

Referenced by ilPurchaseBaseGUI\__sendBill(), SurveyQuestion\addMaterialTag(), ilObjSurvey\addMaterialTag(), assQuestion\addQTIMaterial(), ilObjTest\addQTIMaterial(), assQuestion\formatSAQuestion(), assErrorTextImport\fromXML(), assFileUploadImport\fromXML(), assFlashQuestionImport\fromXML(), assMultipleChoiceImport\fromXML(), assNumericImport\fromXML(), assOrderingHorizontalImport\fromXML(), assOrderingQuestionImport\fromXML(), assSingleChoiceImport\fromXML(), assTextQuestionImport\fromXML(), assTextSubsetImport\fromXML(), assClozeTestImport\fromXML(), assImagemapQuestionImport\fromXML(), assJavaAppletImport\fromXML(), assMatchingQuestionImport\fromXML(), ilObjTest\fromXML(), ilForum\generatePost(), assQuestion\getFeedbackGeneric(), assImagemapQuestion\getFeedbackSingleAnswer(), assSingleChoice\getFeedbackSingleAnswer(), assMultipleChoice\getFeedbackSingleAnswer(), assErrorText\getFeedbackSingleAnswer(), assTextQuestion\getFeedbackSingleAnswer(), assMatchingQuestion\getFeedbackSingleAnswer(), assClozeTest\getFeedbackSingleAnswer(), ilObjTest\getManualFeedback(), ilObjSurvey\importObject(), ilSurveyImporter\importXmlRepresentation(), SurveyTextQuestion\loadFromDb(), assOrderingHorizontal\loadFromDb(), SurveyMultipleChoiceQuestion\loadFromDb(), assFileUpload\loadFromDb(), assFlashQuestion\loadFromDb(), assErrorText\loadFromDb(), assNumeric\loadFromDb(), assClozeTest\loadFromDb(), assTextSubset\loadFromDb(), assTextQuestion\loadFromDb(), SurveySingleChoiceQuestion\loadFromDb(), assOrderingQuestion\loadFromDb(), assMatchingQuestion\loadFromDb(), SurveyMetricQuestion\loadFromDb(), assSingleChoice\loadFromDb(), assMultipleChoice\loadFromDb(), assJavaApplet\loadFromDb(), assImagemapQuestion\loadFromDb(), SurveyMatrixQuestion\loadFromDb(), ilObjSurvey\loadFromDb(), assQuestion\loadFromDb(), ilObjTest\loadFromDb(), assQuestion\saveQuestionDataToDb(), ilObjPaymentSettingsGUI\saveStatutoryRegulationsObject(), assMultipleChoice\saveToDb(), assOrderingQuestion\saveToDb(), assSingleChoice\saveToDb(), ilObjSurvey\saveToDb(), SurveyQuestion\saveToDb(), ilObjTest\saveToDb(), ilShopShoppingCartGUI\showItems(), ilObjPaymentSettingsGUI\StatutoryRegulationsObject(), assOrderingHorizontal\toJSON(), assTextSubset\toJSON(), assErrorText\toJSON(), assImagemapQuestion\toJSON(), assOrderingQuestion\toJSON(), assSingleChoice\toJSON(), assMultipleChoice\toJSON(), assMatchingQuestion\toJSON(), and assClozeTest\toJSON().

{
if (!strlen($a_text)) return "";
switch ($a_direction)
{
case 0:
$a_text = preg_replace("/src\=\"(.*?\/mobs\/mm_([0-9]+)\/.*?)\"/", "src=\"il_" . IL_INST_ID . "_mob_" . "\\2" . "\"", $a_text);
break;
default:
include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
$resulttext = $a_text;
if (preg_match_all("/src\=\"il_([0-9]+)_mob_([0-9]+)\"/", $a_text, $matches))
{
foreach ($matches[2] as $idx => $mob)
{
{
$mob_obj =& new ilObjMediaObject($mob);
$replace = "il_" . $matches[1][$idx] . "_mob_" . $mob;
$resulttext = str_replace("src=\"$replace\"", "src=\"" . ILIAS_HTTP_PATH . "/data/" . CLIENT_ID . "/mobs/mm_" . $mob . "/" . $mob_obj->getTitle() . "\"", $resulttext);
}
}
}
$a_text = $resulttext;
break;
}
return $a_text;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRTE::addButton (   $a_button_name)

Adds a button to the button list.

Adds a button to the button list

Parameters
string$a_button_nameThe name of the button public

Definition at line 82 of file class.ilRTE.php.

{
array_push($this->buttons, $a_button_name);
}
ilRTE::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 in ilTinyMCE.

Definition at line 150 of file class.ilRTE.php.

{
// must be overwritten in parent classes
}
ilRTE::addPlugin (   $a_plugin_name)

Adds a plugin to the plugin list.

Adds a plugin to the plugin list

Parameters
string$a_plugin_nameThe name of the plugin public

Reimplemented in ilTinyMCE.

Definition at line 69 of file class.ilRTE.php.

{
array_push($this->plugins, $a_plugin_name);
}
ilRTE::addRTESupport ( )

Adds support for an RTE in an ILIAS form.

Adds support for an RTE in an ILIAS form

public

Definition at line 128 of file class.ilRTE.php.

{
// must be overwritten in parent classes
}
ilRTE::addUserTextEditor (   $editor_selector)

Adds support for an user text editor.

public

Reimplemented in ilTinyMCE.

Definition at line 138 of file class.ilRTE.php.

{
// must be overwritten in parent classes
}
ilRTE::disableButtons ( )

Definition at line 305 of file class.ilRTE.php.

Referenced by ilTinyMCE\addCustomRTESupport().

{
// must be overwritten in sub classes
}

+ Here is the caller graph for this function:

ilRTE::getDisabledButtons ( )

Definition at line 310 of file class.ilRTE.php.

Referenced by ilTinyMCE\_buildAdvancedButtonsFromHTMLTags(), ilTinyMCE\_buildAdvancedTableButtonsFromHTMLTags(), and ilTinyMCE\_buildButtonsFromHTMLTags().

{
// must be overwritten in sub classes
}

+ Here is the caller graph for this function:

ilRTE::getRTERootBlockElement ( )

Reimplemented in ilTinyMCE.

Definition at line 300 of file class.ilRTE.php.

{
// must be overwritten in sub classes
}
ilRTE::ilRTE (   $a_version = "")

Definition at line 51 of file class.ilRTE.php.

References $ilCtrl, $lng, and $tpl.

Referenced by ilTinyMCE\ilTinyMCE().

{
global $tpl, $ilCtrl, $lng;
$this->tpl =& $tpl;
$this->ctrl =& $ilCtrl;
$this->lng =& $lng;
$this->plugins = array();
$this->buttons = array();
}

+ Here is the caller graph for this function:

ilRTE::removeButton (   $a_button_name)

Removes a button from the button list.

Removes a button from the button list

Parameters
string$a_button_nameThe name of the button public

Definition at line 112 of file class.ilRTE.php.

{
$key = array_search($a_button_name, $this->buttons);
if ($key !== FALSE)
{
unset($this->buttons[$key]);
}
}
ilRTE::removePlugin (   $a_plugin_name)

Removes a plugin from the plugin list.

Removes a plugin from the plugin list

Parameters
string$a_plugin_nameThe name of the plugin public

Reimplemented in ilTinyMCE.

Definition at line 95 of file class.ilRTE.php.

{
$key = array_search($a_plugin_name, $this->plugins);
if ($key !== FALSE)
{
unset($this->plugins[$key]);
}
}
ilRTE::setRTERootBlockElement ( )

Definition at line 295 of file class.ilRTE.php.

{
// must be overwritten in sub classes
}

Field Documentation

ilRTE::$buttons

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

ilRTE::$ctrl

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

ilRTE::$lng

Definition at line 49 of file class.ilRTE.php.

Referenced by ilRTE().

ilRTE::$plugins

Definition at line 45 of file class.ilRTE.php.

const ilRTE::ILIAS_IMG_MANAGER_PLUGIN = 'ilias_image_manager_plugin'

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