/**
  * 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;
 }