позволяющий сделать простую возможность скачивания аттачментов (файлы скачивания) со стороннего ФТП сервера, если у вас нехватка места на вашем VDS.
скачивания файла с удаленного сервера FTP, решает проблему при не хватке места на хостинге, аттачментов (файлы скачивания) берутся из другого места.
Расскажу Вам свою историю как я докатился до этого хака: приобрел в своем городе сайт, что стоял на винде, и в придачу винт на 2 терабайта, и посчитал, что ни дело ему под виндою мучатся, и отправил я сайт на VDS под линукс, там и настроят, и помогут :) К сожалению, виртуальные вдски не позволяют хранить такой объем данных как 2 терабайт, а покупать в аренду выделенный сервер (что стоит от 3 т / мес) мне явно ни по карману. Пришлось думать, как же организовать загрузку файлов, что были залиты аттачментом на сайт, но с другого, домашнего фтп. Итак, хак будет полезен для тех у кого закончилось пространство на вдс и все файлы нужно перенести на другой, например домашний фтп.
Загружаем файлы с uploads/files себе на фтп, ничего не трогаем, префикс оставляем.
Идем в папку engine, скачиваем download.php переименовываем в download2.php и заливаем на сервер, далее открываем download.php находим
define ( 'FILE_DIR', '../uploads/files/' );
меняем на
define ( 'FILE_DIR', 'ftp://адрес_вашего_фтп/' );
Для того, чтобы новые файлы корректно заливались, идем в engine/ajax/upload.php , ищем
$('#fileurl').val( '[attachment='+$(this).data('src') +']' );
меняем на
$('#fileurl').val( '[url=http://адрес_сайта/engine/download2.php?id='+$(this).data('src') +'][img]http://адрес_сайта.ru/желаемая_картинка[/img][/url]' );
далее ищем
links[t] = '[attachment='+elmnt.value+']';
меняем на
links[t] = '[url=http://адрес_сайта.ru/engine/download2.php?id='+elmnt.value+'][img]http://адрес_сайта/желаемая_картинка[/img][/url]';
Теперь при заливке новых файлов вместо attachment будет картинка, т.е. в окне, где мы выбираем файл для вставки, вставится следующая конструкция -
[center][url=http://сайт.ru/engine/download2.php?id=10599][img]http://сайт.ru/картинка[/img][/url][/center]
которую мы и вставляем вместо аттачмента, иначе никак )
и теперь ОЧЕНЬ ВАЖНЫЙ ПУНКТ в engine/classes/download.class.php находим
fseek( $handle, $range );
и удаляем, иначе следующая ошибка
Warning: fseek(): stream does not support seeking in /var/www/pg/data/www/dle9.com/engine/classes/download.class.php on line 103
которая записывается в каждый файл после закачки, и они становятся нерабочие! Это решение помогло. Все файлы как с удаленного фтп так и новые загруженные на VDS заливаются и открываются корректно!
Загрузку новых файлов на свой фтп вы можете организовать другими методами, до этого еще не додумался ) Есть модуль для этого ftp files но его установить я так и не смог, разработчик не отвечает.
Вы можете дорабатывать модуль, сообщайте пожалуйста мне если вы знаете как то или иное в коде сделать лучше, я не программист и мог сделать что то не совсем верно. Хотя с другой стороны все отлично работает!
Внимание! В коротких новостях не работает.