WIP - course creation fixes when adding content

pull/2744/head
Julio Montoya 7 years ago
parent 2cc317d84d
commit 2c1297ced8
  1. 2
      main/admin/course_add.php
  2. 27
      main/inc/lib/document.lib.php
  3. 6
      tests/scripts/migrate_item_property.php

@ -139,7 +139,7 @@ if (count($languages) === 1) {
} else {
$form->addSelectLanguage(
'course_language',
get_lang('Ln'),
get_lang('Language'),
[],
['style' => 'width:150px']
);

@ -6487,9 +6487,10 @@ class DocumentManager
$extension = pathinfo($fileName, PATHINFO_EXTENSION);
$media->setContext('default');
$provider = 'sonata.media.provider.image';
if (!in_array($extension, ['jpeg', 'jpg', 'gif', 'png'])) {
$provider = 'sonata.media.provider.file';
$provider = 'sonata.media.provider.file';
$isImage = in_array($extension, ['jpeg', 'jpg', 'gif', 'png']);
if ($isImage) {
$provider = 'sonata.media.provider.image';
}
$media->setProviderName($provider);
@ -6499,10 +6500,22 @@ class DocumentManager
$file = $content;
$media->setSize($file->getSize());
} else {
$handle = tmpfile();
fwrite($handle, $content);
$file = new \Sonata\MediaBundle\Extra\ApiMediaFile($handle);
$file->setMimetype($media->getContentType());
// $path points to a file in the directory
if (file_exists($path) && !is_dir($path)) {
$file = $path;
$media->setSize(filesize($file));
if ($isImage) {
$size = getimagesize($file);
$media->setWidth($size[0]);
$media->setHeight($size[1]);
}
} else {
// We get the content and create a file
$handle = tmpfile();
fwrite($handle, $content);
$file = new \Sonata\MediaBundle\Extra\ApiMediaFile($handle);
$file->setMimetype($media->getContentType());
}
}
$media->setBinaryContent($file);

@ -178,9 +178,9 @@ while ($row = Database::fetch_array($result, 'ASSOC')) {
$media->setSize($documentData['size']);
$media->setContext('default');
$provider = 'sonata.media.provider.image';
if (!in_array($extension, ['jpeg', 'jpg', 'gif', 'png'])) {
$provider = 'sonata.media.provider.file';
$provider = 'sonata.media.provider.file';
if (in_array($extension, ['jpeg', 'jpg', 'gif', 'png'])) {
$provider = 'sonata.media.provider.image';
}
$media->setProviderName($provider);

Loading…
Cancel
Save