Class ilLMObject. More...
Inheritance diagram for ilLMObject: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 | |
| _lookupTitle ($a_obj_id) | |
| _lookupType ($a_obj_id) | |
| _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) | |
| setActive ($a_active) | |
| set activation | |
| getActive () | |
| get activation | |
| _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) | |
| 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 | |
| _lookupActive ($a_id) | |
| lookup activation status | |
| _writeActive ($a_id, $a_active) | |
| write activation status | |
Static Public Member Functions | |
| _writePublicAccessStatus ($a_pages, $a_cont_obj_id) | |
| update public access flags in lm_data for all pages of a content object | |
| static | updateInternalLinks ($a_copied_nodes, $a_parent_type="lm") |
| Update internal links, after multiple pages have been copied. | |
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 36 of file class.ilLMObject.php.
| ilLMObject::_deleteAllObjectData | ( | &$ | a_cobj | ) |
delete all objects of content object (digi book / learning module)
Definition at line 653 of file class.ilLMObject.php.
References ilLMObjectFactory::getInstance().
Referenced by ilObjContentObject::delete().
{
global $ilDB;
include_once './classes/class.ilNestedSetXML.php';
$query = "SELECT * FROM lm_data ".
"WHERE lm_id= ".$ilDB->quote($a_cobj->getId())." ";
$obj_set = $this->ilias->db->query($query);
require_once("./Modules/LearningModule/classes/class.ilLMObjectFactory.php");
while($obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC))
{
$lm_obj =& ilLMObjectFactory::getInstance($a_cobj, $obj_rec["obj_id"],false);
if (is_object($lm_obj))
{
$lm_obj->delete(true);
}
}
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::_exists | ( | $ | a_id | ) |
checks wether a lm content object with specified id exists or not
| int | $id id |
Definition at line 601 of file class.ilLMObject.php.
References ilInternalLink::_extractObjIdOfTarget().
Referenced by ilLMPresentationGUI::ilPage(), and ilLMPresentationGUI::showPrintView().
{
global $ilDB;
include_once("./Services/COPage/classes/class.ilInternalLink.php");
if (is_int(strpos($a_id, "_")))
{
$a_id = ilInternalLink::_extractObjIdOfTarget($a_id);
}
$q = "SELECT * FROM lm_data WHERE obj_id = ".$ilDB->quote($a_id);
$obj_set = $ilDB->query($q);
if ($obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC))
{
return true;
}
else
{
return false;
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::_getAllObjectsForImportId | ( | $ | a_import_id | ) |
Get all items for an import ID.
(only for items notnot in trash)
| int | $a_import_id import id |
Definition at line 573 of file class.ilLMObject.php.
References ilObject::_hasUntrashedReference().
Referenced by updateInternalLinks().
{
global $ilDB;
$q = "SELECT * FROM lm_data WHERE import_id = ".$ilDB->quote($a_import_id)." ".
" ORDER BY create_date DESC";
$obj_set = $ilDB->query($q);
$items = array();
while ($obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC))
{
// check, whether lm is not trashed
if (ilObject::_hasUntrashedReference($obj_rec["lm_id"]))
{
$items[] = $obj_rec;
}
}
return $items;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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 543 of file class.ilLMObject.php.
References $lm_id, ilObject::_hasUntrashedReference(), and _lookupContObjID().
Referenced by assQuestion::_resolveInternalLink(), and SurveyQuestion::_resolveInternalLink().
{
global $ilDB;
$q = "SELECT * FROM lm_data WHERE import_id = ".$ilDB->quote($a_import_id)." ".
" ORDER BY create_date DESC LIMIT 1";
$obj_set = $ilDB->query($q);
while ($obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC))
{
$lm_id = ilLMObject::_lookupContObjID($obj_rec["obj_id"]);
// link only in learning module, that is not trashed
if (ilObject::_hasUntrashedReference($lm_id))
{
return $obj_rec["obj_id"];
}
}
return 0;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::_isPagePublic | ( | $ | a_node_id, | |
| $ | a_check_public_mode = false | |||
| ) |
Definition at line 487 of file class.ilLMObject.php.
References $ilLog, $lm_id, and ilUtil::yn2tf().
Referenced by ilPublicSectionSelector::formatObject(), ilLMPresentationGUI::getCurrentPageId(), ilLMPresentationGUI::ilLMNavigation(), ilLMPresentationGUI::ilPage(), ilLMTOCExplorer::isClickable(), ilTableOfContentsExplorer::isClickable(), ilLMExplorer::isClickable(), ilLMPresentationGUI::showPrintView(), and ilLMPresentationGUI::showPrintViewSelection().
{
global $ilDB,$ilLog;
if (empty($a_node_id))
{
$message = sprintf('ilLMObject::_isPagePublic(): Invalid parameter! $a_node_id is empty');
$ilLog->write($message,$ilLog->WARNING);
return false;
}
if ($a_check_public_mode === true)
{
$lm_id = ilLMObject::_lookupContObjId($a_node_id);
$q = "SELECT public_access_mode FROM content_object WHERE id=".$ilDB->quote($lm_id);
$r = $ilDB->query($q);
$row = $r->fetchRow();
if ($row[0] == "complete")
{
return true;
}
}
$q = "SELECT public_access FROM lm_data WHERE obj_id=".$ilDB->quote($a_node_id);
$r = $ilDB->query($q);
$row = $r->fetchRow();
return ilUtil::yn2tf($row[0]);
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::_lookupActive | ( | $ | a_id | ) |
lookup activation status
Definition at line 694 of file class.ilLMObject.php.
References ilUtil::yn2tf().
Referenced by ilLMPageObject::_getPresentationTitle(), ilStructureObjectGUI::activatePages(), ilObjContentObjectGUI::activatePages(), ilLMPresentationGUI::getCurrentPageId(), ilLMEditorExplorer::getNodeStyleClass(), ilLMPresentationGUI::ilLMNavigation(), ilLMTOCExplorer::isVisible(), ilTableOfContentsExplorer::isVisible(), ilObjContentObjectGUI::pages(), ilLMPresentationGUI::showPrintView(), ilLMPresentationGUI::showPrintViewSelection(), and ilStructureObjectGUI::view().
{
global $ilDB;
$query = "SELECT * FROM lm_data WHERE obj_id = ".$ilDB->quote($a_id);
$obj_set = $ilDB->query($query);
$obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC);
return ilUtil::yn2tf($obj_rec["active"]);
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::_lookupContObjID | ( | $ | a_id | ) |
get learning module / digibook id for lm object
Definition at line 680 of file class.ilLMObject.php.
Referenced by ilObjContentObjectAccess::_checkGoto(), _getIdForImportId(), ilStructureObjectGUI::_goto(), ilLMPageObjectGUI::_goto(), ilLMPageObject::_splitPage(), ilLMPageObject::_splitPageNext(), ilLMPresentationGUI::getLinkXML(), ilLMPageObjectGUI::getLinkXML(), ilGlossaryPresentationGUI::getLinkXML(), ilObjMediaObject::getParentObjectIdForUsage(), ilGlossaryPresentationGUI::listDefinitions(), ilObjContentObjectGUI::pasteChapter(), ilStructureObjectGUI::pastePage(), ilObjContentObjectGUI::pastePage(), SurveyQuestion::setMaterial(), updateInternalLinks(), and ilStructureObjectGUI::view().
{
global $ilDB;
$query = "SELECT * FROM lm_data WHERE obj_id = ".$ilDB->quote($a_id)."";
$obj_set = $ilDB->query($query);
$obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC);
return $obj_rec["lm_id"];
}
Here is the caller graph for this function:| ilLMObject::_lookupNID | ( | $ | a_lm_id, | |
| $ | a_lm_obj_id, | |||
| $ | a_type | |||
| ) |
lookup named identifier (ILIAS_NID)
Definition at line 109 of file class.ilLMObject.php.
References $id.
Referenced by ilTableOfContentsExplorer::buildLinkTarget(), ilObjContentObject::exportPageHTML(), and ilLMPresentationGUI::getLink().
{
include_once 'Services/MetaData/classes/class.ilMD.php';
//echo "-".$a_lm_id."-".$a_lm_obj_id."-".$a_type."-";
$md = new ilMD($a_lm_id, $a_lm_obj_id, $a_type);
$md_gen = $md->getGeneral();
foreach($md_gen->getIdentifierIds() as $id)
{
$md_id = $md_gen->getIdentifier($id);
if ($md_id->getCatalog() == "ILIAS_NID")
{
return $md_id->getEntry();
}
}
return false;
}
Here is the caller graph for this function:| ilLMObject::_lookupTitle | ( | $ | a_obj_id | ) |
Definition at line 240 of file class.ilLMObject.php.
Referenced by ilSearchResultPresentationGUI::__appendChildLinks(), ilCourseObjectivePresentationGUI::__showLearningMaterials(), ilObjContentObjectGUI::confirmedDelete(), ilStructureObjectGUI::cutPage(), ilObjMediaObjectGUI::getMapAreaLinkString(), ilCourseObjectivesGUI::listMaterialAssignment(), ilStructureObjectGUI::pastePage(), ilObjContentObjectGUI::proceedDragDrop(), ilLMPresentationGUI::showPreconditionsOfPage(), and ilObjMediaObjectGUI::showUsagesObject().
{
global $ilDB;
$query = "SELECT * FROM lm_data WHERE obj_id = ".$ilDB->quote($a_obj_id);
$obj_set = $ilDB->query($query);
$obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC);
return $obj_rec["title"];
}
Here is the caller graph for this function:| ilLMObject::_lookupType | ( | $ | a_obj_id | ) |
Definition at line 251 of file class.ilLMObject.php.
Referenced by ilSearchResultPresentationGUI::__appendChildLinks(), ilLMPageObject::_splitPage(), ilLMPageObject::_splitPageNext(), ilPageObject::moveIntLinks(), ilLMPresentationGUI::showPrintView(), and updateInternalLinks().
{
global $ilDB;
$query = "SELECT * FROM lm_data WHERE obj_id = ".$ilDB->quote($a_obj_id);
$obj_set = $ilDB->query($query);
$obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC);
return $obj_rec["type"];
}
Here is the caller graph for this function:| ilLMObject::_writeActive | ( | $ | a_id, | |
| $ | a_active | |||
| ) |
write activation status
Definition at line 708 of file class.ilLMObject.php.
References ilUtil::tf2yn().
Referenced by ilStructureObjectGUI::activatePages(), and ilObjContentObjectGUI::activatePages().
{
global $ilDB;
$query = "UPDATE lm_data ".
" SET active = ".$ilDB->quote(ilUtil::tf2yn($a_active)).
" WHERE obj_id = ".$ilDB->quote($a_id);
$ilDB->query($query);
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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 362 of file class.ilLMObject.php.
Referenced by ilContObjParser::handlerEndTag().
{
global $ilDB;
$q = "UPDATE lm_data ".
"SET ".
"import_id = ".$ilDB->quote($a_import_id).",".
"last_update = now() ".
"WHERE obj_id = ".$ilDB->quote($a_id);
$ilDB->query($q);
}
Here is the caller graph for this function:| ilLMObject::_writePublicAccessStatus | ( | $ | a_pages, | |
| $ | a_cont_obj_id | |||
| ) | [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 426 of file class.ilLMObject.php.
References $ilErr, $ilLog, and ilUtil::quoteArray().
Referenced by ilObjContentObjectGUI::savePublicSection().
{
global $ilDB,$ilLog,$ilErr,$ilTree;
if (!is_array($a_pages))
{$a_pages = array(0);
/*$message = sprintf('ilLMObject::_writePublicAccessStatus(): Invalid parameter! $a_pages must be an array');
$ilLog->write($message,$ilLog->WARNING);
$ilErr->raiseError($message,$ilErr->MESSAGE);
return false;*/
}
if (empty($a_cont_obj_id))
{
$message = sprintf('ilLMObject::_writePublicAccessStatus(): Invalid parameter! $a_cont_obj_id is empty');
$ilLog->write($message,$ilLog->WARNING);
$ilErr->raiseError($message,$ilErr->MESSAGE);
return false;
}
// update structure entries: if at least one page of a chapter is public set chapter to public too
$lm_tree = new ilTree($a_cont_obj_id);
$lm_tree->setTableNames('lm_tree','lm_data');
$lm_tree->setTreeTablePK("lm_id");
$lm_tree->readRootId();
// get all st entries of cont_obj
$q = "SELECT obj_id FROM lm_data " .
"WHERE lm_id = ".$ilDB->quote($a_cont_obj_id)." " .
"AND type = 'st'";
$r = $ilDB->query($q);
// add chapters with a public page to a_pages
while ($row = $r->fetchRow())
{
$childs = $lm_tree->getChilds($row[0]);
foreach ($childs as $page)
{
if ($page["type"] == "pg" and in_array($page["obj_id"],$a_pages))
{
array_push($a_pages, $row[0]);
break;
}
}
}
// update public access status of all pages of cont_obj
$q = "UPDATE lm_data SET " .
"public_access = CASE " .
"WHEN obj_id IN (".implode(',',ilUtil::quoteArray($a_pages)).") " .
"THEN 'y' ".
"ELSE 'n' ".
"END " .
"WHERE lm_id = ".$ilDB->quote($a_cont_obj_id)." " .
"AND type IN ('pg','st')";
$ilDB->query($q);
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::_writeTitle | ( | $ | a_obj_id, | |
| $ | a_title | |||
| ) |
Definition at line 263 of file class.ilLMObject.php.
Referenced by MDUpdateListener().
{
global $ilDB;
$query = "UPDATE lm_data SET ".
" title = ".$ilDB->quote($a_title).
" WHERE obj_id = ".$ilDB->quote($a_obj_id);
$ilDB->query($query);
}
Here is the caller graph for this function:| ilLMObject::create | ( | $ | a_upload = false |
) |
Reimplemented in ilLMPageObject, and ilStructureObject.
Definition at line 375 of file class.ilLMObject.php.
References ilHistory::_createEntry(), createMetaData(), getActive(), getId(), getImportId(), getLMId(), getTitle(), getType(), setId(), and ilUtil::tf2yn().
{
global $ilDB;
// insert object data
$query = "INSERT INTO lm_data (title, type, lm_id, import_id, create_date, active) ".
"VALUES (".$ilDB->quote($this->getTitle()).",".$ilDB->quote($this->getType()).", ".
$ilDB->quote($this->getLMId()).",".$ilDB->quote($this->getImportId()).
", now(),".$ilDB->quote(ilUtil::tf2yn($this->getActive())).")";
$this->ilias->db->query($query);
$this->setId($this->ilias->db->getLastInsertId());
// create history entry
include_once("classes/class.ilHistory.php");
ilHistory::_createEntry($this->getId(), "create", "",
$this->content_object->getType().":".$this->getType());
if (!$a_upload)
{
$this->createMetaData();
}
}
Here is the call graph for this function:| ilLMObject::createMetaData | ( | ) |
create meta data entry
Definition at line 131 of file class.ilLMObject.php.
References getDescription(), getId(), getLMId(), getTitle(), and getType().
Referenced by create().
{
include_once 'Services/MetaData/classes/class.ilMDCreator.php';
global $ilUser;
$md_creator = new ilMDCreator($this->getLMId(), $this->getId(), $this->getType());
$md_creator->setTitle($this->getTitle());
$md_creator->setTitleLanguage($ilUser->getPref('language'));
$md_creator->setDescription($this->getDescription());
$md_creator->setDescriptionLanguage($ilUser->getPref('language'));
$md_creator->setKeywordLanguage($ilUser->getPref('language'));
$md_creator->setLanguage($ilUser->getPref('language'));
$md_creator->create();
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::delete | ( | $ | a_delete_meta_data = true |
) |
delete lm object data
Reimplemented in ilLMPageObject, and ilStructureObject.
Definition at line 522 of file class.ilLMObject.php.
References deleteMetaData(), and getId().
{
global $ilDB;
$query = "DELETE FROM lm_data WHERE obj_id= ".$ilDB->quote($this->getId());
$this->ilias->db->query($query);
$this->deleteMetaData();
}
Here is the call graph for this function:| ilLMObject::deleteMetaData | ( | ) |
delete meta data entry
Definition at line 178 of file class.ilLMObject.php.
References getId(), getLMId(), and getType().
Referenced by delete().
{
// Delete meta data
include_once('Services/MetaData/classes/class.ilMD.php');
$md = new ilMD($this->getLMId(), $this->getId(), $this->getType());
$md->deleteAll();
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::getActive | ( | ) |
get activation
Definition at line 350 of file class.ilLMObject.php.
Referenced by create(), and update().
{
return $this->active;
}
Here is the caller graph for this function:| & ilLMObject::getContentObject | ( | ) |
Definition at line 310 of file class.ilLMObject.php.
Referenced by ilStructureObject::copy(), ilLMPageObject::copy(), ilStructureObject::exportFOPageObjects(), ilLMPageObject::exportXMLPageContent(), and ilStructureObject::exportXMLStructureObjects().
{
return $this->content_object;
}
Here is the caller graph for this function:| ilLMObject::getDescription | ( | ) |
Definition at line 279 of file class.ilLMObject.php.
Referenced by ilStructureObject::copy(), ilLMPageObject::copy(), ilLMPageObject::copyToOtherContObject(), and createMetaData().
{
return $this->description;
}
Here is the caller graph for this function:| ilLMObject::getId | ( | ) |
Reimplemented in ilLMPageObject.
Definition at line 320 of file class.ilLMObject.php.
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().
{
return $this->id;
}
Here is the caller graph for this function:| ilLMObject::getImportId | ( | ) |
Definition at line 325 of file class.ilLMObject.php.
Referenced by create().
{
return $this->import_id;
}
Here is the caller graph for this function:| ilLMObject::getLMId | ( | ) |
Definition at line 300 of file class.ilLMObject.php.
Referenced by ilStructureObject::copy(), ilLMPageObject::copy(), ilLMPageObject::copyToOtherContObject(), ilLMPageObject::create(), create(), createMetaData(), deleteMetaData(), ilStructureObject::exportXMLMetaData(), ilLMPageObject::exportXMLMetaData(), MDUpdateListener(), update(), and updateMetaData().
{
return $this->lm_id;
}
Here is the caller graph for this function:| ilLMObject::getObjectList | ( | $ | lm_id, | |
| $ | type = "" | |||
| ) |
static
Definition at line 627 of file class.ilLMObject.php.
Referenced by ilLMPageObject::getPageList().
{
global $ilDB;
$type_str = ($type != "")
? "AND type = ".$ilDB->quote($type)." "
: "";
$query = "SELECT * FROM lm_data ".
"WHERE lm_id= ".$ilDB->quote($lm_id)." ".
$type_str." ".
"ORDER BY title";
$obj_set = $ilDB->query($query);
$obj_list = array();
while($obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC))
{
$obj_list[] = array("obj_id" => $obj_rec["obj_id"],
"title" => $obj_rec["title"],
"type" => $obj_rec["type"]);
}
return $obj_list;
}
Here is the caller graph for this function:| ilLMObject::getTitle | ( | ) |
get title of lm object
Definition at line 234 of file class.ilLMObject.php.
Referenced by ilStructureObject::copy(), ilLMPageObject::copy(), ilLMPageObject::copyToOtherContObject(), create(), createMetaData(), ilStructureObject::exportFO(), update(), and updateMetaData().
{
return $this->title;
}
Here is the caller graph for this function:| ilLMObject::getType | ( | ) |
Definition at line 289 of file class.ilLMObject.php.
Referenced by ilStructureObject::copy(), ilLMPageObject::copy(), ilLMPageObject::copyToOtherContObject(), create(), createMetaData(), deleteMetaData(), ilStructureObject::exportXMLMetaData(), ilLMPageObject::exportXMLMetaData(), MDUpdateListener(), and updateMetaData().
{
return $this->type;
}
Here is the caller graph for this function:| ilLMObject::ilLMObject | ( | &$ | a_content_obj, | |
| $ | a_id = 0 | |||
| ) |
| object | $a_content_obj content object (digi book or learning module) |
Definition at line 52 of file class.ilLMObject.php.
References $ilias, read(), setContentObject(), and setLMId().
Referenced by ilLMPageObject::ilLMPageObject(), and ilStructureObject::ilStructureObject().
{
global $ilias;
$this->ilias =& $ilias;
$this->id = $a_id;
$this->setContentObject($a_content_obj);
$this->setLMId($a_content_obj->getId());
if($a_id != 0)
{
$this->read();
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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 77 of file class.ilLMObject.php.
References $id, _writeTitle(), getId(), getLMId(), and getType().
{
include_once 'Services/MetaData/classes/class.ilMD.php';
switch($a_element)
{
case 'General':
// Update Title and description
$md = new ilMD($this->getLMId(), $this->getId(), $this->getType());
$md_gen = $md->getGeneral();
ilLMObject::_writeTitle($this->getId(),$md_gen->getTitle());
foreach($md_gen->getDescriptionIds() as $id)
{
$md_des = $md_gen->getDescription($id);
// ilLMObject::_writeDescription($this->getId(),$md_des->getDescription());
break;
}
break;
default:
}
return true;
}
Here is the call graph for this function:| ilLMObject::read | ( | ) |
Reimplemented in ilLMPageObject.
Definition at line 196 of file class.ilLMObject.php.
References $ilBench, setActive(), setImportId(), setTitle(), and ilUtil::yn2tf().
Referenced by ilLMObject().
{
global $ilBench, $ilDB;
$ilBench->start("ContentPresentation", "ilLMObject_read");
if(!isset($this->data_record))
{
$ilBench->start("ContentPresentation", "ilLMObject_read_getData");
$query = "SELECT * FROM lm_data WHERE obj_id = ".$ilDB->quote($this->id);
$obj_set = $this->ilias->db->query($query);
$this->data_record = $obj_set->fetchRow(DB_FETCHMODE_ASSOC);
$ilBench->stop("ContentPresentation", "ilLMObject_read_getData");
}
$this->type = $this->data_record["type"];
$this->setImportId($this->data_record["import_id"]);
$this->setTitle($this->data_record["title"]);
$this->setActive(ilUtil::yn2tf($this->data_record["active"]));
$ilBench->stop("ContentPresentation", "ilLMObject_read");
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::setActive | ( | $ | a_active | ) |
set activation
| boolean | $a_active true/false for active or not |
Definition at line 340 of file class.ilLMObject.php.
Referenced by read().
{
$this->active = $a_active;
}
Here is the caller graph for this function:| ilLMObject::setContentObject | ( | &$ | a_content_obj | ) |
Definition at line 305 of file class.ilLMObject.php.
Referenced by ilLMObject().
{
$this->content_object =& $a_content_obj;
}
Here is the caller graph for this function:| ilLMObject::setDataRecord | ( | $ | a_record | ) |
this method should only be called by class ilLMObjectFactory
Definition at line 191 of file class.ilLMObject.php.
{
$this->data_record = $a_record;
}
| ilLMObject::setDescription | ( | $ | a_description | ) |
Definition at line 274 of file class.ilLMObject.php.
{
$this->description = $a_description;
}
| ilLMObject::setId | ( | $ | a_id | ) |
Reimplemented in ilLMPageObject.
Definition at line 315 of file class.ilLMObject.php.
Referenced by create().
{
$this->id = $a_id;
}
Here is the caller graph for this function:| ilLMObject::setImportId | ( | $ | a_id | ) |
Definition at line 330 of file class.ilLMObject.php.
Referenced by read().
{
$this->import_id = $a_id;
}
Here is the caller graph for this function:| ilLMObject::setLMId | ( | $ | a_lm_id | ) |
Definition at line 294 of file class.ilLMObject.php.
Referenced by ilLMObject().
{
$this->lm_id = $a_lm_id;
}
Here is the caller graph for this function:| ilLMObject::setTitle | ( | $ | a_title | ) |
set title of lm object
| string | $a_title title of chapter or page |
Definition at line 224 of file class.ilLMObject.php.
Referenced by read().
{
$this->title = $a_title;
}
Here is the caller graph for this function:| ilLMObject::setType | ( | $ | a_type | ) |
Definition at line 284 of file class.ilLMObject.php.
Referenced by ilLMPageObject::ilLMPageObject(), and ilStructureObject::ilStructureObject().
{
$this->type = $a_type;
}
Here is the caller graph for this function:| ilLMObject::update | ( | ) |
update complete object
Definition at line 402 of file class.ilLMObject.php.
References getActive(), getId(), getLMId(), getTitle(), ilUtil::tf2yn(), and updateMetaData().
{
global $ilDB;
$this->updateMetaData();
$query = "UPDATE lm_data SET ".
" lm_id = ".$ilDB->quote($this->getLMId()).
" ,title = ".$ilDB->quote($this->getTitle()).
" ,active = ".$ilDB->quote(ilUtil::tf2yn($this->getActive())).
" WHERE obj_id = ".$ilDB->quote($this->getId());
$ilDB->query($query);
}
Here is the call graph for this function:| static ilLMObject::updateInternalLinks | ( | $ | a_copied_nodes, | |
| $ | a_parent_type = "lm" | |||
| ) | [static] |
Update internal links, after multiple pages have been copied.
Definition at line 721 of file class.ilLMObject.php.
References _getAllObjectsForImportId(), ilInternalLink::_getSourcesOfTarget(), ilInternalLink::_getTargetsOfSource(), _lookupContObjID(), ilObject::_lookupType(), and _lookupType().
Referenced by ilObjContentObjectGUI::pasteChapter(), ilStructureObjectGUI::pastePage(), ilObjContentObjectGUI::pastePage(), and ilObjContentObjectGUI::proceedDragDrop().
{
foreach($a_copied_nodes as $original_id => $copied_id)
{
if (ilLMObject::_lookupType($copied_id) == "pg")
{
//
// 1. Outgoing links from the copied page.
//
$targets = ilInternalLink::_getTargetsOfSource($a_parent_type.":pg", $copied_id);
$copy_lm = ilLMObject::_lookupContObjID($copied_id);
$fix = array();
foreach($targets as $target)
{
if (($target["inst"] == 0 || $target["inst"] = IL_INST_ID) &&
($target["type"] == "pg" || $target["type"] == "st"))
{
// first check, whether target is also within the copied set
if ($a_copied_nodes[$target["id"]] > 0)
{
$fix[$target["id"]] = $a_copied_nodes[$target["id"]];
}
else
{
// now check, if a copy if the target is already in the same lm
$lm_data = ilLMObject::_getAllObjectsForImportId("il__".$target["type"]."_".$target["id"]);
$found = false;
foreach($lm_data as $item)
{
if (!$found && ($item["lm_id"] == $copy_lm))
{
$fix[$target["id"]] = $item["obj_id"];
}
}
if (!$found)
{
// we now could look for copies next to the copy lm
}
}
}
}
// outgoing links to be fixed
if (count($fix) > 0)
{
$page = new ilPageObject(ilObject::_lookupType($copy_lm), $copied_id);
$page->moveIntLinks($fix);
$page->update();
}
//
// 2. Incoming links to the original pages
//
// A->B A2 (A+B currently copied)
// A->C B2
// B->A
// C->A C2->A (C already copied)
$original_lm = ilLMObject::_lookupContObjID($original_id);
$original_type = ilObject::_lookupType($original_lm);
// This gets sources that link to A+B (so we have C here)
$sources = ilInternalLink::_getSourcesOfTarget("pg", $original_id, 0);
$fix = array();
foreach($sources as $source)
{
$stype = explode(":", $source["type"]);
$source_type = $stype[1];
if ($source_type == "pg" || $source_type == "st")
{
// check, if a copy if the source is already in the same lm
// now we look for the latest copy of C in LM2
$lm_data = ilLMObject::_getAllObjectsForImportId("il__".$source_type."_".$source["id"]);
$found = false;
foreach($lm_data as $item)
{
if (!$found && ($item["lm_id"] == $copy_lm))
{
$fix[$item["obj_id"]][$original_id] = $copied_id;
}
}
if (!$found)
{
// we now could look for copies next to the copy lm
}
}
}
// outgoing links to be fixed
if (count($fix) > 0)
{
foreach ($fix as $page_id => $fix_array)
{
$page = new ilPageObject(ilObject::_lookupType($copy_lm), $page_id);
$page->moveIntLinks($fix_array);
$page->update();
}
}
}
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::updateMetaData | ( | ) |
update meta data entry
Definition at line 152 of file class.ilLMObject.php.
References getId(), getLMId(), getTitle(), and getType().
Referenced by update().
{
include_once("Services/MetaData/classes/class.ilMD.php");
include_once("Services/MetaData/classes/class.ilMDGeneral.php");
include_once("Services/MetaData/classes/class.ilMDDescription.php");
$md =& new ilMD($this->getLMId(), $this->getId(), $this->getType());
$md_gen =& $md->getGeneral();
$md_gen->setTitle($this->getTitle());
// sets first description (maybe not appropriate)
$md_des_ids =& $md_gen->getDescriptionIds();
if (count($md_des_ids) > 0)
{
$md_des =& $md_gen->getDescription($md_des_ids[0]);
// $md_des->setDescription($this->getDescription());
$md_des->update();
}
$md_gen->update();
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilLMObject::$active = true |
Definition at line 47 of file class.ilLMObject.php.
| ilLMObject::$content_object |
Definition at line 44 of file class.ilLMObject.php.
| ilLMObject::$data_record |
Definition at line 43 of file class.ilLMObject.php.
| ilLMObject::$description |
Definition at line 46 of file class.ilLMObject.php.
| ilLMObject::$id |
Reimplemented in ilLMPageObject.
Definition at line 41 of file class.ilLMObject.php.
Referenced by _lookupNID(), and MDUpdateListener().
| ilLMObject::$ilias |
Reimplemented in ilLMPageObject.
Definition at line 38 of file class.ilLMObject.php.
Referenced by ilLMObject().
| ilLMObject::$lm_id |
Definition at line 39 of file class.ilLMObject.php.
Referenced by _getIdForImportId(), _isPagePublic(), ilLMPageObject::_splitPage(), ilLMPageObject::_splitPageNext(), getObjectList(), and ilLMPageObject::getPageList().
| ilLMObject::$meta_data |
Definition at line 42 of file class.ilLMObject.php.
| ilLMObject::$title |
Definition at line 45 of file class.ilLMObject.php.
Referenced by ilLMPageObject::exportFO().
| ilLMObject::$type |
Definition at line 40 of file class.ilLMObject.php.
Referenced by ilLMPageObject::_splitPage(), ilLMPageObject::_splitPageNext(), and getObjectList().
1.7.1