ILIAS  Release_4_1_x_branch Revision 61804
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjAdvancedEditing Class Reference

Class ilObjAdvancedEditing. More...

+ Inheritance diagram for ilObjAdvancedEditing:
+ Collaboration diagram for ilObjAdvancedEditing:

Public Member Functions

 ilObjAdvancedEditing ($a_id=0, $a_call_by_reference=true)
 Constructor public.
 update ()
 update object data
 delete ()
 delete object and all related data
 initDefaultRoles ()
 init default roles settings
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 notifys an object about an event occured Based on the event happend, each object may decide how it reacts.
_getUsedHTMLTags ($a_module="")
 Returns an array of all allowed HTML tags for text editing.
_getUsedHTMLTagsAsString ($a_module="")
 Returns a string of all allowed HTML tags for text editing.
 _getRichTextEditor ()
 Returns the identifier for the Rich Text Editor.
 _setRichTextEditor ($a_js_editor)
 Sets wheather a Rich Text Editor should be used or not.
 _setUsedHTMLTags ($a_html_tags, $a_module)
 Writes an array with allowed HTML tags to the ILIAS settings.
getHTMLTags ()
 Returns an array of all possible HTML tags for text editing.
_getAllHTMLTags ()
 Returns an array of all possible HTML tags for text editing.
 _getAllHTMLTagsAsString ()
 Returns a string of all HTML tags.
 _setRichTextEditorUserState ($a_state)
 Sets the state of the rich text editor visibility for the current user.
 _getRichTextEditorUserState ()
 Gets the state of the rich text editor visibility for the current user.
- Public Member Functions inherited from ilObject
 ilObject ($a_id=0, $a_reference=true)
 Constructor public.
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not)
 read ($a_force_db=false)
 read object data from db into object
 getId ()
 get object id public
 setId ($a_id)
 set object id public
 setRefId ($a_id)
 set reference id public
 getRefId ()
 get reference id public
 getType ()
 get object type public
 setType ($a_type)
 set object type public
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions
 getTitle ()
 get object title public
 getUntranslatedTitle ()
 get untranslated object title public
 setTitle ($a_title)
 set object title
 getDescription ()
 get object description
 setDescription ($a_desc)
 set object description
 getLongDescription ()
 get object long description (stored in object_description)
 getImportId ()
 get import id
 setImportId ($a_import_id)
 set import id
 _lookupObjIdByImportId ($a_import_id)
 getOwner ()
 get object owner
 getOwnerName ()
 _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id
 setOwner ($a_owner)
 set object owner
 getCreateDate ()
 get create date public
 getLastUpdateDate ()
 get last update date public
 getDiskUsage ()
 Gets the disk usage of the object in bytes.
 setObjDataRecord ($a_record)
 set object_data record (note: this method should only be called from the ilObjectFactory class)
 create ()
 create
 MDUpdateListener ($a_element)
 Meta data update listener.
 createMetaData ()
 create meta data entry
 updateMetaData ()
 update meta data entry
 deleteMetaData ()
 delete meta data entry
 updateOwner ()
 update owner of object in db
 _getIdForImportId ($a_import_id)
 get current object id for import id (static)
 _lookupOwner ($a_id)
 lookup object owner
 _lookupDescription ($a_id)
 lookup object description
 _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update
 _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects.
 _setDeletedDate ($a_ref_id)
 only called in ilTree::saveSubTree
 _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _lookupDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _writeTitle ($a_obj_id, $a_title)
 write title to db (static)
 _writeDescription ($a_obj_id, $a_desc)
 write description to db (static)
 _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static)
 _isInTrash ($a_ref_id)
 checks wether object is in trash
 _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash
 _lookupObjectId ($a_ref_id)
 lookup object id
 _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!?
 setPermissions ($a_parent_ref)
 set permissions of object
 createReference ()
 creates reference for object
 countReferences ()
 count references of object
 createRoleFolder ()
 creates a local role folder
 setRegisterMode ($a_bool)
 isUserRegistered ($a_user_id=0)
 requireRegistration ()
 getXMLZip ()
 getHTMLDirectory ()
 cloneObject ($a_target_id, $a_copy_id=0)
 Clone object permissions, put in tree ...
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container.
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies.
 cloneMetaData ($target_obj)
 Copy meta data.

Data Fields

 $setting
- Data Fields inherited from ilObject
const TITLE_LENGTH = 128
 max length of object title
 $ilias
 $lng
 $id
 $ref_id
 $type
 $title
 $untranslatedTitle
 $desc
 $long_desc
 $owner
 $create_date
 $last_update
 $import_id
 $register = false
 $referenced
 $objectList
 $max_title
 $max_desc
 $add_dots
 $obj_data_record
 object_data record

Additional Inherited Members

- Static Public Member Functions inherited from ilObject
static _getAllReferences ($a_id)
 get all reference ids of object
static _lookupTitle ($a_id)
 lookup object title
static _getIdsForTitle ($title, $type= '', $partialmatch=false)
static _lookupObjId ($a_id)
static _lookupType ($a_id, $a_reference=false)
 lookup object type
 _exists ($a_id, $a_reference=false)
 checks if an object exists in object_data
static _getObjectsByType ($a_obj_type="", $a_owner="")
 Get objects by type.
static _prepareCloneSelection ($a_ref_ids, $new_type)
 Prepare copy wizard object selection.
static _getIcon ($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
 Get icon for repository item.
static collectDeletionDependencies (&$deps, $a_ref_id, $a_obj_id, $a_type, $a_depth=0)
 Collect deletion dependencies.
static getDeletionDependencies ($a_obj_id)
 Get deletion dependencies.

Detailed Description

Class ilObjAdvancedEditing.

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.ilObjAdvancedEditing.php 23581 2010-04-21 10:10:42Z mjansen

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

Member Function Documentation

& ilObjAdvancedEditing::_getAllHTMLTags ( )

Returns an array of all possible HTML tags for text editing.

Returns an array of all possible HTML tags for text editing

Returns
array HTML tags

Definition at line 433 of file class.ilObjAdvancedEditing.php.

Referenced by _getAllHTMLTagsAsString().

{
$tags = array(
"a",
"abbr",
"acronym",
"address",
"applet",
"area",
"b",
"base",
"basefont",
"bdo",
"big",
"blockquote",
"br",
"button",
"caption",
"center",
"cite",
"code",
"col",
"colgroup",
"dd",
"del",
"dfn",
"dir",
"div",
"dl",
"dt",
"em",
"fieldset",
"font",
"form",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"hr",
"i",
"iframe",
"img",
"input",
"ins",
"isindex",
"kbd",
"label",
"legend",
"li",
"link",
"map",
"menu",
"object",
"ol",
"optgroup",
"option",
"p",
"param",
"pre",
"q",
"s",
"samp",
"select",
"small",
"span",
"strike",
"strong",
"sub",
"sup",
"table",
"tbody",
"td",
"textarea",
"tfoot",
"th",
"thead",
"tr",
"tt",
"u",
"ul",
"var",
"ruby", // Ruby Annotation XHTML module
"rbc",
"rtc",
"rb",
"rt",
"rp"
);
return $tags;
}

+ Here is the caller graph for this function:

ilObjAdvancedEditing::_getAllHTMLTagsAsString ( )

Returns a string of all HTML tags.

Returns a string of all HTML tags

Returns
string Used HTML tags

Definition at line 532 of file class.ilObjAdvancedEditing.php.

References $result, and _getAllHTMLTags().

{
$result = "";
foreach ($tags as $tag)
{
$result .= "<$tag>";
}
return $result;
}

+ Here is the call graph for this function:

ilObjAdvancedEditing::_getRichTextEditor ( )

Returns the identifier for the Rich Text Editor.

Returns the identifier for the Rich Text Editor

Returns
string Identifier for the Rich Text Editor

Definition at line 301 of file class.ilObjAdvancedEditing.php.

References $setting.

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

{
include_once "./Services/Administration/classes/class.ilSetting.php";
$setting = new ilSetting("advanced_editing");
$js = $setting->get("advanced_editing_javascript_editor");
return $js;
}

+ Here is the caller graph for this function:

ilObjAdvancedEditing::_getRichTextEditorUserState ( )

Gets the state of the rich text editor visibility for the current user.

Gets the state of the rich text editor visibility for the current user

Returns
integer 0 if the RTE should be disabled, 1 otherwise

Definition at line 563 of file class.ilObjAdvancedEditing.php.

Referenced by ilTinyMCE\addRTESupport(), and ilObjForumGUI\initReplyEditForm().

{
global $ilUser;
if (strlen($ilUser->getPref("show_rte")) > 0)
{
return $ilUser->getPref("show_rte");
}
return 1;
}

+ Here is the caller graph for this function:

& ilObjAdvancedEditing::_getUsedHTMLTags (   $a_module = "")

Returns an array of all allowed HTML tags for text editing.

Returns an array of all allowed HTML tags for text editing

Parameters
string$a_moduleName of the module or object which uses the tags
Returns
array HTML tags

Definition at line 190 of file class.ilObjAdvancedEditing.php.

References $setting.

Referenced by _getUsedHTMLTagsAsString(), assQuestionGUI\addBasicQuestionFormProperties(), ilObjSurveyGUI\addHeadingObject(), ilTinyMCE\addRTESupport(), SurveyTextQuestionGUI\editQuestion(), SurveyMetricQuestionGUI\editQuestion(), SurveySingleChoiceQuestionGUI\editQuestion(), SurveyMultipleChoiceQuestionGUI\editQuestion(), SurveyMatrixQuestionGUI\editQuestion(), assSingleChoiceGUI\feedback(), assMultipleChoiceGUI\feedback(), assImagemapQuestionGUI\feedback(), assQuestionGUI\feedback(), ilHtmlForumPostPurifier\getPurifierConfigInstance(), and ilObjSurveyGUI\propertiesObject().

{
$usedtags = array();
include_once "./Services/Administration/classes/class.ilSetting.php";
$setting = new ilSetting("advanced_editing");
$tags = $setting->get("advanced_editing_used_html_tags_" . $a_module);
if (strlen($tags))
{
$usedtags = unserialize($tags);
}
else
{
if($a_module == 'frm_post')
{
$usedtags = array(
"a",
"blockquote",
"br",
"code",
"div",
"em",
"img",
"li",
"ol",
"p",
"strong",
"u",
"ul",
"span"
);
}
else
{
// default: everything but tables
$usedtags = array(
"a",
"blockquote",
"br",
"cite",
"code",
"dd",
"div",
"dl",
"dt",
"em",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"hr",
"img",
"li",
"ol",
"p",
"pre",
"span",
"strike",
"strong",
"sub",
"sup",
"u",
"ul"
);
}
}
// frm_posts need blockquote and div urgently
if($a_module === 'frm_post')
{
if(!in_array('div', $usedtags))
{
$usedtags[] = 'div';
}
if(!in_array('blockquote', $usedtags))
{
$usedtags[] = 'blockquote';
}
}
return $usedtags;
}

+ Here is the caller graph for this function:

& ilObjAdvancedEditing::_getUsedHTMLTagsAsString (   $a_module = "")

Returns a string of all allowed HTML tags for text editing.

Returns a string of all allowed HTML tags for text editing

Parameters
string$a_moduleName of the module or object which uses the tags
Returns
string Used HTML tags

Definition at line 283 of file class.ilObjAdvancedEditing.php.

References $result, and _getUsedHTMLTags().

Referenced by ilMultipleChoiceWizardInputGUI\checkInput(), ilMatchingWizardInputGUI\checkInput(), ilSingleChoiceWizardInputGUI\checkInput(), ilObjSurvey\cloneTextblocks(), ilHtmlBlockGUIGen\getValuesHtmlBlock(), ilObjSurveyGUI\saveHeadingObject(), ilHtmlBlockGUIGen\saveHtmlBlock(), ilContainerGUI\savePageContentObject(), ilObjTestGUI\savePropertiesObject(), ilTestScoringGUI\setFeedbackManual(), and ilHtmlBlockGUIGen\updateHtmlBlock().

{
$result = "";
foreach ($tags as $tag)
{
$result .= "<$tag>";
}
return $result;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjAdvancedEditing::_setRichTextEditor (   $a_js_editor)

Sets wheather a Rich Text Editor should be used or not.

Sets wheather a Rich Text Editor should be used or not

Parameters
boolean$a_js_editorA boolean indicating if the JS editor should be used or not

Definition at line 316 of file class.ilObjAdvancedEditing.php.

References $setting.

{
include_once "./Services/Administration/classes/class.ilSetting.php";
$setting = new ilSetting("advanced_editing");
$setting->set("advanced_editing_javascript_editor", $a_js_editor);
}
ilObjAdvancedEditing::_setRichTextEditorUserState (   $a_state)

Sets the state of the rich text editor visibility for the current user.

Sets the state of the rich text editor visibility for the current user

Parameters
integer$a_state0 if the RTE should be disabled, 1 otherwise

Definition at line 550 of file class.ilObjAdvancedEditing.php.

Referenced by ilTinyMCE\addRTESupport(), and ilObjForumGUI\initReplyEditForm().

{
global $ilUser;
$ilUser->writePref("show_rte", $a_state);
}

+ Here is the caller graph for this function:

ilObjAdvancedEditing::_setUsedHTMLTags (   $a_html_tags,
  $a_module 
)

Writes an array with allowed HTML tags to the ILIAS settings.

Writes an array with allowed HTML tags to the ILIAS settings

Parameters
array$a_html_tagsAn array containing the allowed HTML tags
string$a_moduleThe name of the module or object which uses the tags
Exceptions
ilAdvancedEditingRequiredTagsException

Definition at line 333 of file class.ilObjAdvancedEditing.php.

References ilObject\$lng, and $setting.

{
global $lng;
if (strlen($a_module))
{
$auto_added_tags = array();
// frm_posts need blockquote and div urgently
if($a_module == 'frm_post')
{
if(!in_array('div', $a_html_tags))
{
$auto_added_tags[] = 'div';
}
if(!in_array('blockquote', $a_html_tags))
{
$auto_added_tags[] = 'blockquote';
}
}
include_once "./Services/Administration/classes/class.ilSetting.php";
$setting = new ilSetting("advanced_editing");
$setting->set("advanced_editing_used_html_tags_" . $a_module, serialize(array_merge((array)$a_html_tags, $auto_added_tags)));
if(count($auto_added_tags))
{
require_once 'Services/AdvancedEditing/exceptions/class.ilAdvancedEditingRequiredTagsException.php';
sprintf(
$lng->txt('advanced_editing_required_tags'),
implode(', ', $auto_added_tags)
)
);
}
}
}
ilObjAdvancedEditing::delete ( )

delete object and all related data

public

Returns
boolean true if all object data were removed; false if only a references were removed

Reimplemented from ilObject.

Definition at line 77 of file class.ilObjAdvancedEditing.php.

{
// always call parent delete function first!!
if (!parent::delete())
{
return false;
}
//put here your module specific stuff
return true;
}
& ilObjAdvancedEditing::getHTMLTags ( )

Returns an array of all possible HTML tags for text editing.

Returns an array of all possible HTML tags for text editing

Returns
array HTML tags

Definition at line 379 of file class.ilObjAdvancedEditing.php.

{
$tags = array(
"a",
"blockquote",
"br",
"cite",
"code",
"dd",
"div",
"dl",
"dt",
"em",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"hr",
"img",
"li",
"object",
"ol",
"p",
"param",
"pre",
"span",
"strike",
"strong",
"sub",
"sup",
"table",
"td",
"tr",
"u",
"ul",
"ruby", // Ruby Annotation XHTML module
"rbc",
"rtc",
"rb",
"rt",
"rp"
);
return $tags;
}
ilObjAdvancedEditing::ilObjAdvancedEditing (   $a_id = 0,
  $a_call_by_reference = true 
)

Constructor public.

Parameters
integerreference_id or object_id
booleantreat the id as reference_id (true) or object_id (false)

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

References ilObject\ilObject().

{
include_once "./Services/Administration/classes/class.ilSetting.php";
$this->setting = new ilSetting("advanced_editing");
$this->type = "adve";
$this->ilObject($a_id,$a_call_by_reference);
}

+ Here is the call graph for this function:

ilObjAdvancedEditing::initDefaultRoles ( )

init default roles settings

If your module does not require any default roles, delete this method (For an example how this method is used, look at ilObjForum)

public

Returns
array object IDs of created local roles.

Reimplemented from ilObject.

Definition at line 99 of file class.ilObjAdvancedEditing.php.

{
global $rbacadmin;
// create a local role folder
//$rfoldObj = $this->createRoleFolder("Local roles","Role Folder of forum obj_no.".$this->getId());
// create moderator role and assign role to rolefolder...
//$roleObj = $rfoldObj->createRole("Moderator","Moderator of forum obj_no.".$this->getId());
//$roles[] = $roleObj->getId();
//unset($rfoldObj);
//unset($roleObj);
return $roles ? $roles : array();
}
ilObjAdvancedEditing::notify (   $a_event,
  $a_ref_id,
  $a_parent_non_rbac_id,
  $a_node_id,
  $a_params = 0 
)

notifys an object about an event occured Based on the event happend, each object may decide how it reacts.

If you are not required to handle any events related to your module, just delete this method. (For an example how this method is used, look at ilObjGroup)

public

Parameters
stringevent
integerreference id of object where the event occured
arraypasses optional parameters if required
Returns
boolean

Reimplemented from ilObject.

Definition at line 129 of file class.ilObjAdvancedEditing.php.

References $_GET, and ilObject\getType().

{
global $tree;
switch ($a_event)
{
case "link":
//var_dump("<pre>",$a_params,"</pre>");
//echo "Module name ".$this->getRefId()." triggered by link event. Objects linked into target object ref_id: ".$a_ref_id;
//exit;
break;
case "cut":
//echo "Module name ".$this->getRefId()." triggered by cut event. Objects are removed from target object ref_id: ".$a_ref_id;
//exit;
break;
case "copy":
//var_dump("<pre>",$a_params,"</pre>");
//echo "Module name ".$this->getRefId()." triggered by copy event. Objects are copied into target object ref_id: ".$a_ref_id;
//exit;
break;
case "paste":
//echo "Module name ".$this->getRefId()." triggered by paste (cut) event. Objects are pasted into target object ref_id: ".$a_ref_id;
//exit;
break;
case "new":
//echo "Module name ".$this->getRefId()." triggered by paste (new) event. Objects are applied to target object ref_id: ".$a_ref_id;
//exit;
break;
}
// At the beginning of the recursive process it avoids second call of the notify function with the same parameter
if ($a_node_id==$_GET["ref_id"])
{
$parent_obj =& $this->ilias->obj_factory->getInstanceByRefId($a_node_id);
$parent_type = $parent_obj->getType();
if($parent_type == $this->getType())
{
$a_node_id = (int) $tree->getParentId($a_node_id);
}
}
parent::notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params);
}

+ Here is the call graph for this function:

ilObjAdvancedEditing::update ( )

update object data

public

Returns
boolean

Reimplemented from ilObject.

Definition at line 58 of file class.ilObjAdvancedEditing.php.

{
if (!parent::update())
{
return false;
}
// put here object specific stuff
return true;
}

Field Documentation

ilObjAdvancedEditing::$setting

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