ILIAS  Release_5_0_x_branch Revision 61816
 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
 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.
- 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
 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
 _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
 _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
 setParentRolePermissions ($a_parent_ref)
 Initialize the permissions of parent roles (local roles of categories, global roles...) This method is overwritten in e.g courses, groups for building permission intersections with non_member templates.
 createReference ()
 creates reference for object
 countReferences ()
 count references of object
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public
 applyDidacticTemplate ($a_tpl_id)
 Apply template.
 setRegisterMode ($a_bool)
 isUserRegistered ($a_user_id=0)
 requireRegistration ()
 getXMLZip ()
 getHTMLDirectory ()
 cloneObject ($a_target_id, $a_copy_id=0, $a_omit_tree=false)
 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.
 _lookupCreationDate ($a_id)
 Lookup creation date.

Static Public Member Functions

static _setRichTextEditorUserState ($a_state)
 Sets the state of the rich text editor visibility for the current user.
static _getRichTextEditorUserState ()
 Gets the state of the rich text editor visibility for the current user.
- Static Public Member Functions inherited from ilObject
static _lookupObjIdByImportId ($a_import_id)
static _getAllReferences ($a_id)
 get all reference ids of object
static _lookupTitle ($a_id)
 lookup object title
static _getIdsForTitle ($title, $type= '', $partialmatch=false)
static _lookupDescription ($a_id)
 lookup object description
static _lookupObjId ($a_id)
static setDeletedDates ($a_ref_ids)
 Set deleted date type $ilDB.
static _lookupType ($a_id, $a_reference=false)
 lookup object type
static _lookupObjectId ($a_ref_id)
 lookup object id
static _exists ($a_id, $a_reference=false, $a_type=null)
 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, $show_path=true)
 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.
static getLongDescriptions (array $a_obj_ids)
 Get long description data.
static getAllOwnedRepositoryObjects ($a_user_id)
 Get all ids of objects user owns.
static hasAutoRating ($a_type, $a_ref_id)
 Check if auto rating is active for parent group/course.

Data Fields

 $setting
- Data Fields inherited from ilObject
const TITLE_LENGTH = 255
 max length of object title
const DESC_LENGTH = 128
 $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

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 52442 2014-08-20 12:43:31Z smeyer

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 408 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 507 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 276 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:

static ilObjAdvancedEditing::_getRichTextEditorUserState ( )
static

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 539 of file class.ilObjAdvancedEditing.php.

References $ilUser.

Referenced by ilTinyMCE\addRTESupport().

{
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 165 of file class.ilObjAdvancedEditing.php.

References $setting.

Referenced by _getUsedHTMLTagsAsString(), assClozeTestGUI\addBasicQuestionFormProperties(), assQuestionGUI\addBasicQuestionFormProperties(), ilTinyMCE\addRTESupport(), ilAssQuestionFeedback\buildFeedbackContentFormProperty(), ilAssQuestionHintGUI\buildForm(), ilAssHtmlPurifier\getElementsUsedForAdvancedEditing(), ilHtmlForumPostPurifier\getPurifierConfigInstance(), SurveyQuestionGUI\initEditForm(), ilSurveyEditorGUI\initHeadingForm(), ilObjSurveyGUI\initPropertiesForm(), assClozeTestGUI\populateQuestionSpecificFormPart(), ilSurveyPageGUI\renderPage(), and ilObjExerciseGUI\updateAssignmentTextObject().

{
$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' || $a_module == 'exc_ass')
{
$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 258 of file class.ilObjAdvancedEditing.php.

References $result, and _getUsedHTMLTags().

Referenced by ilEssayKeywordWizardInputGUI\checkInput(), ilMultipleChoiceWizardInputGUI\checkInput(), ilKprimChoiceWizardInputGUI\checkInput(), ilMatchingWizardInputGUI\checkInput(), ilSingleChoiceWizardInputGUI\checkInput(), ilObjSurvey\cloneTextblocks(), ilSurveyEditorGUI\saveHeadingObject(), ilTestScoringGUI\saveManScoringParticipantScreen(), ilContainerGUI\savePageContentObject(), ilObjTestSettingsGeneralGUI\saveTestFinishProperties(), and ilObjTestSettingsGeneralGUI\saveTestIntroProperties().

{
$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 291 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);
}
static ilObjAdvancedEditing::_setRichTextEditorUserState (   $a_state)
static

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 525 of file class.ilObjAdvancedEditing.php.

References $ilUser.

Referenced by ilTinyMCE\addRTESupport().

{
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 308 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 354 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::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 104 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: