Упорядочивание загрузки файлов - модуль uploadpath

Когда работаешь долго с Друпалом, постоянно сталкиваешься с проблемой мусора в sites/default/files - куча разных файлов непонятного назначения.

На помощь приходит модуль http://drupal.org/project/uploadpath

Устанавливаем, включаем, заходим в admin/settings/uploadpath - богатые возможности настройки путей для загружаемых файлов.

С какими трудностями столкнулся я:

модуль не работал до тех пор, пока я не прописал конкретно для node type паттерн. Т.е. дефайулт паттерн я так понял пока что не работает.

К тому же, до кучи еще не работали многие токены. Я так понял это из-за того, что они содержат в себе слеши "/" или какие-то другие запрещенные символы.

В результате я остановился на таком паттерне: [type]/[title]
Загружает файлы в папку /page/заголовок_страницы_к_которой_прикреплен_файл/имя_файла

Но вот ведь незадача - если заголовок на русском, то скорее всего будут проблемы с названиями папок в юниксе, да и в винде тоже.

Для решения этой проблемы я поставил модуль http://drupal.org/project/transliteration
Далее пришлось немного все же хакнуть файл uploadpath.module:

В строке 69, после фигурной скобки я вставил три строчки:

if (function_exists('transliteration_get')) {
 $file_name = transliteration_get($file_name, '?', language_default('language'));
}			
// SECURITY NOTE:
// Tokens include user supplied information and could provide an attack vector.
...

Теперь у меня создаются транслитерационные папки.

Прикрепляю измененный файл uploadpath.module,v 1.1.2.5.2.1

Удачи!

Drupal 6

Комментарии

Добавить комментарий