示例#1
0
 /**
  * delete object and all related data
  *
  * this method has been tested on may 9th 2004
  * data directory, meta data, file based lm data and bib items
  * have been deleted correctly as desired
  *
  * @access	public
  * @return	boolean	true if all object data were removed; false if only a references were removed
  */
 function delete()
 {
     global $ilDB;
     // always call parent delete function first!!
     if (!parent::delete()) {
         return false;
     }
     // delete meta data of content object
     /*
     		$nested = new ilNestedSetXML();
     		$nested->init($this->getId(), $this->getType());
     		$nested->deleteAllDBData();
     */
     // Delete meta data
     $this->deleteMetaData();
     // delete bibliographical items of object
     include_once "./Services/Xml/classes/class.ilNestedSetXML.php";
     $nested = new ilNestedSetXML();
     $nested->init($this->getId(), "bib");
     $nested->deleteAllDBData();
     // delete file_based_lm record
     $ilDB->manipulate("DELETE FROM file_based_lm WHERE id = " . $ilDB->quote($this->getID(), "integer"));
     // delete data directory
     ilUtil::delDir($this->getDataDirectory());
     return true;
 }
 /**
  * delete learning module and all related data
  *
  * this method has been tested on may 9th 2004
  * meta data, content object data, data directory, bib items
  * learning module tree and pages have been deleted correctly as desired
  *
  * @access	public
  * @return	boolean	true if all object data were removed; false if only a references were removed
  */
 function delete()
 {
     global $ilDB;
     global $ilBench;
     // always call parent delete function first!!
     if (!parent::delete()) {
         return false;
     }
     // delete lm object data
     include_once "./Modules/LearningModule/classes/class.ilLMObject.php";
     ilLMObject::_deleteAllObjectData($this);
     // delete meta data of content object
     $this->deleteMetaData();
     // delete bibitem data
     $nested = new ilNestedSetXML();
     $nested->init($this->getId(), "bib");
     $nested->deleteAllDBData();
     // delete learning module tree
     $this->lm_tree->removeTree($this->lm_tree->getTreeId());
     // delete data directory
     ilUtil::delDir($this->getDataDirectory());
     // delete content object record
     $q = "DELETE FROM content_object WHERE id = " . $ilDB->quote($this->getId(), "integer");
     $ilDB->manipulate($q);
     // delete lm menu entries
     $q = "DELETE FROM lm_menu WHERE lm_id = " . $ilDB->quote($this->getId(), "integer");
     $ilDB->manipulate($q);
     // remove auto glossary entries
     $ilDB->manipulate("DELETE FROM lm_glossaries WHERE " . " lm_id = " . $ilDB->quote($this->getId(), "integer"));
     return true;
 }