Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/src/CoreBundle/Controller/CreateResourceNodeFileActio...

32 lines
1.0 KiB

6 years ago
<?php
/* For licensing terms, see /license.txt */
namespace Chamilo\CoreBundle\Controller;
use Chamilo\CoreBundle\Entity\ResourceFile;
use Chamilo\CourseBundle\Entity\CDocument;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
class CreateResourceNodeFileAction
{
public function __invoke(Request $request): CDocument
{
/** @var UploadedFile $uploadedFile */
$uploadedFile = $request->files->get('resourceFile');
if (!$uploadedFile) {
throw new BadRequestHttpException('"resourceFile" is required');
}
$document = new CDocument();
$document->setTitle($request->get('title'));
$document->setComment($request->get('comment'));
$nodeId = (int) str_replace('/api/resource_nodes/','',$request->get('parentResourceNode'));
$document->setParentResourceNode($nodeId);
$document->setResourceFile($uploadedFile);
return $document;
}
}