Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.3 » Нормальный upload картинок

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

sepich



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не подскажете ли мод чтобы можно было картинке указывать не только путь в инете а и заливать ее с винта. Порыскав по этому форуму я нашел только что можно поставить мод на загрузку аватара. Залить картинку как аватар , посмотреть к нему путь и вставить его - но это слишком гиморно. Неужели все так паряться? НЕВЕРЮ

Всего записей: 75 | Зарегистр. 29-09-2002 | Отправлено: 06:21 22-01-2003
Vsevolod



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здесь где-то обчуждалось заливка файлов, но вывод помоему был отрицательный.

----------
Мы ходим по краю бана, но не сдаёмся.
Главное не смотреть вниз!

Всего записей: 2366 | Зарегистр. 13-06-2001 | Отправлено: 11:20 22-01-2003
sepich



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
грустно=(

Всего записей: 75 | Зарегистр. 29-09-2002 | Отправлено: 05:32 24-01-2003
Calm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно, наверное, переделать под картинки прикрепление файлов. Всех делов то - заменить ссылку на прикрепленный файл на вставку картинки. Попробую - сообщу.

Всего записей: 184 | Зарегистр. 18-11-2002 | Отправлено: 22:16 27-01-2003
sepich



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
О! здарова опять Calm!
ДАВАААЙ!!! ПОКАЖИ ВСЕМ!!!
Я тут в результате многоходовой комбинации проник на ibhackers.com в форум разработчиков, там по поводу сабжа задумывалось только 3 человека, но никто так даже и не начал ничего делать. В готовых хаках такого тоже нет естессно. Так что человеки - кто сделает тот прославится на весь мир! Покажите буржуям где моды клепают! =)

Цитата:
Можно, наверное, переделать под картинки прикрепление файлов.
а это где такое? (Облазил весь add reply и adminCP)
 

Всего записей: 75 | Зарегистр. 29-09-2002 | Отправлено: 04:54 29-01-2003
Calm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а это где такое?  
это attach
 
Руки все не доходят, работы много.  
Идея довольно проста. Взять кусок про загрузку файла из Post.pm и воткнуть в текстпарсере проверку на вставку IMG. Если начинается с http, то втыкать переданный урл, в остальных случаях сначала скачивать, а потом переданую строку подменять новым урлом. Проблему представляет только обход превью и ограничение на размер и кол-во.
 

Цитата:
кто сделает тот прославится на весь мир
А оно мне надо?

Всего записей: 184 | Зарегистр. 18-11-2002 | Отправлено: 22:46 29-01-2003
sepich



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Извени за оффтоп но что за аттач и как его врубить?
Покопался в languge есть там фишки для аттача файлов, дальше полез в sources по ссылкам, даже код есть. А в борде не нашел ничего близкого (только ссылки на картинки, мыло, и шрифты). В админе есть только макс. аплоад сайз и все. Я не догоняю.  
Расскажите плиз как врубить - я хоть в сорцах покопаюсь, может догоню как переделать под картинки...

Всего записей: 75 | Зарегистр. 29-09-2002 | Отправлено: 06:58 30-01-2003
Calm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В админ.центре в настройках форума есть пунктик "разрешить прикрепление файлов".
Код прописан в сорцах в Post.pm.
 
При прикреплении файла сначала происходит его анализ на тип, картинки (в 3.1.1) вставляются как картинки, на остальное файло дается просто ссылка. Скриптам присобачивается расширение ".txt". Файл переименовывается, имя зависит от даты и времени. Цеплять можно только один файл к сообщению. Файл сначала падает в Temp, потом переносится в каталог uploads.

Всего записей: 184 | Зарегистр. 18-11-2002 | Отправлено: 22:51 30-01-2003
sepich



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Так слушай нифига так все просто! Я прикрепил картинку - и она отобразилась в этом же сообщении. Так что все оказалось встроено и так в ib311 Только и того что врубить в topic option - Show uploaded images in posts (rather than a link to the attachment)?
А я грешил понимаешь. Причем 3 раза рыскал в forum control !!! Как так может быть что раньше не видел этот allow attach files???
Извеняюсь перед всеми, тему можно закрывать =)

Всего записей: 75 | Зарегистр. 29-09-2002 | Отправлено: 04:13 31-01-2003
MuxaHuKyC



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кстати, а как прикрепить картинку, при написании письма?
Что-то никак найти не могу
 
Добавлено
т.е. не могу найти, как указать локальный диск в качестве источника картинки.
В тэгах [IMG] можно указать интернет-адрес. А как с локального диска закачать - ума не приложу...
Это возможно?

Всего записей: 55 | Зарегистр. 04-06-2002 | Отправлено: 07:40 31-01-2003 | Исправлено: MuxaHuKyC, 07:56 31-01-2003
Calm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Так слушай нифига так все просто

2sepich
Так вроде речь то не про это была. Прицепить картинку нет проблем. Но только одну и только снизу. Хочется как раз через [IMG] и чтобы картинки (много) с локального диска автоматически закачивались на сервант, и вставлялись в нужном месте текста с уже правильным сетевым адресом.
Сегодня попробовал - сделать можно, и превью обходится и с редактированием нет проблем и с ограничениями тоже всё нормально. Причешу в понедельник и выложу.
 
2MuxaHuKyC
См. на 2 поста выше, про АdmCP

Всего записей: 184 | Зарегистр. 18-11-2002 | Отправлено: 21:45 31-01-2003 | Исправлено: Calm, 21:56 31-01-2003
sepich



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Слушай это будет великолепно! Даже не думал что мы об этом ... ща сам тоже пойду погляжу что там как. Ты был прав
Цитата:
Да я сам только начал изучать когда борду поставил.  

Всего записей: 75 | Зарегистр. 29-09-2002 | Отправлено: 04:06 01-02-2003
Calm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sorry, времени мало на ковыряние в перле, гоняю по командировкам.  
Все оказалось не так просто. Механизм то понятен, не могу пока придумать как корректно файлы передать скрипту, то ли в отдельное окно выводить, то ли скрытый поток создать... Пока элегантного решения нет, буду думать дальше.

Всего записей: 184 | Зарегистр. 18-11-2002 | Отправлено: 23:14 06-02-2003
sepich



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
так а как это реализовать в плане GUI ?
сделать строчек 6 для загрузки файлов и вывести юзеру путь куда они будут загружены. И чтоб юзер писал и где надо вставить картинку сам писал приведенный путь с именем картинки. И тогда так и получется - что их много и в нужном месте. Но это все не удобно конечно.
 
через [IMG] я даже не могу предположить ход действий. Но это будет намного удобнее.

Всего записей: 75 | Зарегистр. 29-09-2002 | Отправлено: 04:19 13-02-2003
Calm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Наконец-то дошли руки. Сразу скажу, что элегантного решения так и не нашел.  
Первоначальная идея была такая.  
При создании формы ответа автоматически генерится необходимое кол-во (по разрешенному кол-ву картинок в топике) скрытых (через style) input`ов с типом file.
К IB-кнопкам добавляется еще одна '[Image from Disk]'. Создаются два счетчика: Нажатий на '[Image from Disk]' и нажатий на '[Image]' для контроля количества файлов.
На onClick для '[Image from Disk]' вешается вызов вида
Код:
eval("document.REPLIER.file"+$count1+".click()");

На поле ввода файла (скрытое) на onChange повешать обработку строки и добавление ее в текстовое поле ввода.
В парсере эти строки сопоставляются с переданными файлами, файлы закачаваются, ссылки подменяются.
 
Сделал - не работает. При нажатии на submit поле у file просто очищается и ничего не происходит. Абыдно.
 
Пока выкладываю упрощенный вариант, минимум проверок и автоматики.
Попробовал - у меня на 3.1.1 работает, но preview забыл глянуть.
 
Привязка дана, наверное, не самая лучшая. В форме поля выводятся, если разрешен upload.
А реально закачиваются файлы и вставляются ссылки, если картинки разрешены. Говорю же - упрощенный вариант.
 
Итак ...
 
1. В PostWords.pm после

Код:
'upload_title'          => q!Прикрепление файла!,

 
добавить
 

Код:
 
'upload_img'            => q!Вы можете закачать на сервер картинки, они автоматически будет вставлена в текст сообщения. Максимальный общий размер файлов (в байтах):!,
'upload_title_img'      => q!Закачка картинок на сервер!,
 

 
2. В PostView.pm перед
 

Код:
function IBCemail() {

 
вставить
 

Код:
function ImageFromDisk(num) {
    var FoundErrors = '';
 
    var enterURL = eval("document.REPLIER.USR_IMG_"+num+".value");
    if (!enterURL) {
        FoundErrors += "\\n" + error_no_url;
    }
    if (FoundErrors) {
        alert("Error!"+FoundErrors);
        return;
    }
    var ToAdd = "[LOAD_IMG]"+num+"="+enterURL+"[/LOAD_IMG]";
    document.REPLIER.Post.focus();
    document.REPLIER.Post.value += ToAdd+' ';
    document.REPLIER.Post.focus();
}

 
3. В PostView.pm в
Код:
sub Upload_field
после
 

Код:
<td bgcolor='$iB::SKIN->{'MISCBACK_ONE'}'><input type='file' size='30' name='FILE_UPLOAD'></td>
</tr>

 
вставить
 

Код:
<tr>
<td bgcolor='$iB::SKIN->{'MISCBACK_TITLE'}' align='left' colspan='2' id='titlelarge'>$Post::lang->{'upload_title_img'}</td>
</tr>
<tr>
<td bgcolor='$iB::SKIN->{'MISCBACK_ONE'}' align='left' valign='top'>$Post::lang->{'upload_img'} $data</td>
<td bgcolor='$iB::SKIN->{'MISCBACK_ONE'}'>
<input onchange="ImageFromDisk('1')" name="USR_IMG_1" type="file" size="30"><br>
<input onchange="ImageFromDisk('2')" name="USR_IMG_2" type="file" size="30"><br>
<input onchange="ImageFromDisk('3')" name="USR_IMG_3" type="file" size="30"><br>
<input onchange="ImageFromDisk('4')" name="USR_IMG_4" type="file" size="30"><br>
<input onchange="ImageFromDisk('5')" name="USR_IMG_5" type="file" size="30"></td>
</tr>

 
4. В iTextparser.pm после
 

Код:
package iTextparser;

 
вставить
 

Код:
use File::Copy;

 
5. В iTextparser.pm перед
 

Код:
if (($Txt=~ m!(\[FLASH=)(\S+?)(\,)(\S+?)(\])(\S+?)(\[\/FLASH\])!i) and ($iB::INFO->{'ALLOW_FLASH'})) {

 
вставить
 

Код:
while ($Txt =~ s{\[LOAD_IMG\](.+?)\[\/LOAD_IMG\]}
{
 my $file_number      = substr($1,0,1);
 my $file_name        = undef;
 my $test_to_load  = "USR_IMG_$file_number";
 my $file_to_load  = $iB::CGI->param("USR_IMG_$file_number");
 my $tmp_load_file = $iB::CGI->tmpFileName($file_to_load);
 $file_to_load =~ /([^\\\/\:]+)$/;
 $file_name = $1;
 $file_name =~ s/[^\w\.]/\_/g;
 
 $file_name = "load-$iB::IN{f}-".substr(time, 5,10)."-".$file_name;
 
 
 if ( ($file_name =~ /\.(cgi|pl|js|asp)$/i) or ($file_name =~ /\.php\d{0,2}$/i) ) {
     $file_name =~ s!\.!-!g;
     $file_name .= '.txt';
 }
 
 unless ($iB::INFO->{'PUBLIC_UPLOAD'}) {
     $iB::INFO->{'PUBLIC_UPLOAD'} = $iB::INFO->{'HTML_DIR'};
     $iB::INFO->{'PUBLIC_UPLOAD'} =~ s/non-cgi/uploads/;
 }
 
 $iB::INFO->{'PUBLIC_UPLOAD'} .= '/' unless $iB::INFO->{'PUBLIC_UPLOAD'} =~ m!/$!;
 
 chmod(0777, $iB::INFO->{'PUBLIC_UPLOAD'});
 my $new_file = $iB::INFO->{'PUBLIC_UPLOAD'}."$file_name";
 my ($buffer, $bytes_read, $size);
 open(OUTFILE, ">$new_file") or die "Cannot upload to $iB::INFO->{'PUBLIC_UPLOAD'}$file_name ($@)";
 binmode(OUTFILE);
 while ($bytes_read = read($file_to_load, $buffer, 2096)) {
     $size += $bytes_read;
     print OUTFILE $buffer;
 }
 close (OUTFILE);
 
 chmod(0777, $new_file);
 
 my $main_url = $iB::INFO->{'UPLOAD_URL'}."/$file_name";
 
 qq#<img src="$main_url" border="0" title="">#;
}eisgx) {}

 
Вроде всё.  
Комментарии желательны, т.к. на перле пишу мало и не так давно.

Всего записей: 184 | Зарегистр. 18-11-2002 | Отправлено: 22:17 25-02-2003
steroid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
смотрим ,пробуем

Всего записей: 591 | Зарегистр. 19-12-2001 | Отправлено: 05:24 26-02-2003
igkuv

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну как посмотрели и попробовали? Каковы результаты?

Всего записей: 1 | Зарегистр. 11-02-2003 | Отправлено: 17:07 04-03-2003
Calm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Работает, если preview не нажимать
Шлифую потихоньку дальше.

Всего записей: 184 | Зарегистр. 18-11-2002 | Отправлено: 22:05 04-03-2003
Benedict



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ну так хоть кто нибудь решил эту проблему?
 
Да, прошу, объясните, как включить этот несчастный Аттач. В свойствах форума я разрешил прикрепление файла.  
но, ни каких новых кнопок при создании нового сообщения не появилось. Подскажите, что нужно еще включить?
 
sepich

Цитата:
и того что врубить в topic option - Show uploaded images in posts (rather than a link to the attachment)?  

 
Где ты это нашел???? Подскажи плиз!

Всего записей: 129 | Зарегистр. 08-12-2001 | Отправлено: 17:17 28-04-2003
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.3 » Нормальный upload картинок


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru