Я пытаюсь сделать custom TV input для работы с файлами в админке. Что-то типа Assets Manager, но TV. Проблема в том, что я дизайнер, а не программист, и чтобы сделать всё по уму, нужна помощь труъ программиста.
Сейчас есть кастомный TV. Внутри dropzone.js и jquery. Можно загружать файлы в указанную папку, удалять их, просматривать загруженные. Файлы можно сортировать, добавлять к ним описание – эта инфа хранится в TV в JSON'е.
В настройках ТВ можно указать папку с использованием плейсхолдеров [year], [month], [day], [id]. То есть вы можете создать несколько ТВ, которые будут грузить файлы в разные папки. Например: /assets/lib/[id]/images/ и /assets/lib/[id]/files/. Там же задаются типы файлов для загрузки, максимальный размер и настройки для ещё одной фишки: вставки в TinyMCE (собираюсь прикрутить и другие редакторы). По двойному клику на загруженном файле он вставляется в TinyMCE по заданному шаблону. Шаблоны разные для разных типов документов.
Кроме того есть сниппет для вывода файлов и шаблон для этого сниппета.
Всё работает, кроме одного и главного. Assetstv.tpl (шаблон TV) посылает запросы upload.php. Upload.php грузит, удаляет и отображает существующие файлы, но он НЕ ИМЕЕТ НИКАКОЙ ЗАЩИТЫ.
Насколько я понял, нужно копать в сторону коннкторов и процессоров. Так же вроде как есть процессор browser, который может быть полезен. Может быть есть какая-то дельная статья про процессоры и коннкторы, в идеале на русском. Могу ли я как-то использовать стандартные средства MODX для загрузки/удаления файлов? Как создать коннектор/процессор? Какие проверки производить кроме прав пользоваетеля на загрузку/удаление файлов?
По-моему, штуковина получается довольно полезная, но раз дело касается безопасности, вероятно, дилетант должен уступить место профи. Очень надеюсь на помощь тех, кто может допилить мой код или просто посоветовать куда и как копать дальше. Кроме того, было бы неплохо услышать какие-то отзывы о том, что получилось. Не фигнёй ли я страдаю? :-)
Только что зарегистрировался, надеюсь написал куда надо.