/** * delete object and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { // always call parent delete function first!! if (!parent::delete()) { return false; } //put here your module specific stuff // delete feed block include_once "./Services/Block/classes/class.ilCustomBlock.php"; $costum_block = new ilCustomBlock(); $costum_block->setContextObjId($this->getId()); $costum_block->setContextObjType($this->getType()); $c_blocks = $costum_block->queryBlocksForContext(); include_once "./Services/Block/classes/class.ilExternalFeedBlock.php"; foreach ($c_blocks as $c_block) { if ($c_block["type"] == "feed") { $fb = new ilExternalFeedBlock($c_block["id"]); $fb->delete(); include_once "./Services/Block/classes/class.ilBlockSetting.php"; ilBlockSetting::_deleteSettingsOfBlock($c_block["id"], "feed"); } } //ilBlockSetting::_lookupSide($type, $user_id, $c_block["id"]); return true; }
/** * delete role template and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { // put here role template specific stuff global $rbacadmin; // delete rbac permissions $rbacadmin->deleteTemplate($this->getId(), $_GET["ref_id"]); // always call parent delete function at the end!! return parent::delete() ? true : false; }
/** * delete object and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { // always call parent delete function first!! if (!parent::delete()) { return false; } //put here your module specific stuff return true; }
/** * delete userfolder and all related data * DISABLED * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { // DISABLED return false; // always call parent delete function first!! if (!parent::delete()) { return false; } // put here userfolder specific stuff // always call parent delete function at the end!! return true; }
/** * delete rolefolder and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { // always call parent delete function first!! if (!parent::delete()) { return false; } // put here rolefolder specific stuff global $rbacreview; $roles = $rbacreview->getRolesOfRoleFolder($this->getRefId()); // FIRST DELETE ALL LOCAL/BASE ROLES OF FOLDER foreach ($roles as $role_id) { $roleObj =& $this->ilias->obj_factory->getInstanceByObjId($role_id); $roleObj->setParent($this->getRefId()); $roleObj->delete(); unset($roleObj); } // always call parent delete function at the end!! return true; }
/** * delete SCORM learning module and all related data * * this method has been tested on may 9th 2004 * meta data, scorm lm data, scorm tree, scorm objects (organization(s), * manifest, resources and items), tracking data and data directory * 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, $ilLog; // always call parent delete function first!! if (!parent::delete()) { return false; } // delete meta data of scorm content object /* $nested = new ilNestedSetXML(); $nested->init($this->getId(), $this->getType()); $nested->deleteAllDBData(); */ $this->deleteMetaData(); // delete data directory ilUtil::delDir($this->getDataDirectory()); // delete scorm learning module record $ilDB->manipulateF('DELETE FROM sahs_lm WHERE id = %s', array('integer'), array($this->getId())); $ilLog->write("SAHS Delete(SAHSLM), Subtype: " . $this->getSubType()); if ($this->getSubType() == "scorm") { // remove all scorm objects and scorm tree include_once "./Modules/ScormAicc/classes/SCORM/class.ilSCORMTree.php"; include_once "./Modules/ScormAicc/classes/SCORM/class.ilSCORMObject.php"; $sc_tree = new ilSCORMTree($this->getId()); $r_id = $sc_tree->readRootId(); if ($r_id > 0) { $items = $sc_tree->getSubTree($sc_tree->getNodeData($r_id)); foreach ($items as $item) { $sc_object =& ilSCORMObject::_getInstance($item["obj_id"], $this->getId()); if (is_object($sc_object)) { $sc_object->delete(); } } $sc_tree->removeTree($sc_tree->getTreeId()); } } if ($this->getSubType() != "scorm") { // delete aicc data $res = $ilDB->queryF(' SELECT aicc_object.obj_id FROM aicc_object, aicc_units WHERE aicc_object.obj_id = aicc_units.obj_id AND aicc_object.slm_id = %s', array('integer'), array($this->getId())); while ($row = $ilDB->fetchAssoc($res)) { $obj_id = $row['obj_id']; $ilDB->manipulateF(' DELETE FROM aicc_units WHERE obj_id = %s', array('integer'), array($obj_id)); } $res = $ilDB->queryF(' SELECT aicc_object.obj_id FROM aicc_object, aicc_course WHERE aicc_object.obj_id = aicc_course.obj_id AND aicc_object.slm_id = %s', array('integer'), array($this->getId())); while ($row = $ilDB->fetchAssoc($res)) { $obj_id = $row['obj_id']; $ilDB->manipulateF(' DELETE FROM aicc_course WHERE obj_id = %s', array('integer'), array($obj_id)); } $ilDB->manipulateF(' DELETE FROM aicc_object WHERE slm_id = %s', array('integer'), array($this->getId())); } $q_log = "DELETE FROM scorm_tracking WHERE obj_id = " . $ilDB->quote($this->getId()); $ilLog->write("SAHS Delete(SAHSLM): " . $q_log); $ilDB->manipulateF('DELETE FROM scorm_tracking WHERE obj_id = %s', array('integer'), array($this->getId())); $q_log = "DELETE FROM sahs_user WHERE obj_id = " . $ilDB->quote($this->getId()); $ilLog->write("SAHS Delete(SAHSLM): " . $q_log); $ilDB->manipulateF('DELETE FROM sahs_user WHERE obj_id = %s', array('integer'), array($this->getId())); // always call parent delete function at the end!! 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; }
/** * delete course and all related data * * @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; } // put here course specific stuff $ilDB->manipulate("DELETE FROM exc_data " . "WHERE obj_id = " . $ilDB->quote($this->getId(), "integer")); //$this->ilias->db->query($query); //$this->file_obj->delete(); //$this->members_obj->delete(); // remove all notifications include_once "./Services/Notification/classes/class.ilNotification.php"; ilNotification::removeForObject(ilNotification::TYPE_EXERCISE_SUBMISSION, $this->getId()); return true; }
/** * delete object and all related data * * @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 record of table il_wiki_data $query = "DELETE FROM il_wiki_data" . " WHERE id = " . $ilDB->quote($this->getId(), "integer"); $ilDB->manipulate($query); // remove all notifications include_once "./Services/Notification/classes/class.ilNotification.php"; ilNotification::removeForObject(ilNotification::TYPE_WIKI, $this->getId()); include_once "./Modules/Wiki/classes/class.ilWikiPage.php"; ilWikiPage::deleteAllPagesOfWiki($this->getId()); return true; }
/** * delete object and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { // always call parent delete function first!! if (!parent::delete()) { return false; } // delete meta data $this->deleteMetaData(); //put here your module specific stuff $this->deleteQuestionpool(); return true; }
/** * delete style object */ function delete() { global $ilDB; // delete object parent::delete(); // check whether this style is global default $def_style = $this->ilias->getSetting("default_content_style_id"); if ($def_style == $this->getId()) { $this->ilias->deleteSetting("default_content_style_id"); } // check whether this style is global fixed $fixed_style = $this->ilias->getSetting("fixed_content_style_id"); if ($fixed_style == $this->getId()) { $this->ilias->deleteSetting("fixed_content_style_id"); } // delete style parameter $q = "DELETE FROM style_parameter WHERE style_id = " . $ilDB->quote($this->getId(), "integer"); $ilDB->manipulate($q); // delete style file $css_file_name = ilUtil::getWebspaceDir() . "/css/style_" . $this->getId() . ".css"; if (is_file($css_file_name)) { unlink($css_file_name); } // delete entries in learning modules include_once "./Modules/LearningModule/classes/class.ilObjContentObject.php"; ilObjContentObject::_deleteStyleAssignments($this->getId()); // delete style data record $q = "DELETE FROM style_data WHERE id = " . $ilDB->quote($this->getId(), "integer"); $ilDB->manipulate($q); }
/** * delete object and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { $remove = parent::delete(); // always call parent delete function first!! if (!$remove) { return false; } $this->deleteMetaData(); // Delete all survey questions, constraints and materials foreach ($this->questions as $question_id) { $this->removeQuestion($question_id); } $this->deleteSurveyRecord(); ilUtil::delDir($this->getImportDirectory()); return true; }
/** * delete media object */ function delete() { if (!($this->getId() > 0)) { return; } $usages = $this->getUsages(); if (count($usages) == 0) { // remove directory ilUtil::delDir(ilObjMediaObject::_getDirectory($this->getId())); // remove thumbnail directory ilUtil::delDir(ilObjMediaObject::_getThumbnailDirectory($this->getId())); // delete meta data of mob $this->deleteMetaData(); // delete media items ilMediaItem::deleteAllItemsOfMob($this->getId()); // delete object parent::delete(); } }
/** * deletes a user * @access public * @param integer user_id */ function delete() { global $rbacadmin, $ilDB; // deassign from ldap groups include_once 'Services/LDAP/classes/class.ilLDAPRoleGroupMapping.php'; $mapping = ilLDAPRoleGroupMapping::_getInstance(); $mapping->deleteUser($this->getId()); // remove mailbox / update sent mails include_once "Services/Mail/classes/class.ilMailbox.php"; $mailbox = new ilMailbox($this->getId()); $mailbox->delete(); $mailbox->updateMailsOfDeletedUser($this->getLogin()); // delete feed blocks on personal desktop include_once "./Services/Block/classes/class.ilCustomBlock.php"; $costum_block = new ilCustomBlock(); $costum_block->setContextObjId($this->getId()); $costum_block->setContextObjType("user"); $c_blocks = $costum_block->queryBlocksForContext(); include_once "./Services/Feeds/classes/class.ilPDExternalFeedBlock.php"; foreach ($c_blocks as $c_block) { if ($c_block["type"] == "pdfeed") { $fb = new ilPDExternalFeedBlock($c_block["id"]); $fb->delete(); } } // delete block settings include_once "./Services/Block/classes/class.ilBlockSetting.php"; ilBlockSetting::_deleteSettingsOfUser($this->getId()); // delete user_account $ilDB->manipulateF("DELETE FROM usr_data WHERE usr_id = %s", array("integer"), array($this->getId())); // delete user_prefs ilObjUser::_deleteAllPref($this->getId()); // delete user_session include_once "./Services/Authentication/classes/class.ilSession.php"; ilSession::_destroyByUserId($this->getId()); // remove user from rbac $rbacadmin->removeUser($this->getId()); // remove bookmarks // TODO: move this to class.ilBookmarkFolder $q = "DELETE FROM bookmark_tree WHERE tree = " . $ilDB->quote($this->getId(), "integer"); $ilDB->manipulate($q); $q = "DELETE FROM bookmark_data WHERE user_id = " . $ilDB->quote($this->getId(), "integer"); $ilDB->manipulate($q); // DELETE FORUM ENTRIES (not complete in the moment) include_once './Modules/Forum/classes/class.ilObjForum.php'; ilObjForum::_deleteUser($this->getId()); // Delete link check notify entries include_once './Services/LinkChecker/classes/class.ilLinkCheckNotify.php'; ilLinkCheckNotify::_deleteUser($this->getId()); // Delete crs entries include_once './Modules/Course/classes/class.ilObjCourse.php'; ilObjCourse::_deleteUser($this->getId()); // Delete user tracking include_once './Services/Tracking/classes/class.ilObjUserTracking.php'; ilObjUserTracking::_deleteUser($this->getId()); include_once 'Modules/Session/classes/class.ilEventParticipants.php'; ilEventParticipants::_deleteByUser($this->getId()); // Delete Tracking data SCORM 2004 RTE include_once 'Modules/Scorm2004/classes/ilSCORM13Package.php'; ilSCORM13Package::_removeTrackingDataForUser($this->getId()); // Delete Tracking data SCORM 1.2 RTE include_once 'Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php'; ilObjSCORMLearningModule::_removeTrackingDataForUser($this->getId()); // remove all notifications include_once "./Services/Notification/classes/class.ilNotification.php"; ilNotification::removeForUser($this->getId()); // remove portfolios include_once "./Modules/Portfolio/classes/class.ilObjPortfolio.php"; ilObjPortfolio::deleteUserPortfolios($this->getId()); // remove workspace include_once "./Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php"; $tree = new ilWorkspaceTree($this->getId()); $tree->cascadingDelete(); // remove disk quota entries include_once "./Services/DiskQuota/classes/class.ilDiskQuotaHandler.php"; ilDiskQuotaHandler::deleteByOwner($this->getId()); // Delete user defined field entries $this->deleteUserDefinedFieldEntries(); // Delete clipboard entries $this->clipboardDeleteAll(); // Reset owner $this->resetOwner(); // Trigger deleteUser Event global $ilAppEventHandler; $ilAppEventHandler->raise('Services/User', 'deleteUser', array('usr_id' => $this->getId())); // delete object data parent::delete(); return true; }
/** * delete session and all related data * * @access public * @return bool */ public function delete() { global $ilDB; global $ilAppEventHandler; if (!parent::delete()) { return false; } $query = "DELETE FROM event " . "WHERE obj_id = " . $this->db->quote($this->getId(), 'integer') . " "; $res = $ilDB->manipulate($query); include_once './Modules/Session/classes/class.ilSessionAppointment.php'; ilSessionAppointment::_deleteBySession($this->getId()); include_once './Modules/Session/classes/class.ilEventItems.php'; ilEventItems::_delete($this->getId()); include_once './Modules/Session/classes/class.ilEventParticipants.php'; ilEventParticipants::_deleteByEvent($this->getId()); foreach ($this->getFiles() as $file) { $file->delete(); } $ilAppEventHandler->raise('Modules/Session', 'delete', array('object' => $this, 'obj_id' => $this->getId(), 'appointments' => $this->prepareCalendarAppointments('delete'))); return true; }
/** * delete role and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { global $rbacadmin, $rbacreview, $ilDB; $role_folders = $rbacreview->getFoldersAssignedToRole($this->getId()); // Temporary bugfix if ($rbacreview->hasMultipleAssignments($this->getId())) { $GLOBALS['ilLog']->write(__METHOD__ . ': Found role with multiple assignments: ' . $this->getId()); return false; } if ($rbacreview->isAssignable($this->getId(), $this->getParent())) { // do not delete a global role, if the role is the last // role a user is assigned to. // // Performance improvement: In the code section below, we // only need to consider _global_ roles. We don't need // to check for _local_ roles, because a user who has // a local role _always_ has a global role too. $last_role_user_ids = array(); if ($this->getParent() == ROLE_FOLDER_ID) { // The role is a global role: check if // we find users who aren't assigned to any // other global role than this one. $user_ids = $rbacreview->assignedUsers($this->getId()); foreach ($user_ids as $user_id) { // get all roles each user has $role_ids = $rbacreview->assignedRoles($user_id); // is last role? if (count($role_ids) == 1) { $last_role_user_ids[] = $user_id; } } } // users with last role found? if (count($last_role_user_ids) > 0) { foreach ($last_role_user_ids as $user_id) { //echo "<br>last role for user id:".$user_id.":"; // GET OBJECT TITLE $tmp_obj = $this->ilias->obj_factory->getInstanceByObjId($user_id); $user_names[] = $tmp_obj->getFullname(); unset($tmp_obj); } // TODO: This check must be done in rolefolder object because if multiple // roles were selected the other roles are still deleted and the system does not // give any feedback about this. $users = implode(', ', $user_names); $this->ilias->raiseError($this->lng->txt("msg_user_last_role1") . " " . $users . "<br/>" . $this->lng->txt("msg_user_last_role2"), $this->ilias->error_obj->WARNING); } else { // IT'S A BASE ROLE $rbacadmin->deleteRole($this->getId(), $this->getParent()); // Delete ldap role group mappings include_once './Services/LDAP/classes/class.ilLDAPRoleGroupMappingSettings.php'; ilLDAPRoleGroupMappingSettings::_deleteByRole($this->getId()); // delete object_data entry parent::delete(); // delete role_data entry $query = "DELETE FROM role_data WHERE role_id = " . $ilDB->quote($this->getId(), 'integer'); $res = $ilDB->manipulate($query); include_once 'Services/AccessControl/classes/class.ilRoleDesktopItem.php'; $role_desk_item_obj = new ilRoleDesktopItem($this->getId()); $role_desk_item_obj->deleteAll(); } } else { // linked local role: INHERITANCE WAS STOPPED, SO DELETE ONLY THIS LOCAL ROLE $rbacadmin->deleteLocalRole($this->getId(), $this->getParent()); } // purge empty rolefolders // // Performance improvement: We filter out all role folders // which still contain roles, _before_ we attempt to purge them. // This is faster than attempting to purge all role folders, // and let function purge() of the role folder find out, if // purging is possible. $non_empty_role_folders = $rbacreview->filterEmptyRoleFolders($role_folders); $role_folders = array_diff($role_folders, $non_empty_role_folders); // Attempt to purge the role folders foreach ($role_folders as $rolf) { if (ilObject::_exists($rolf, true)) { $rolfObj = $this->ilias->obj_factory->getInstanceByRefId($rolf); $rolfObj->purge(); unset($rolfObj); } } return true; }
/** * Delete forum and all related data * @access public * @return boolean true if all object data were removed; false if only a references were removed */ public function delete() { /** * @var $ilDB ilDB */ global $ilDB; // always call parent delete function first!! if (!parent::delete()) { return false; } // delete attachments $tmp_file_obj =& new ilFileDataForum($this->getId()); $tmp_file_obj->delete(); unset($tmp_file_obj); $this->Forum->setMDB2WhereCondition('top_frm_fk = %s ', array('integer'), array($this->getId())); $topData = $this->Forum->getOneTopic(); $threads = $this->Forum->getAllThreads($topData['top_pk']); foreach ($threads['items'] as $thread) { $data = array($thread->getId()); // delete tree $statement = $ilDB->manipulateF(' DELETE FROM frm_posts_tree WHERE thr_fk = %s', array('integer'), $data); // delete posts $statement = $ilDB->manipulateF(' DELETE FROM frm_posts WHERE pos_thr_fk = %s', array('integer'), $data); // delete threads $statement = $ilDB->manipulateF(' DELETE FROM frm_threads WHERE thr_pk = %s', array('integer'), $data); } $data = array($this->getId()); // delete forum $statement = $ilDB->manipulateF(' DELETE FROM frm_data WHERE top_frm_fk = %s', array('integer'), $data); // delete settings $statement = $ilDB->manipulateF(' DELETE FROM frm_settings WHERE obj_id = %s', array('integer'), $data); // delete read infos $statement = $ilDB->manipulateF(' DELETE FROM frm_user_read WHERE obj_id = %s', array('integer'), $data); // delete thread access entries $statement = $ilDB->manipulateF(' DELETE FROM frm_thread_access WHERE obj_id = %s', array('integer'), $data); //delete notifications $ilDB->manipulateF(' DELETE FROM frm_notification WHERE frm_id = %s', array('integer'), $data); return true; }
/** * delete glossary and all related data * * this method has been tested on may 9th 2004 * meta data, terms, definitions, definition meta data * and definition 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; // always call parent delete function first!! if (!parent::delete()) { return false; } // delete terms if (!$this->isVirtual()) { $terms = $this->getTermList(); foreach ($terms as $term) { $term_obj =& new ilGlossaryTerm($term["id"]); $term_obj->delete(); } } // delete glossary data entry $q = "DELETE FROM glossary WHERE id = " . $ilDB->quote($this->getId()); $ilDB->query($q); // delete meta data $this->deleteMetaData(); /* $nested = new ilNestedSetXML(); $nested->init($this->getId(), $this->getType()); $nested->deleteAllDBData(); */ return true; }
final function delete() { if ($this->beforeDelete()) { if (parent::delete()) { $this->doDelete(); $this->id = null; return true; } } return false; }
/** * delete object and all related data * * this method has been tested on may 9th 2004 * media pool tree, media objects and folders * 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() { // always call parent delete function first!! if (!parent::delete()) { return false; } // get childs $childs = $this->tree->getSubTree($this->tree->getNodeData($this->tree->readRootId())); // delete tree $this->tree->removeTree($this->tree->getTreeId()); // delete childs foreach ($childs as $child) { $fid = ilMediaPoolItem::lookupForeignId($child["obj_id"]); switch ($child["type"]) { case "mob": if (ilObject::_lookupType($fid) == "mob") { include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; $mob = new ilObjMediaObject($fid); $mob->delete(); } break; /* case "fold": if (ilObject::_lookupType($fid) == "fold") { include_once("./Modules/Folder/classes/class.ilObjFolder.php"); $fold = new ilObjFolder($fid, false); $fold->delete(); } break;*/ } } return true; }
/** * delete media object */ function delete() { if (!($this->getId() > 0)) { return; } $usages = $this->getUsages(); if (count($usages) == 0) { // remove directory ilUtil::delDir(ilObjMediaObject::_getDirectory($this->getId())); // remove thumbnail directory ilUtil::delDir(ilObjMediaObject::_getThumbnailDirectory($this->getId())); // delete meta data of mob $this->deleteMetaData(); // delete media items ilMediaItem::deleteAllItemsOfMob($this->getId()); // this is just to make sure, there should be no entries left at // this point as they depend on the usage self::handleQuotaUpdate($this); // delete object parent::delete(); } }
/** * delete object and all related data * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { global $ilDB; $id = $this->getId(); // always call parent delete function first!! if (!parent::delete()) { return false; } // put here your module specific stuff $ilDB->manipulate('DELETE FROM booking_settings' . ' WHERE booking_pool_id = ' . $ilDB->quote($id, 'integer')); $ilDB->manipulate('DELETE FROM booking_schedule' . ' WHERE pool_id = ' . $ilDB->quote($id, 'integer')); $objects = array(); $set = $ilDB->query('SELECT booking_object_id FROM booking_object' . ' WHERE pool_id = ' . $ilDB->quote($id, 'integer')); while ($row = $ilDB->fetchAssoc($set)) { $objects[] = $row['booking_object_id']; } if (sizeof($objects)) { $ilDB->manipulate('DELETE FROM booking_reservation' . ' WHERE ' . $ilDB->in('object_id', $objects, '', 'integer')); } $ilDB->manipulate('DELETE FROM booking_object' . ' WHERE pool_id = ' . $ilDB->quote($id, 'integer')); return true; }
/** * 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 object and all related data * * @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 all items $med_items = $this->getItemsArray(); foreach ($med_items as $item) { include_once "./Services/News/classes/class.ilNewsItem.php"; $news_item = new ilNewsItem($item["id"]); $news_item->delete(); } $this->deleteOrder(); // delete record of table il_media_cast_data $query = "DELETE FROM il_media_cast_data" . " WHERE id = " . $ilDB->quote($this->getId(), "integer"); $ilDB->manipulate($query); return true; }
/** * delete object and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { $remove = parent::delete(); // always call parent delete function first!! if (!$remove) { return false; } // delete all related questions $this->deleteAllData(); // delete meta data $this->deleteMetaData(); return true; }
/** * delete object and all related data * * @access public * @return boolean true if all object data were removed; false if only a references were removed */ function delete() { // always call parent delete function first!! if (!parent::delete()) { return false; } // delete items include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php'; ilLinkResourceItems::_deleteAll($this->getId()); // Delete notify entries include_once './Services/LinkChecker/classes/class.ilLinkCheckNotify.php'; ilLinkCheckNotify::_deleteObject($this->getId()); // delete meta data $this->deleteMetaData(); return true; }
/** * delete * * @access public * @param * @return */ public function delete() { global $ilDB; if (!parent::delete()) { return false; } $query = "DELETE FROM container_reference " . "WHERE obj_id = " . $ilDB->quote($this->getId(), 'integer') . " "; $ilDB->manipulate($query); return true; }
public function testTreeTrash() { global $tree; $obj = new ilObject(); $obj->setType("xxx"); $obj->setTitle("TestObject"); $obj->setDescription("TestDescription"); $obj->setImportId("imp_44"); $obj->create(); $obj->createReference(); $id = $obj->getId(); $ref_id = $obj->getRefId(); $obj = new ilObject($ref_id); $obj->putInTree(ROOT_FOLDER_ID); $obj->createRoleFolder(); $obj->setPermissions(ROOT_FOLDER_ID); if ($tree->isInTree($ref_id)) { $value .= "tree1-"; } if (ilObject::_hasUntrashedReference($id)) { $value .= "tree2-"; } // isSaved() uses internal cache! $tree->useCache(false); $tree->saveSubTree($ref_id, true); if ($tree->isDeleted($ref_id)) { $value .= "tree3-"; } if ($tree->isSaved($ref_id)) { $value .= "tree4-"; } if (ilObject::_isInTrash($ref_id)) { $value .= "tree5-"; } if (!ilObject::_hasUntrashedReference($id)) { $value .= "tree6-"; } $saved_tree = new ilTree(-(int) $ref_id); $node_data = $saved_tree->getNodeData($ref_id); $saved_tree->deleteTree($node_data); if (!ilObject::_isInTrash($ref_id)) { $value .= "tree7-"; } $obs = ilUtil::_getObjectsByOperations("cat", "read"); foreach ($obs as $ob) { if (ilObject::_lookupType(ilObject::_lookupObjId($ob)) != "cat") { $value .= "nocat-"; } } $obj->delete(); $this->assertEquals("tree1-tree2-tree3-tree4-tree5-tree6-tree7-", $value); }