protected function convertQtiItem(core_kernel_classes_Resource $item) { $itemService = taoItems_models_classes_ItemsService::singleton(); $itemContentProp = new core_kernel_classes_Property(TAO_ITEM_CONTENT_PROPERTY); $usedLanguages = $item->getUsedLanguages($itemContentProp); foreach ($usedLanguages as $lang) { $this->out('language:' . $lang); $xmlString = $itemService->getItemContent($item, $lang); if (empty($xmlString)) { $this->out('no qti xml found'); } else { $qti = $this->convertQtiFromV2p0ToV2p1($xmlString); if (empty($qti)) { $this->out('fail'); } else { $this->out('done'); } } } }
/** * Deletes the content but does not unreference it * * @access public * @author Joel Bout, <*****@*****.**> * @param core_kernel_classes_Resource item * @return boolean */ public function deleteItemContent(core_kernel_classes_Resource $item) { $returnValue = (bool) false; //delete the folder for all languages! foreach ($item->getUsedLanguages($this->itemContentProperty) as $lang) { $files = $item->getPropertyValuesByLg($this->itemContentProperty, $lang); foreach ($files->getIterator() as $file) { if ($file instanceof core_kernel_classes_Resource) { $file = new core_kernel_file_File($file); if (core_kernel_versioning_File::isVersionedFile($file)) { $file = new core_kernel_versioning_File($file); } try { $file->delete(); } catch (core_kernel_versioning_exception_FileUnversionedException $e) { // file was not versioned after all, ignore in delte } } } } $returnValue = true; return (bool) $returnValue; }
/** * Deletes the content but does not unreference it * * @access public * @author Joel Bout, <*****@*****.**> * @param core_kernel_classes_Resource item * @return boolean */ public function deleteItemContent(core_kernel_classes_Resource $item) { // Delete item directory from filesystem $definitonFileValues = $item->getPropertyValues($this->itemContentProperty); if (!empty($definitonFileValues)) { /** @var Directory $directory */ $directory = $this->getFileReferenceSerializer()->unserializeDirectory(reset($definitonFileValues)); if ($directory->exists()) { $directory->deleteSelf(); } } //delete the folder for all languages! foreach ($item->getUsedLanguages($this->itemContentProperty) as $lang) { $files = $item->getPropertyValuesByLg($this->itemContentProperty, $lang); foreach ($files->getIterator() as $file) { if ($file instanceof core_kernel_classes_Resource) { $this->getFileReferenceSerializer()->cleanUp($file->getUri()); } } } return true; }