petite amélioration de mon code ci-dessous.
je ne teste pas si le media ajouté (lors de la création ou en BO plus tard par l'admin) est un media_persistentdocument_tmpfile ou pas, je fais la bascule en media systématiquement.
Ce qui génère une erreur dans mon BO lorsque j'essaye d'ajouter un media de la bibliothèque à une histoire :
protected function preSave($document, $parentNodeId)
{
if($document->getAdditionnalVisualCount() > 0)
{
foreach ($document->getAdditionnalVisualArray() as $tmpfile)
{
if($tmpfile instanceof media_persistentdocument_tmpfile)
{
$media = media_MediaService::getInstance()->importFromTempFile($tmpfile);
}
else{
$media = $tmpfile;
}
if ($media->isNew())
{
$fromFolder = DocumentHelper::getDocumentInstance(ModuleService::getInstance()->getRootFolderId('media'), 'modules_generic/rootfolder');
$relativePath = "Histoires (uploadé par utilisateurs)";
$parentNode = generic_FolderService::getInstance()->mkdir($fromFolder, $relativePath);
$parentNodeId = $parentNode->getId();
$media->save($parentNodeId);
}
}
}
}
Développe sous linux Ubuntu 12.04 LTS Desktop
Projet ecommerce core 3.6.7