Доводим до ума File import drupal

Для публикации в постах большого кол-ва файлов, оптимальным решением является использование модуля для импорта файлов с сервака в двиган(drupal).

Я нашёл неплохой модуль, который помогает это делать и вставляет в ноды файлы..
http://dru... ,его название как не трудно догадаться File import.

Но это модуль не так уж хорош, пришлось над ним покавыряться, это заняло часик.

Путь к модулю : /public_html/modules/file_import/file_import.module

Умный импорт

Для начала, я нашёл баг в том, что все файлы после импорта копируются в одну директорию, которую можно менять в пропертях. Согласитесь, это плохо.. будет много конфликтов, да и сама операционка будет долго открывать эту директорию при доступу к файлу.

Цель : При импорте в нод, нужно создавать папку в директории с номером нода и копировать туда файлы.
Решение :

350 строка кода

//проверка на наличие директории и создание её, если это нужно
if (!is_dir(variable_get('file_import_output_path', file_directory_path()) .'/'.$nid.'/'))
mkdir(variable_get('file_import_output_path', file_directory_path()) .'/'.$nid.'/');
//Путь и имя нового файла
$new_filename = variable_get('file_import_output_path', file_directory_path()) .'/'.$nid.'/'. $origname;

Для пояснения, я добавил переменную $nid .

Проблема с правами доступа
Даже, если выставить права на доступ только для редаткоров сайта, таб с FILE IMPORT будет показываться всем! БАГА!

Цель : Фик доступа к табу.
Решение :

Исправленая функция file_import_access

function file_import_access($node) {
  return variable_get('file_import_tab', TRUE) && file_import_access_node($node) && user_access('import files');
}

В след постах, я попытаюсь сделать поиск файлов по папкам в исходной директории.
У этого модуля и там бага :(

Прикрепленный файлРазмер
file_import.module20.32 кб
Рейтинг: Ничего Рейтинг: 4 (2 votes)

Еще по теме

детские велосипеды от 5 лет