Плагин для вставки attach’ей в форум bbPress
Форум на bbPress – легковесный форум на основе идеи WordPress’а – минимум встроенной функциональности, а рюшечки добавляется плагинами. Фактически, из этого форума, как и из вордпресса, можно слепить все, что угодно.
Что я хотел получить в итоге? У меня на этом хостинге довольно мало места — 500мб всего, зато у меня есть ФТП, где места просто завались. Идея в том, что аттачи передаются по ftp на другой сервер,а потом по http забираются оттуда в посты. Эдакая распределенная система получается.
Что умеет плагин?
- AJAX-вставка аттачей. Аттач можно загрузить фактически куда угодно. Сейчас работает загрузка на ftp, но для изменения места загрузки нужно поменять всего две функции — bsvi_move_to_ftp и bsvi_ftp_delete
- В процессе редактирования используются привычные bb-тэги типа [attach="25, cool_img.jpg"], но при отправки они превращаются в html и не требуют никакой обработки (в базе они тоже хранятся в html-виде). При нажатии на кнопку редактирования html преобразуется обратно в bb-тэг.
- Если пользователь загрузил аттач, но не использовал его в тексте, он автоматически удаляется.
- при редактировании можно стереть тэг с аттачем, тогда аттач удаляется.
- Правильно работает удаление аттача при удалении поста.
- Если загружается картинка, она показывается в виде картинки, если картинка слишком большая, то показывается миниатюра с ссылкой на скачивание, если загружается другой файл, дается ссылка на его скачивание
Для вставки применена революционная технология, которой мне не хватало на многих форумах – файлы загружаются отдельно, а вставляются в посты в виде тегов. Таким образом, можно показывать картинки по ходу повествования. А то обычно читаешь текст поста, а потом ищешь внизу в аттачах про что шла речь – жутко неудобно.
Скачать плагин можно тут:
Процесс разработки плагина – на форуме https://bsvi.me/forums/topic/7
Я не делал красивых рюшечек типа установки одной кнопкой и интернационализации, просто жалко тратить время на то, что мне не нужно.
Для установки плагина нужно:
- Выполнить следующий sql-запрос в базе bbPress’a
CREATE TABLE `bb_ftpattach` (
`id` int(10) unsigned NOT NULL auto_increment,
`post_id` int(10) unsigned default ‘0’,
`user_id` int(10) unsigned default ‘0’,
`user_ip` varchar(20) default NULL,
`size` int(10) unsigned default ‘0’,
`is_image` tinyint(1) unsigned default ‘0’,
`is_resized` tinyint(1) unsigned default ‘0’,
`filename` varchar(255) default NULL,
`status` tinyint(3) unsigned default ‘0’,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8; - Скопировать файлы в папку my-plugins
- Поправить параметры в файле ftp_attach.php до строчки define( ‘BSV_ATT_UNUSED’, ‘0’ );
- Создать на ftp сервере каталог, мя которого указывается в $bsvi_attach[‘path’]
- Запустить плагин в панели управления bbPress
Ну и на последок (да, я прекрасно понимаю, что этого никто делать не будет), если кто решиться усовершенствовать плагин, просьба отписаться.