Esempio n. 1
0
 public function getValidModes()
 {
     include_once "./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php";
     $subtype = ilObjSAHSLearningModule::_lookupSubType($this->obj_id);
     if ($subtype != "scorm2004") {
         if ($this->checkSCORMPreconditions()) {
             return array(ilLPObjSettings::LP_MODE_SCORM);
         }
         include_once "Services/Tracking/classes/collection/class.ilLPCollectionOfSCOs.php";
         $collection = new ilLPCollectionOfSCOs($this->obj_id, ilLPObjSettings::LP_MODE_SCORM);
         if (sizeof($collection->getPossibleItems())) {
             return array(ilLPObjSettings::LP_MODE_DEACTIVATED, ilLPObjSettings::LP_MODE_SCORM);
         }
         return array(ilLPObjSettings::LP_MODE_DEACTIVATED);
     } else {
         if ($this->checkSCORMPreconditions()) {
             return array(ilLPObjSettings::LP_MODE_SCORM, ilLPObjSettings::LP_MODE_SCORM_PACKAGE);
         }
         include_once "Services/Tracking/classes/collection/class.ilLPCollectionOfSCOs.php";
         $collection = new ilLPCollectionOfSCOs($this->obj_id, ilLPObjSettings::LP_MODE_SCORM);
         if (sizeof($collection->getPossibleItems())) {
             return array(ilLPObjSettings::LP_MODE_DEACTIVATED, ilLPObjSettings::LP_MODE_SCORM_PACKAGE, ilLPObjSettings::LP_MODE_SCORM);
         }
         return array(ilLPObjSettings::LP_MODE_DEACTIVATED, ilLPObjSettings::LP_MODE_SCORM_PACKAGE);
     }
 }
 /**
  * set settings for learning progress determination per default at upload
  */
 function setLearningProgressSettingsAtUpload()
 {
     global $ilSetting;
     //condition 1
     if ($ilSetting->get('scorm_lp_auto_activate', 0)) {
         return;
     }
     //condition 2
     include_once "./Services/Tracking/classes/class.ilObjUserTracking.php";
     if (ilObjUserTracking::_enabledLearningProgress() == false) {
         return;
     }
     //set Learning Progress to Automatic by Collection of SCORM Items
     include_once "./Services/Tracking/classes/class.ilLPObjSettings.php";
     $lm_set = new ilLPObjSettings($this->getId());
     $lm_set->setMode(ilLPObjSettings::LP_MODE_SCORM);
     $lm_set->insert();
     //select all SCOs as relevant for Learning Progress
     include_once "Services/Tracking/classes/collection/class.ilLPCollectionOfSCOs.php";
     $collection = new ilLPCollectionOfSCOs($this->getId(), ilLPObjSettings::LP_MODE_SCORM);
     $scos = array();
     foreach ($collection->getPossibleItems() as $sco_id => $item) {
         $scos[] = $sco_id;
     }
     $collection->activateEntries($scos);
 }