Public Member Functions | Data Fields

ilRTE Class Reference

Rich Text Editor base class. More...

Inheritance 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.
 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

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 <helmut.schottmueller@mac.com>
Version:
Id:
class.ilRTE.php 12609 2006-11-25 14:10:28Z hschottm

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_text text, including media object tags
string $a_usage_type type of context of usage, e.g. cat:html
int $a_usage_id if of context of usage, e.g. category id

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

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

Referenced by assQuestion::cleanupMediaObjectUsage(), ilObjTest::cleanupMediaobjectUsage(), ilObjSurvey::cleanupMediaobjectUsage(), ilContainerGUI::savePageContentObject(), SurveyTextQuestion::saveToDb(), SurveyOrdinalQuestion::saveToDb(), SurveyNominalQuestion::saveToDb(), SurveyMetricQuestion::saveToDb(), and SurveyMatrixQuestion::saveToDb().

        {
                // get current stored mobs
                include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
                $mobs = ilObjMediaObject::_getMobsOfObject($a_usage_type,
                        $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::_getRTEClassname (  ) 

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

References ilObjAdvancedEditing::_getRichTextEditor().

Referenced by ilObjSurveyGUI::addHeadingObject(), ilTestCertificateGUI::certificateEditor(), ilContainerGUI::editPageContentObject(), assTextSubsetGUI::editQuestion(), assTextQuestionGUI::editQuestion(), assSingleChoiceGUI::editQuestion(), assOrderingQuestionGUI::editQuestion(), assNumericGUI::editQuestion(), assMultipleChoiceGUI::editQuestion(), assMatchingQuestionGUI::editQuestion(), assJavaAppletGUI::editQuestion(), assImagemapQuestionGUI::editQuestion(), assFlashAppGUI::editQuestion(), assClozeTestGUI::editQuestion(), SurveyTextQuestionGUI::editQuestion(), SurveyOrdinalQuestionGUI::editQuestion(), SurveyNominalQuestionGUI::editQuestion(), SurveyMetricQuestionGUI::editQuestion(), SurveyMatrixQuestionGUI::editQuestion(), assTextSubsetGUI::feedback(), assTextQuestionGUI::feedback(), assSingleChoiceGUI::feedback(), assQuestionTypeTemplateGUI::feedback(), assOrderingQuestionGUI::feedback(), assNumericGUI::feedback(), assMultipleChoiceGUI::feedback(), assMatchingQuestionGUI::feedback(), assJavaAppletGUI::feedback(), assImagemapQuestionGUI::feedback(), assFlashAppGUI::feedback(), assClozeTestGUI::feedback(), ilTextAreaInputGUI::insert(), ilTestScoringGUI::manscoring(), ilObjTestGUI::propertiesObject(), and ilObjSurveyGUI::propertiesObject().

        {
                include_once "./classes/class.ilObjAdvancedEditing.php";
                $editor = ilObjAdvancedEditing::_getRichTextEditor();
                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_text text, including media object tags
integer $a_direction 0 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 209 of file class.ilRTE.php.

Referenced by SurveyQuestion::addMaterialTag(), ilObjSurvey::addMaterialTag(), assQuestion::addQTIMaterial(), ilObjTest::addQTIMaterial(), assTextSubsetImport::fromXML(), assTextQuestionImport::fromXML(), assSingleChoiceImport::fromXML(), assOrderingQuestionImport::fromXML(), assNumericImport::fromXML(), assMultipleChoiceImport::fromXML(), assMatchingQuestionImport::fromXML(), assJavaAppletImport::fromXML(), assImagemapQuestionImport::fromXML(), assClozeTestImport::fromXML(), ilObjTest::fromXML(), assQuestion::getFeedbackGeneric(), assSingleChoice::getFeedbackSingleAnswer(), assMultipleChoice::getFeedbackSingleAnswer(), assImagemapQuestion::getFeedbackSingleAnswer(), ilObjTest::getManualFeedback(), ilObjSurvey::importObject(), assTextSubset::loadFromDb(), assTextQuestion::loadFromDb(), assSingleChoice::loadFromDb(), assOrderingQuestion::loadFromDb(), assNumeric::loadFromDb(), assMultipleChoice::loadFromDb(), assMatchingQuestion::loadFromDb(), assJavaApplet::loadFromDb(), assImagemapQuestion::loadFromDb(), assFlashApp::loadFromDb(), assClozeTest::loadFromDb(), ilObjTest::loadFromDb(), SurveyTextQuestion::loadFromDb(), SurveyOrdinalQuestion::loadFromDb(), SurveyNominalQuestion::loadFromDb(), SurveyMetricQuestion::loadFromDb(), SurveyMatrixQuestion::loadFromDb(), ilObjSurvey::loadFromDb(), assQuestion::saveFeedbackGeneric(), assSingleChoice::saveFeedbackSingleAnswer(), assMultipleChoice::saveFeedbackSingleAnswer(), assImagemapQuestion::saveFeedbackSingleAnswer(), ilObjTest::saveManualFeedback(), assTextSubset::saveToDb(), assTextQuestion::saveToDb(), assSingleChoice::saveToDb(), assOrderingQuestion::saveToDb(), assNumeric::saveToDb(), assMultipleChoice::saveToDb(), assMatchingQuestion::saveToDb(), assJavaApplet::saveToDb(), assImagemapQuestion::saveToDb(), assFlashApp::saveToDb(), assClozeTest::saveToDb(), ilObjTest::saveToDb(), SurveyTextQuestion::saveToDb(), SurveyOrdinalQuestion::saveToDb(), SurveyNominalQuestion::saveToDb(), SurveyMetricQuestion::saveToDb(), SurveyMatrixQuestion::saveToDb(), and ilObjSurvey::saveToDb().

        {
                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 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_name The 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 138 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_name The 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::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_name The name of the button public

Definition at line 110 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_name The name of the plugin public

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

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


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: