ILIAS  Release_4_0_x_branch Revision 61816
 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 ()
 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.
 _getRTEClassname ()
 _cleanupMediaObjectUsage ($a_text, $a_usage_type, $a_usage_id)
 synchronises appearances of media objects in $a_text with media object usage table
 _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
 _getMediaObjects ($a_text, $a_direction=0)
 Returns all media objects found in the passed string.
 setRTERootBlockElement ()
 getRTERootBlockElement ()
 disableButtons ()
 getDisabledButtons ()

Data Fields

 $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 20715 2009-07-23 10:10:04Z mjansen

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 177 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:

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

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 255 of file class.ilRTE.php.

References ilObjMediaObject\_exists().

Referenced by ilObjForumGUI\addThreadObject(), and ilObjForumGUI\savePostObject().

{
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:

ilRTE::_getRTEClassname ( )

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

References ilObjAdvancedEditing\_getRichTextEditor().

Referenced by ilObjSurveyGUI\addHeadingObject(), ilContainerGUI\editPageContentObject(), ilObjForumGUI\initReplyEditForm(), ilTextAreaInputGUI\insert(), ilTestScoringGUI\manscoring(), assTextQuestionGUI\outQuestionForTest(), and ilAccountRegistrationGUI\showUserDefinedFields().

{
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:

ilRTE::_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

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 219 of file class.ilRTE.php.

References ilObjMediaObject\_exists().

Referenced by SurveyQuestion\addMaterialTag(), ilObjSurvey\addMaterialTag(), assQuestion\addQTIMaterial(), ilObjTest\addQTIMaterial(), ilObjForumGUI\addThreadObject(), ilForumExportGUI\exportHTML(), assErrorTextImport\fromXML(), assFileUploadImport\fromXML(), assFlashQuestionImport\fromXML(), assNumericImport\fromXML(), assImagemapQuestionImport\fromXML(), assJavaAppletImport\fromXML(), assMultipleChoiceImport\fromXML(), assOrderingHorizontalImport\fromXML(), assOrderingQuestionImport\fromXML(), assSingleChoiceImport\fromXML(), assTextSubsetImport\fromXML(), assTextQuestionImport\fromXML(), assClozeTestImport\fromXML(), assMatchingQuestionImport\fromXML(), ilObjTest\fromXML(), ilForum\generatePost(), assQuestion\getFeedbackGeneric(), assImagemapQuestion\getFeedbackSingleAnswer(), assMultipleChoice\getFeedbackSingleAnswer(), assSingleChoice\getFeedbackSingleAnswer(), ilObjTest\getManualFeedback(), ilObjForumGUI\getQuotationHTMLAsynchObject(), ilObjSurvey\importObject(), SurveyTextQuestion\loadFromDb(), SurveyMultipleChoiceQuestion\loadFromDb(), assFileUpload\loadFromDb(), assOrderingHorizontal\loadFromDb(), assFlashQuestion\loadFromDb(), assErrorText\loadFromDb(), assNumeric\loadFromDb(), assTextQuestion\loadFromDb(), SurveySingleChoiceQuestion\loadFromDb(), assClozeTest\loadFromDb(), assTextSubset\loadFromDb(), assOrderingQuestion\loadFromDb(), SurveyMetricQuestion\loadFromDb(), assMatchingQuestion\loadFromDb(), assMultipleChoice\loadFromDb(), assSingleChoice\loadFromDb(), assImagemapQuestion\loadFromDb(), assJavaApplet\loadFromDb(), SurveyMatrixQuestion\loadFromDb(), ilObjSurvey\loadFromDb(), assQuestion\loadFromDb(), ilObjTest\loadFromDb(), ilForumExportGUI\printPost(), ilForumExportGUI\printThread(), assQuestion\saveFeedbackGeneric(), assImagemapQuestion\saveFeedbackSingleAnswer(), assMultipleChoice\saveFeedbackSingleAnswer(), assSingleChoice\saveFeedbackSingleAnswer(), ilObjTest\saveManualFeedback(), ilObjForumGUI\savePostObject(), assQuestion\saveQuestionDataToDb(), assQuestion\saveSuggestedSolution(), assMultipleChoice\saveToDb(), assOrderingQuestion\saveToDb(), assSingleChoice\saveToDb(), ilObjSurvey\saveToDb(), SurveyQuestion\saveToDb(), ilObjTest\saveToDb(), assTextQuestion\toJSON(), assImagemapQuestion\toJSON(), assOrderingQuestion\toJSON(), assMultipleChoice\toJSON(), assSingleChoice\toJSON(), assMatchingQuestion\toJSON(), assClozeTest\toJSON(), assQuestion\updateSuggestedSolutions(), and ilObjForumGUI\viewThreadObject().

{
if (!strlen($a_text)) return $a_text;
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 80 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 148 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

Definition at line 67 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 126 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 136 of file class.ilRTE.php.

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

Definition at line 302 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 307 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 297 of file class.ilRTE.php.

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

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

References $key.

{
$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

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

References $key.

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

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

{
// must be overwritten in sub classes
}

Field Documentation

ilRTE::$buttons

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

ilRTE::$ctrl

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

ilRTE::$lng

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

Referenced by ilRTE().

ilRTE::$plugins

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

ilRTE::$tpl

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

Referenced by ilTinyMCE\addCustomRTESupport(), ilTinyMCE\addRTESupport(), and ilRTE().


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