/**
  * 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;
 }
Exemple #9
0
 /**
  * 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;
 }
Exemple #28
0
 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);
 }