protected function buildJson(ilECSSetting $a_server) { global $ilLog; $json = $this->getJsonCore('application/ecs-course'); // meta language include_once './Services/MetaData/classes/class.ilMDLanguage.php'; $lang = ilMDLanguage::_lookupFirstLanguage($this->content_obj->getId(), $this->content_obj->getId(), $this->content_obj->getType()); if (strlen($lang)) { $json->lang = $lang . '_' . strtoupper($lang); } $json->status = $this->content_obj->isActivated() ? 'online' : 'offline'; include_once './Services/WebServices/ECS/classes/class.ilECSUtils.php'; $definition = ilECSUtils::getEContentDefinition($this->getECSObjectType()); $this->addMetadataToJson($json, $a_server, $definition); return $json; }
protected function updateCustomFromECSContent(ilECSSetting $a_server, $a_ecs_content) { // add custom values $this->setAvailabilityType($a_ecs_content->status == 'online' ? self::ACTIVATION_UNLIMITED : self::ACTIVATION_OFFLINE); // :TODO: ACTIVATION_LIMITED is currently not supported in ECS yet // adv. metadata include_once './Services/WebServices/ECS/classes/class.ilECSUtils.php'; include_once './Services/WebServices/ECS/classes/class.ilECSDataMappingSetting.php'; $definition = ilECSUtils::getEContentDefinition($this->getECSObjectType()); $this->importMetadataFromJson($a_ecs_content, $a_server, $definition, ilECSDataMappingSetting::MAPPING_IMPORT_RCRS); include_once './Services/WebServices/ECS/classes/class.ilECSImport.php'; $import = new ilECSImport($a_server->getServerId(), $this->getId()); $import->setContentId($a_ecs_content->courseID); $import->save(); }