/** * Clone dependencies * * @access public * @param int target id * @param int copy id * */ public function cloneDependencies($a_target_id, $a_copy_id) { global $ilObjDataCache, $ilLog; $ilLog->write(__METHOD__ . ': Begin course start objects...'); $new_obj_id = $ilObjDataCache->lookupObjId($a_target_id); $start = new ilCourseStart($a_target_id, $new_obj_id); include_once 'Services/CopyWizard/classes/class.ilCopyWizardOptions.php'; $cwo = ilCopyWizardOptions::_getInstance($a_copy_id); $mappings = $cwo->getMappings(); foreach ($this->getStartObjects() as $start_id => $data) { $item_ref_id = $data['item_ref_id']; if (isset($mappings[$item_ref_id]) and $mappings[$item_ref_id]) { $ilLog->write(__METHOD__ . ': Clone start object nr. ' . $item_ref_id); $start->add($mappings[$item_ref_id]); } else { $ilLog->write(__METHOD__ . ': No mapping found for start object nr. ' . $item_ref_id); } } $ilLog->write(__METHOD__ . ': ... end course start objects'); return true; }
/** * Clone object dependencies (start objects, preconditions) * * @access public * @param int target ref id of new course * @param int copy id * */ public function cloneDependencies($a_target_id, $a_copy_id) { parent::cloneDependencies($a_target_id, $a_copy_id); // Clone course start objects include_once 'Modules/Course/classes/class.ilCourseStart.php'; $start = new ilCourseStart($this->getRefId(), $this->getId()); $start->cloneDependencies($a_target_id, $a_copy_id); // Clone course item settings include_once 'Services/Object/classes/class.ilObjectActivation.php'; ilObjectActivation::cloneDependencies($this->getRefId(), $a_target_id, $a_copy_id); // Clone course learning objectives include_once 'Modules/Course/classes/class.ilCourseObjective.php'; $crs_objective = new ilCourseObjective($this); $crs_objective->ilClone($a_target_id, $a_copy_id); include_once 'Services/Tracking/classes/class.ilLPCollections.php'; $lp_collection = new ilLPCollections($this->getId()); $lp_collection->cloneCollections($a_target_id, $a_copy_id); return true; }
function deleteStarterObject() { $this->checkPermission('write'); if (!count($_POST['starter'])) { ilUtil::sendFailure($this->lng->txt('select_one')); } else { include_once './Modules/Course/classes/class.ilCourseStart.php'; $crs_start = new ilCourseStart($this->object->getRefId(), $this->object->getId()); foreach ($_POST['starter'] as $starter_id) { $crs_start->delete((int) $starter_id); } ilUtil::sendSuccess($this->lng->txt('crs_starter_deleted')); } $this->listStructureObject(); return true; }