├── .gitignore ├── .gitattributes ├── Resources ├── views │ ├── Media │ │ ├── RemoteAudio │ │ │ ├── show.html.twig │ │ │ └── preview.html.twig │ │ ├── RemoteSlide │ │ │ ├── show.html.twig │ │ │ └── preview.html.twig │ │ ├── RemoteVideo │ │ │ ├── show.html.twig │ │ │ └── preview.html.twig │ │ ├── File │ │ │ └── show.html.twig │ │ ├── Image │ │ │ ├── aviary.html.twig │ │ │ └── show.html.twig │ │ ├── delete-modal.html.twig │ │ ├── addType-modal.html.twig │ │ ├── create.html.twig │ │ └── bulkUpload.html.twig │ ├── Default │ │ └── layout.html.twig │ ├── AdminList │ │ └── ItemAction │ │ │ └── select.html.twig │ ├── Folder │ │ ├── bulk-move-modal.html.twig │ │ ├── foldertreeview.html.twig │ │ ├── bulk-move-modal_form.html.twig │ │ ├── breadcrumbs.html.twig │ │ ├── addsub-modal.html.twig │ │ ├── delete-modal.html.twig │ │ └── empty-modal.html.twig │ ├── Chooser │ │ ├── chooserShowRecTreeView.html.twig │ │ └── breadcrumbs.html.twig │ ├── IconFont │ │ └── iconFontChooser.html.twig │ └── Form │ │ └── _focus-point-block.html.twig ├── ui │ └── js │ │ ├── app.js │ │ ├── _bulk-move.js │ │ ├── _dnd-upload.js │ │ └── _bulk-upload.js ├── config │ ├── imagine.xml │ ├── routing.yml │ ├── imagine_filters.yml │ ├── pdf_preview.yml │ └── handlers.yml ├── doc │ └── MediaBundle.md └── translations │ ├── messages.es.yml │ ├── messages.pl.yml │ ├── messages.hu.yml │ ├── messages.it.yml │ └── messages.fr.yml ├── Helper ├── IconFont │ ├── IconFontLoaderInterface.php │ ├── AbstractIconFontLoader.php │ ├── IconFontManager.php │ └── DefaultIconFontLoader.php ├── MimeTypeGuesserFactoryInterface.php ├── ExtensionGuesserFactoryInterface.php ├── Transformer │ ├── PreviewTransformerInterface.php │ └── PdfTransformer.php ├── RemoteAudio │ ├── RemoteAudioHelper.php │ └── RemoteAudioHandler.php ├── RemoteSlide │ └── RemoteSlideHelper.php ├── RemoteVideo │ └── RemoteVideoHelper.php ├── Imagine │ ├── BackgroundFilterLoader.php │ ├── ImagineController.php │ ├── WebPathResolver.php │ └── CacheManager.php ├── File │ ├── SVGExtensionGuesser.php │ ├── SVGMimeTypeGuesser.php │ └── PdfHandler.php ├── MimeTypeGuesserFactory.php ├── ExtensionGuesserFactory.php ├── FolderManager.php ├── Remote │ ├── RemoteInterface.php │ └── AbstractRemoteHelper.php ├── Media │ └── AbstractMediaHandler.php ├── Services │ └── MediaCreatorService.php ├── Menu │ └── MediaMenuAdaptor.php ├── Image │ └── ImageHandler.php ├── ManipulateImageService.php └── MediaManager.php ├── Changelog.md ├── Validator └── Constraints │ ├── HasGuessableExtension.php │ ├── Media.php │ └── HasGuessableExtensionValidator.php ├── Form ├── Type │ ├── CurrentValueContainer.php │ ├── IconFontType.php │ ├── IdToMediaTransformer.php │ └── MediaType.php ├── BulkUploadType.php ├── BulkMoveMediaType.php ├── RemoteSlide │ └── RemoteSlideType.php ├── RemoteAudio │ └── RemoteAudioType.php ├── RemoteVideo │ └── RemoteVideoType.php ├── EditableMediaWrapperAdminType.php ├── FolderType.php └── AbstractRemoteType.php ├── KunstmaanMediaBundle.php ├── Utils └── SymfonyVersion.php ├── AdminList └── ItemAction │ ├── MediaSelectItemAction.php │ ├── MediaEditItemAction.php │ └── MediaDeleteItemAction.php ├── Controller ├── IconFontController.php └── AviaryController.php ├── LICENSE ├── Repository └── MediaRepository.php ├── UPGRADE.md ├── Entity └── EditableMediaWrapper.php ├── Twig └── MediaTwigExtension.php ├── DependencyInjection └── Compiler │ ├── MediaHandlerCompilerPass.php │ └── DeprecateClassParametersPass.php ├── composer.json ├── Command ├── RebuildFolderTreeCommand.php ├── CleanDeletedMediaCommand.php └── CreatePdfPreviewCommand.php ├── README.md ├── EventListener └── DoctrineMediaListener.php └── DataFixtures └── ORM └── FolderFixtures.php /.gitignore: -------------------------------------------------------------------------------- 1 | composer.lock 2 | composer.phar 3 | vendor/* 4 | *~ 5 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | /Tests export-ignore 2 | /phpunit.xml.dist export-ignore 3 | -------------------------------------------------------------------------------- /Resources/views/Media/RemoteAudio/show.html.twig: -------------------------------------------------------------------------------- 1 | {% extends '@KunstmaanMedia/Media/show.html.twig' %} 2 | 3 | {% block preview %} 4 | {% include '@KunstmaanMedia/Media/RemoteAudio/preview.html.twig' with {'media': media} %} 5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /Resources/views/Media/RemoteSlide/show.html.twig: -------------------------------------------------------------------------------- 1 | {% extends '@KunstmaanMedia/Media/show.html.twig' %} 2 | 3 | {% block preview %} 4 | {% include '@KunstmaanMedia/Media/RemoteSlide/preview.html.twig' with {'media': media} %} 5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /Resources/views/Media/RemoteVideo/show.html.twig: -------------------------------------------------------------------------------- 1 | {% extends '@KunstmaanMedia/Media/show.html.twig' %} 2 | 3 | {% block preview %} 4 | {% include '@KunstmaanMedia/Media/RemoteVideo/preview.html.twig' with {'media': media} %} 5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /Helper/IconFont/IconFontLoaderInterface.php: -------------------------------------------------------------------------------- 1 | 5 | {% embed "@KunstmaanAdmin/Default/_js_footer.html.twig" %} 6 | {% block extra_async_javascripts %} 7 | {{ parent() }} 8 | '{{ asset('bundles/kunstmaanmedia/js/media-bundle.min.js') }}', 9 | {% endblock %} 10 | {% endembed %} 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /Helper/MimeTypeGuesserFactoryInterface.php: -------------------------------------------------------------------------------- 1 | rootPath = $kernel->getProjectDir(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Resources/ui/js/app.js: -------------------------------------------------------------------------------- 1 | var kunstmaanMediaBundle = kunstmaanMediaBundle || {}; 2 | 3 | kunstmaanMediaBundle.app = (function($, window, undefined) { 4 | 5 | var init; 6 | 7 | init = function() { 8 | kunstmaanMediaBundle.bulkUpload.init(); 9 | kunstmaanMediaBundle.bulkMove.init(); 10 | kunstmaanMediaBundle.dndUpload.init(); 11 | }; 12 | 13 | return { 14 | init: init 15 | }; 16 | 17 | }(jQuery, window)); 18 | 19 | $(function() { 20 | kunstmaanMediaBundle.app.init(); 21 | }); 22 | -------------------------------------------------------------------------------- /Resources/views/AdminList/ItemAction/select.html.twig: -------------------------------------------------------------------------------- 1 | {% set mediaHandler = mediamanager.getHandler(item) %} 2 | {% set thumbnailurl = mediaHandler.getImageUrl(item, app.request.basePath) %} 3 | 4 | {% set cke = (app.request and app.request.get('CKEditorFuncNum')) %} 5 | {% set path = "[%s]" | format("M" ~ item.id) %} 6 | 7 | Select 8 | 9 | 10 | -------------------------------------------------------------------------------- /Validator/Constraints/HasGuessableExtension.php: -------------------------------------------------------------------------------- 1 | 'NOT_GUESSABLE_ERROR', 16 | ]; 17 | 18 | public $notGuessableErrorMessage = 'The uploaded file has no extension and could not be automatically guessed by the system.'; 19 | } 20 | -------------------------------------------------------------------------------- /Form/Type/CurrentValueContainer.php: -------------------------------------------------------------------------------- 1 | currentValue; 21 | } 22 | 23 | /** 24 | * @param object $currentValue 25 | */ 26 | public function setCurrentValue($currentValue) 27 | { 28 | $this->currentValue = $currentValue; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Resources/views/Media/RemoteSlide/preview.html.twig: -------------------------------------------------------------------------------- 1 | {% set handler = mediamanager.getHandler(media) %} 2 | {% set helper = handler.getFormHelper(media) %} 3 | 4 | {% if helper.type == 'slideshare' %} 5 |
11 | {% endif %} 12 | -------------------------------------------------------------------------------- /Helper/Transformer/PreviewTransformerInterface.php: -------------------------------------------------------------------------------- 1 | media->setContentType(RemoteAudioHandler::CONTENT_TYPE); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Helper/RemoteSlide/RemoteSlideHelper.php: -------------------------------------------------------------------------------- 1 | media->setContentType(RemoteSlideHandler::CONTENT_TYPE); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Helper/RemoteVideo/RemoteVideoHelper.php: -------------------------------------------------------------------------------- 1 | media->setContentType(RemoteVideoHandler::CONTENT_TYPE); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Resources/views/Folder/bulk-move-modal.html.twig: -------------------------------------------------------------------------------- 1 |No files selected
'); 41 | 42 | $uploadFilesBtn.on('click', function() { 43 | bulkUploader.start(); 44 | }); 45 | }, 46 | 47 | FilesAdded: function(up, files) { 48 | $fileList.html(''); 49 | 50 | plupload.each(files, function(file) { 51 | $fileList.append('