ILIAS
release_4-3 Revision
|
Class ilLMObject. More...
Public Member Functions | |
ilLMObject (&$a_content_obj, $a_id=0) | |
MDUpdateListener ($a_element) | |
Meta data update listener. | |
_lookupNID ($a_lm_id, $a_lm_obj_id, $a_type) | |
lookup named identifier (ILIAS_NID) | |
createMetaData () | |
create meta data entry | |
updateMetaData () | |
update meta data entry | |
deleteMetaData () | |
delete meta data entry | |
setDataRecord ($a_record) | |
this method should only be called by class ilLMObjectFactory | |
read () | |
setTitle ($a_title) | |
set title of lm object | |
getTitle () | |
get title of lm object | |
_writeTitle ($a_obj_id, $a_title) | |
setDescription ($a_description) | |
getDescription () | |
setType ($a_type) | |
getType () | |
setLMId ($a_lm_id) | |
getLMId () | |
setContentObject (&$a_content_obj) | |
& | getContentObject () |
setId ($a_id) | |
getId () | |
getImportId () | |
setImportId ($a_id) | |
setLayout ($a_val) | |
Set layout. | |
getLayout () | |
Get layout. | |
_writeImportId ($a_id, $a_import_id) | |
write import id to db (static) | |
create ($a_upload=false) | |
update () | |
update complete object | |
_isPagePublic ($a_node_id, $a_check_public_mode=false) | |
delete ($a_delete_meta_data=true) | |
delete lm object data | |
_getIdForImportId ($a_import_id) | |
get current object id for import id (static) | |
_getAllObjectsForImportId ($a_import_id, $a_in_lm=0) | |
Get all items for an import ID. | |
_exists ($a_id) | |
checks wether a lm content object with specified id exists or not | |
getObjectList ($lm_id, $type="") | |
static | |
_deleteAllObjectData (&$a_cobj) | |
delete all objects of content object (digi book / learning module) | |
_lookupContObjID ($a_id) | |
get learning module / digibook id for lm object | |
clipboardCut ($a_cont_obj_id, $a_ids) | |
Copy a set of chapters/pages into the clipboard. | |
existsExportID ($a_lm_id, $a_exp_id, $a_type="pg") | |
Does export ID exist in lm? | |
getExportIDInfo ($a_lm_id, $a_exp_id, $a_type="pg") | |
Does export ID exist in lm? |
Static Public Member Functions | |
static | _lookupTitle ($a_obj_id) |
Lookup title. | |
static | _lookupType ($a_obj_id, $a_lm_id=0) |
Lookup type. | |
_writePublicAccessStatus ($a_pages, $a_cont_obj_id) | |
update public access flags in lm_data for all pages of a content object | |
static | putInTree ($a_obj, $a_parent_id="", $a_target_node_id="") |
put this object into content object tree | |
static | getTree ($a_cont_obj_id) |
Get learningmodule tree. | |
static | clipboardCopy ($a_cont_obj_id, $a_ids) |
Copy a set of chapters/pages into the clipboard. | |
static | pasteTree ($a_target_lm, $a_item_id, $a_parent_id, $a_target, $a_insert_time, &$a_copied_nodes, $a_as_copy=false, $a_source_lm=null) |
Paste item (tree) from clipboard to current lm. | |
static | saveTitles ($a_lm, $a_titles) |
Save titles for lm objects. | |
static | updateInternalLinks ($a_copied_nodes, $a_parent_type="lm") |
Update internal links, after multiple pages have been copied. | |
static | uniqueTypesCheck ($a_items) |
Check for unique types (all pages or all chapters) | |
static | writeLayout ($a_obj_id, $a_layout, $a_lm=null) |
Write layout setting. | |
static | lookupLayout ($a_obj_id) |
Lookup type. | |
static | getPagesOfChapter ($a_lm_id, $a_chap_id) |
Get pages of chapter. | |
static | saveExportId ($a_lm_id, $a_lmobj_id, $a_exp_id, $a_type="pg") |
Save export id. | |
static | getExportId ($a_lm_id, $a_lmobj_id, $a_type="pg") |
Get export ID. | |
static | getDuplicateExportIDs ($a_lm_id, $a_type="pg") |
Get duplicate export IDs (count export ID usages) |
Data Fields | |
$ilias | |
$lm_id | |
$type | |
$id | |
$meta_data | |
$data_record | |
$content_object | |
$title | |
$description | |
$active = true |
Class ilLMObject.
Base class for ilStructureObjects and ilPageObjects (see ILIAS DTD)
Definition at line 17 of file class.ilLMObject.php.
ilLMObject::_deleteAllObjectData | ( | & | $a_cobj | ) |
delete all objects of content object (digi book / learning module)
Definition at line 673 of file class.ilLMObject.php.
References $query, and ilLMObjectFactory\getInstance().
Referenced by ilObjContentObject\delete().
ilLMObject::_exists | ( | $a_id | ) |
checks wether a lm content object with specified id exists or not
int | $id | id |
Definition at line 619 of file class.ilLMObject.php.
References ilInternalLink\_extractObjIdOfTarget().
Referenced by ilLinksTableGUI\fillRow(), getDuplicateExportIDs(), ilLMPresentationGUI\ilPage(), ilHelpGUI\showHelp(), and ilLMPresentationGUI\showPrintView().
ilLMObject::_getAllObjectsForImportId | ( | $a_import_id, | |
$a_in_lm = 0 |
|||
) |
Get all items for an import ID.
(only for items notnot in trash)
int | $a_import_id | import id |
Definition at line 585 of file class.ilLMObject.php.
References ilObject\_hasUntrashedReference().
Referenced by updateInternalLinks().
ilLMObject::_getIdForImportId | ( | $a_import_id | ) |
get current object id for import id (static)
import ids can exist multiple times (if the same learning module has been imported multiple times). we get the object id of the last imported object, that is not in trash
int | $a_import_id | import id |
Definition at line 554 of file class.ilLMObject.php.
References $lm_id, ilObject\_hasUntrashedReference(), and _lookupContObjID().
Referenced by SurveyQuestion\_resolveInternalLink(), and assQuestion\_resolveInternalLink().
ilLMObject::_isPagePublic | ( | $a_node_id, | |
$a_check_public_mode = false |
|||
) |
Definition at line 495 of file class.ilLMObject.php.
References $ilLog, $lm_id, $row, and ilUtil\yn2tf().
Referenced by ilLMPresentationGUI\executeCommand(), ilPublicSectionSelector\formatObject(), ilLMPresentationGUI\getCurrentPageId(), ilLMPresentationGUI\ilLMNavigation(), ilLMPresentationGUI\ilPage(), ilLMExplorer\isClickable(), ilShopPublicSectionSelector\isClickable(), ilLMTOCExplorer\isClickable(), ilTableOfContentsExplorer\isClickable(), ilLMPresentationGUI\showPrintView(), and ilLMPresentationGUI\showPrintViewSelection().
ilLMObject::_lookupContObjID | ( | $a_id | ) |
get learning module / digibook id for lm object
Definition at line 700 of file class.ilLMObject.php.
References $query.
Referenced by ilObjContentObjectAccess\_checkGoto(), ilStartUpGUI\_checkGoto(), _getIdForImportId(), ilLMPageObjectGUI\_goto(), ilStructureObjectGUI\_goto(), ilLMPageObject\_splitPage(), ilLMPageObject\_splitPageNext(), SurveyQuestion\addInternalLink(), ilWebAccessChecker\checkAccessGlossaryTerm(), ilLinksTableGUI\fillRow(), ilLMPageObjectGUI\getLinkXML(), ilGlossaryPresentationGUI\getLinkXML(), ilLMPresentationGUI\getLinkXML(), ilObjMediaObject\getParentObjectIdForUsage(), ilGlossaryPresentationGUI\listDefinitions(), ilStructureObjectGUI\pastePage(), ilObjContentObjectGUI\pastePage(), pasteTree(), ilPageObjectGUI\setDefaultLinkXml(), SurveyQuestion\setMaterial(), and updateInternalLinks().
ilLMObject::_lookupNID | ( | $a_lm_id, | |
$a_lm_obj_id, | |||
$a_type | |||
) |
lookup named identifier (ILIAS_NID)
Definition at line 90 of file class.ilLMObject.php.
References $id.
|
static |
Lookup title.
int | lm object id |
Definition at line 231 of file class.ilLMObject.php.
References $query.
Referenced by ilShopResultPresentationGUI\__appendChildLinks(), ilCourseObjectivePresentationGUI\__showLearningMaterials(), clipboardCopy(), ilObjContentObjectGUI\confirmedDelete(), ilStructureObjectGUI\cutPage(), ilObjContentObject\executeDragDrop(), ilTermUsagesTableGUI\fillRow(), ilLinksTableGUI\fillRow(), ilMediaPoolPageUsagesTableGUI\fillRow(), ilMediaObjectUsagesTableGUI\fillRow(), ilCourseObjectivesTableGUI\fillRow(), ilCourseObjectiveMaterialAssignmentTableGUI\fillRow(), ilLMQuestionListTableGUI\fillRow(), ilObjLearningModuleSubItemListGUI\getHTML(), ilImageMapEditorGUI\getMapAreaLinkString(), ilLinkInputGUI\getTranslatedValue(), ilLMPresentationGUI\ilPage(), ilCourseObjectiveMaterialAssignmentTableGUI\parse(), ilStructureObjectGUI\pastePage(), ilContainerObjectiveGUI\renderObjective(), ilHelpGUI\showHelp(), ilHelpGUI\showPage(), and ilLMPresentationGUI\showPreconditionsOfPage().
|
static |
Lookup type.
int | id of pg st |
int | id of lm object [optional] |
Definition at line 249 of file class.ilLMObject.php.
References $query.
Referenced by ilShopResultPresentationGUI\__appendChildLinks(), ilLMPageObject\_splitPage(), ilLMPageObject\_splitPageNext(), ilStructureObjectGUI\activatePages(), clipboardCopy(), ilLMPresentationGUI\getCurrentPageId(), ilObjLearningModuleSubItemListGUI\getHTML(), ilLMPresentationGUI\ilLMNavigation(), ilLMPresentationGUI\ilPage(), ilLMPresentationGUI\ilTOC(), ilPageObject\moveIntLinks(), pasteTree(), ilObjContentObjectGUI\saveExportIds(), ilLMPresentationGUI\showPrintView(), ilLMPresentationGUI\showTableOfContents(), uniqueTypesCheck(), updateInternalLinks(), ilCourseObjectivesGUI\updateMaterialAssignment(), and writeLayout().
ilLMObject::_writeImportId | ( | $a_id, | |
$a_import_id | |||
) |
write import id to db (static)
int | $a_id | lm object id |
string | $a_import_id | import id public |
Definition at line 365 of file class.ilLMObject.php.
Referenced by ilContObjParser\handlerEndTag().
|
static |
update public access flags in lm_data for all pages of a content object
public
array | page ids |
integer | content object id |
Definition at line 434 of file class.ilLMObject.php.
References $ilErr, $ilLog, and $row.
Referenced by ilObjContentObjectGUI\savePublicSection().
ilLMObject::_writeTitle | ( | $a_obj_id, | |
$a_title | |||
) |
Definition at line 266 of file class.ilLMObject.php.
References $query.
Referenced by MDUpdateListener(), and saveTitles().
|
static |
Copy a set of chapters/pages into the clipboard.
Definition at line 834 of file class.ilLMObject.php.
References $id, $ilUser, _lookupTitle(), _lookupType(), and getTree().
Referenced by clipboardCut(), ilStructureObjectGUI\copyItems(), ilObjContentObjectGUI\copyItems(), and ilObjContentObjectGUI\copyPage().
ilLMObject::clipboardCut | ( | $a_cont_obj_id, | |
$a_ids | |||
) |
Copy a set of chapters/pages into the clipboard.
Definition at line 786 of file class.ilLMObject.php.
References $id, $path, clipboardCopy(), and getTree().
Referenced by ilStructureObjectGUI\cutItems(), ilObjContentObjectGUI\cutItems(), and ilObjContentObjectGUI\movePage().
ilLMObject::create | ( | $a_upload = false | ) |
Reimplemented in ilLMPageObject, and ilStructureObject.
Definition at line 378 of file class.ilLMObject.php.
References $query, ilHistory\_createEntry(), createMetaData(), getId(), getImportId(), getLayout(), getLMId(), getTitle(), getType(), and setId().
ilLMObject::createMetaData | ( | ) |
create meta data entry
Definition at line 115 of file class.ilLMObject.php.
References $ilUser, getDescription(), getId(), getLMId(), getTitle(), and getType().
Referenced by create().
ilLMObject::delete | ( | $a_delete_meta_data = true | ) |
delete lm object data
Reimplemented in ilLMPageObject, and ilStructureObject.
Definition at line 532 of file class.ilLMObject.php.
References $query, deleteMetaData(), and getId().
ilLMObject::deleteMetaData | ( | ) |
delete meta data entry
Definition at line 162 of file class.ilLMObject.php.
References getId(), getLMId(), and getType().
Referenced by delete().
ilLMObject::existsExportID | ( | $a_lm_id, | |
$a_exp_id, | |||
$a_type = "pg" |
|||
) |
Does export ID exist in lm?
@return |
Definition at line 1381 of file class.ilLMObject.php.
References ilMDIdentifier\existsIdInRbacObject().
Referenced by ilLMPageObject\copy().
& ilLMObject::getContentObject | ( | ) |
Definition at line 313 of file class.ilLMObject.php.
References $content_object.
Referenced by ilStructureObject\exportFOPageObjects(), ilLMPageObject\exportXMLPageContent(), and ilStructureObject\exportXMLStructureObjects().
ilLMObject::getDescription | ( | ) |
Definition at line 282 of file class.ilLMObject.php.
References $description.
Referenced by ilStructureObject\copy(), ilLMPageObject\copy(), ilLMPageObject\copyToOtherContObject(), and createMetaData().
|
static |
Get duplicate export IDs (count export ID usages)
Definition at line 1390 of file class.ilLMObject.php.
References $res, _exists(), and ilMDIdentifier\_getEntriesForRbacObj().
Referenced by ilExportIDTableGUI\__construct().
|
static |
Get export ID.
@return |
Definition at line 1359 of file class.ilLMObject.php.
References ilMDIdentifier\_getEntriesForObj().
Referenced by ilTableOfContentsExplorer\buildLinkTarget(), ilLMPageObject\copy(), ilObjContentObject\exportHTMLPages(), ilExportIDTableGUI\fillRow(), and ilLMPresentationGUI\getLink().
ilLMObject::getExportIDInfo | ( | $a_lm_id, | |
$a_exp_id, | |||
$a_type = "pg" |
|||
) |
Does export ID exist in lm?
@return |
Definition at line 1414 of file class.ilLMObject.php.
References $data, and ilMDIdentifier\readIdData().
ilLMObject::getId | ( | ) |
Reimplemented in ilLMPageObject.
Definition at line 323 of file class.ilLMObject.php.
References $id.
Referenced by ilStructureObject\copy(), create(), createMetaData(), ilStructureObject\delete(), delete(), ilStructureObject\delete_rec(), deleteMetaData(), ilStructureObject\exportFOPageObjects(), ilStructureObject\exportXML(), ilStructureObject\exportXMLMetaData(), ilStructureObject\exportXMLPageObjects(), ilStructureObject\exportXMLStructureObjects(), MDUpdateListener(), ilStructureObject\modifyExportIdentifier(), update(), and updateMetaData().
ilLMObject::getImportId | ( | ) |
Definition at line 328 of file class.ilLMObject.php.
Referenced by create().
ilLMObject::getLayout | ( | ) |
Get layout.
Definition at line 353 of file class.ilLMObject.php.
Referenced by ilLMPageObject\copy(), create(), and update().
ilLMObject::getLMId | ( | ) |
Definition at line 303 of file class.ilLMObject.php.
References $lm_id.
Referenced by ilStructureObject\copy(), ilLMPageObject\copy(), ilLMPageObject\copyToOtherContObject(), ilLMPageObject\create(), create(), createMetaData(), deleteMetaData(), ilStructureObject\exportXMLMetaData(), ilLMPageObject\exportXMLMetaData(), MDUpdateListener(), update(), and updateMetaData().
ilLMObject::getObjectList | ( | $lm_id, | |
$type = "" |
|||
) |
static
Definition at line 646 of file class.ilLMObject.php.
References $lm_id, $query, and $type.
Referenced by ilLMPageObject\getPageList(), ilHelpExporter\getXmlExportTailDependencies(), and ilObjContentObject\importFromZipFile().
|
static |
Get pages of chapter.
@return |
Definition at line 1272 of file class.ilLMObject.php.
Referenced by ilHelpGUI\showHelp().
ilLMObject::getTitle | ( | ) |
get title of lm object
Definition at line 220 of file class.ilLMObject.php.
References $title.
Referenced by ilStructureObject\copy(), ilLMPageObject\copy(), ilLMPageObject\copyToOtherContObject(), create(), createMetaData(), ilStructureObject\exportFO(), update(), and updateMetaData().
|
static |
Get learningmodule tree.
int | learning module object id |
Definition at line 773 of file class.ilLMObject.php.
Referenced by clipboardCopy(), and clipboardCut().
ilLMObject::getType | ( | ) |
Definition at line 292 of file class.ilLMObject.php.
References $type.
Referenced by ilStructureObject\copy(), ilLMPageObject\copy(), ilLMPageObject\copyToOtherContObject(), create(), createMetaData(), deleteMetaData(), ilStructureObject\exportXMLMetaData(), ilLMPageObject\exportXMLMetaData(), MDUpdateListener(), and updateMetaData().
ilLMObject::ilLMObject | ( | & | $a_content_obj, |
$a_id = 0 |
|||
) |
object | $a_content_obj | content object (digi book or learning module) |
Definition at line 33 of file class.ilLMObject.php.
References $ilias, read(), setContentObject(), and setLMId().
Referenced by ilLMPageObject\ilLMPageObject(), and ilStructureObject\ilStructureObject().
|
static |
Lookup type.
int | lm object id |
Definition at line 1254 of file class.ilLMObject.php.
References $query.
Referenced by ilLMPresentationGUI\determineLayout(), and ilLMPagesTableGUI\fillRow().
ilLMObject::MDUpdateListener | ( | $a_element | ) |
Meta data update listener.
Important note: Do never call create() or update() method of ilObject here. It would result in an endless loop: update object -> update meta -> update object -> ... Use static _writeTitle() ... methods instead.
string | $a_element |
Definition at line 58 of file class.ilLMObject.php.
References $id, _writeTitle(), getId(), getLMId(), and getType().
|
static |
Paste item (tree) from clipboard to current lm.
Definition at line 874 of file class.ilLMObject.php.
References $ilias, $ilLog, $ilUser, _lookupContObjID(), _lookupType(), ilMD\cloneMD(), IL_LAST_NODE, and putInTree().
Referenced by ilObjContentObject\copyAllPagesAndChapters(), ilStructureObjectGUI\insertChapterClip(), ilObjContentObjectGUI\insertChapterClip(), and ilStructureObjectGUI\insertPageClip().
|
static |
put this object into content object tree
Definition at line 715 of file class.ilLMObject.php.
References $ilLog, IL_FIRST_NODE, and ilTree\setTableNames().
Referenced by ilObjContentObjectGUI\insertChapter(), and pasteTree().
ilLMObject::read | ( | ) |
Reimplemented in ilLMPageObject.
Definition at line 180 of file class.ilLMObject.php.
References $ilBench, $query, setImportId(), setLayout(), and setTitle().
Referenced by ilLMObject().
|
static |
Save export id.
@return |
Definition at line 1296 of file class.ilLMObject.php.
References $id, and ilMDIdentifier\_getEntriesForObj().
Referenced by ilLMPageObject\copy(), and ilObjContentObjectGUI\saveExportIds().
|
static |
Save titles for lm objects.
array | titles (key is ID, value is title) |
Definition at line 967 of file class.ilLMObject.php.
References $id, $title, _writeTitle(), ilMD\getGeneral(), ilLMObjectFactory\getInstance(), and ilMDBase\update().
Referenced by ilStructureObjectGUI\saveAllTitles(), and ilObjContentObjectGUI\saveAllTitles().
ilLMObject::setContentObject | ( | & | $a_content_obj | ) |
Definition at line 308 of file class.ilLMObject.php.
Referenced by ilLMObject().
ilLMObject::setDataRecord | ( | $a_record | ) |
this method should only be called by class ilLMObjectFactory
Definition at line 175 of file class.ilLMObject.php.
ilLMObject::setDescription | ( | $a_description | ) |
Definition at line 277 of file class.ilLMObject.php.
ilLMObject::setId | ( | $a_id | ) |
Reimplemented in ilLMPageObject.
Definition at line 318 of file class.ilLMObject.php.
Referenced by create().
ilLMObject::setImportId | ( | $a_id | ) |
Definition at line 333 of file class.ilLMObject.php.
Referenced by read().
ilLMObject::setLayout | ( | $a_val | ) |
Set layout.
string | layout |
Definition at line 343 of file class.ilLMObject.php.
Referenced by read().
ilLMObject::setLMId | ( | $a_lm_id | ) |
Definition at line 297 of file class.ilLMObject.php.
Referenced by ilLMObject().
ilLMObject::setTitle | ( | $a_title | ) |
set title of lm object
string | $a_title | title of chapter or page |
Definition at line 210 of file class.ilLMObject.php.
Referenced by read().
ilLMObject::setType | ( | $a_type | ) |
Definition at line 287 of file class.ilLMObject.php.
Referenced by ilLMPageObject\ilLMPageObject(), and ilStructureObject\ilStructureObject().
|
static |
Check for unique types (all pages or all chapters)
Definition at line 1191 of file class.ilLMObject.php.
References $type, and _lookupType().
Referenced by ilStructureObjectGUI\copyItems(), and ilStructureObjectGUI\cutItems().
ilLMObject::update | ( | ) |
update complete object
Definition at line 410 of file class.ilLMObject.php.
References $query, getId(), getLayout(), getLMId(), getTitle(), and updateMetaData().
|
static |
Update internal links, after multiple pages have been copied.
Definition at line 992 of file class.ilLMObject.php.
References $mobs, $t, ilInternalLink\_extractInstOfTarget(), ilInternalLink\_extractObjIdOfTarget(), ilInternalLink\_extractTypeOfTarget(), _getAllObjectsForImportId(), ilMapArea\_getMobsForTarget(), ilInternalLink\_getSourcesOfTarget(), _lookupContObjID(), _lookupType(), and ilObjMediaObject\lookupUsages().
Referenced by ilObjContentObject\copyAllPagesAndChapters(), ilStructureObjectGUI\insertChapterClip(), ilObjContentObjectGUI\insertChapterClip(), ilStructureObjectGUI\insertPageClip(), ilStructureObjectGUI\pastePage(), and ilObjContentObjectGUI\pastePage().
ilLMObject::updateMetaData | ( | ) |
update meta data entry
Definition at line 136 of file class.ilLMObject.php.
References getId(), getLMId(), getTitle(), and getType().
Referenced by update().
|
static |
Write layout setting.
int | lm object id |
string | layout |
Definition at line 1216 of file class.ilLMObject.php.
References $query, $t, and _lookupType().
Referenced by ilLMPageObjectGUI\saveLayout(), ilStructureObjectGUI\savePageLayout(), and ilObjContentObjectGUI\savePageLayout().
ilLMObject::$active = true |
Definition at line 28 of file class.ilLMObject.php.
Referenced by ilLMPageObject\_getPresentationTitle().
ilLMObject::$content_object |
Definition at line 25 of file class.ilLMObject.php.
Referenced by getContentObject().
ilLMObject::$data_record |
Definition at line 24 of file class.ilLMObject.php.
ilLMObject::$description |
Definition at line 27 of file class.ilLMObject.php.
Referenced by getDescription().
ilLMObject::$id |
Definition at line 22 of file class.ilLMObject.php.
Referenced by _lookupNID(), clipboardCopy(), clipboardCut(), getId(), MDUpdateListener(), saveExportId(), and saveTitles().
ilLMObject::$ilias |
Definition at line 19 of file class.ilLMObject.php.
Referenced by ilLMObject(), and pasteTree().
ilLMObject::$lm_id |
Definition at line 20 of file class.ilLMObject.php.
Referenced by _getIdForImportId(), _isPagePublic(), ilLMPageObject\_splitPage(), ilLMPageObject\_splitPageNext(), getLMId(), getObjectList(), and ilLMPageObject\getPageList().
ilLMObject::$meta_data |
Definition at line 23 of file class.ilLMObject.php.
ilLMObject::$title |
Definition at line 26 of file class.ilLMObject.php.
Referenced by ilLMPageObject\exportFO(), getTitle(), and saveTitles().
ilLMObject::$type |
Definition at line 21 of file class.ilLMObject.php.
Referenced by ilLMPageObject\_splitPage(), ilLMPageObject\_splitPageNext(), getObjectList(), getType(), and uniqueTypesCheck().