diff --git a/composer.json b/composer.json index a4541ff7b2..d694c8e5db 100755 --- a/composer.json +++ b/composer.json @@ -155,7 +155,8 @@ "symfony/requirements-checker": "^1.1", "liip/theme-bundle": "^1.5", "a2lix/translation-form-bundle": "^3.0", - "lunetics/locale-bundle": "^2.6" + "lunetics/locale-bundle": "^2.6", + "oneup/uploader-bundle": "^2.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.7", diff --git a/config/bundles.php b/config/bundles.php index 2e2d3c311f..f8165643ea 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -69,4 +69,5 @@ return [ A2lix\TranslationFormBundle\A2lixTranslationFormBundle::class => ['all' => true], Lunetics\LocaleBundle\LuneticsLocaleBundle::class => ['all' => true], Ivory\CKEditorBundle\IvoryCKEditorBundle::class => ['all' => true], + Oneup\UploaderBundle\OneupUploaderBundle::class => ['all' => true], ]; diff --git a/config/packages/oneup_uploader.yaml b/config/packages/oneup_uploader.yaml new file mode 100644 index 0000000000..fec8f7d9f0 --- /dev/null +++ b/config/packages/oneup_uploader.yaml @@ -0,0 +1,11 @@ +# Read the documentation: https://github.com/1up-lab/OneupUploaderBundle/blob/master/Resources/doc/index.md +oneup_uploader: + mappings: + courses: + #frontend: dropzone # or any uploader you use in the frontend + frontend: blueimp + storage: + type: flysystem + filesystem: oneup_flysystem.courses_filesystem + root_folder: true +# namer: oneup_uploader.namer.urlsafe diff --git a/config/packages/sonata_page.yaml b/config/packages/sonata_page.yaml index 2a8a22f6f2..64022dc8ca 100644 --- a/config/packages/sonata_page.yaml +++ b/config/packages/sonata_page.yaml @@ -38,6 +38,7 @@ sonata_page: - ^/faq/(.*) - ^/faq - ^/courses/(.*) + - ^/resource/(.*) - ^/front/editor - ^/contact(.*) # sonata admin - ^/cms/pages/latest diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml index 87a8f0183f..cc3bd416dc 100644 --- a/config/packages/twig.yaml +++ b/config/packages/twig.yaml @@ -2,6 +2,7 @@ twig: debug: '%kernel.debug%' paths: ['%kernel.project_dir%/templates', '%kernel.project_dir%/main/template/'] form_themes: + - 'bootstrap_4_layout.html.twig' - '@SonataFormatter/Form/formatter.html.twig' exception_controller: 'Chamilo\ThemeBundle\Controller\ExceptionController::showAction' globals: diff --git a/config/routes/oneup_uploader.yaml b/config/routes/oneup_uploader.yaml new file mode 100644 index 0000000000..ad9f64f2d3 --- /dev/null +++ b/config/routes/oneup_uploader.yaml @@ -0,0 +1,3 @@ +oneup_uploader: + resource: . + type: uploader diff --git a/src/CoreBundle/Controller/ResourceController.php b/src/CoreBundle/Controller/ResourceController.php index a5558e3a62..274cdf8445 100644 --- a/src/CoreBundle/Controller/ResourceController.php +++ b/src/CoreBundle/Controller/ResourceController.php @@ -27,9 +27,8 @@ class ResourceController extends BaseController */ public function uploadFile(): Response { - $helper = $this->container->get('oneup_uploader.templating.uploader_helper'); - $endpoint = $helper->endpoint('courses'); - + //$helper = $this->container->get('oneup_uploader.templating.uploader_helper'); + //$endpoint = $helper->endpoint('courses'); return $this->render( '@ChamiloCore/Resource/upload.html.twig', [ diff --git a/src/CoreBundle/EventListener/CourseUploadListener.php b/src/CoreBundle/EventListener/CourseUploadListener.php new file mode 100644 index 0000000000..6edcfd3ed6 --- /dev/null +++ b/src/CoreBundle/EventListener/CourseUploadListener.php @@ -0,0 +1,49 @@ +om = $om; + } + + /** + * @param PostPersistEvent $event + * + * @return \Oneup\UploaderBundle\Uploader\Response\ResponseInterface + */ + public function onUpload(PostPersistEvent $event) + { + /** @var FlysystemFile $file */ + $file = $event->getFile(); + $file-> + error_log($file->getPathname()); + + // If everything went fine + $response = $event->getResponse(); + $response['success'] = true; + + return $response; + } +} \ No newline at end of file diff --git a/src/CoreBundle/Resources/config/services.yml b/src/CoreBundle/Resources/config/services.yml index ffbe6e95da..97d54fc433 100644 --- a/src/CoreBundle/Resources/config/services.yml +++ b/src/CoreBundle/Resources/config/services.yml @@ -196,6 +196,13 @@ services: tags: - {name: kernel.event_listener, event: theme.messages, method: onListMessages} + # Course upload listener + chamilo_core.listener.course_upload_listener: + class: Chamilo\CoreBundle\EventListener\CourseUploadListener + arguments: ['@doctrine.orm.entity_manager'] + tags: + - {name: kernel.event_listener, event: oneup_uploader.post_persist, method: onUpload } + # chamilo_core.menu.simple_menu: # class: Chamilo\CoreBundle\Menu\SimpleMenuBuilder # arguments: ['@service_container'] diff --git a/src/CoreBundle/Resources/views/Resource/upload.html.twig b/src/CoreBundle/Resources/views/Resource/upload.html.twig new file mode 100644 index 0000000000..da686216b9 --- /dev/null +++ b/src/CoreBundle/Resources/views/Resource/upload.html.twig @@ -0,0 +1,11 @@ +{% extends "@ChamiloTheme/Layout/layout_one_col.html.twig" %} + +{% block content %} + + + +{% endblock %}