Example #1
0
 /**
  * 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;
 }