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

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

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

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

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

Raw Rider

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, у меня музыкальный форум, в связи с чем мне понадобилась такая фичка:
В topic.cgi под полем ввода текста сообщения потребовалось создание дополнительного инпута для того, чтобы постящий мог написать в нём, что он слушает в данный момент,  и чтобы всё это писалось в тело поста в таком виде: Now playing: Песняры...
Я решил сам попробовать это реализовать вот таким образом:
 
В topic.cgi после этих строк:

Код:
<tr>  
                   <td bgcolor=$miscbackone valign=top><font face="$font" color=$fontcolormisc size=1><b>$ibtxt{'1421'}</b><br>  
<br>Для вставки имени, кликните на нём.<br>
<SCRIPT language=JavaScript>  
if (navigator.appVersion.indexOf("MSIE")!= -1) document.writeln("Для вставки цитаты, выделите её и <a href='VBScript:paste2(document.selection.createRange().Text)'>нажмите эту ссылку</a>.<br></span>")  
</SCRIPT><br><A href="misc.cgi?action=ikoncode" target="_blank">$ibtxt{'1424'}</A> <b>$idmbcodestate</b> $ibtxt{'1423'}.</font>
$ibsmtb
</td>
<td bgcolor=$miscbackone valign=middle><textarea cols=70 rows=15 wrap="soft" name="inpost">$inpost</textarea>  
</td></tr>
 
Добавил:

Код:
<tr>  
<td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc size=$dfontsize1><b>Now playing:</b></font></td>  
<td bgcolor=$miscbackone valign=middle><input type=text size=70 name="play"></td>  
</tr>

Здесь всё.
В post.cgi это:

Код:
for ('forum','topic','membername','password','action','postno','inshowsignature','notify','inshowemoticons','previewfirst','intopictitle','intopicdescription','inpost','instickytopic')
 
Заменил на это:

Код:
for ('forum','topic','membername','password','action','postno','inshowsignature','notify','inshowemoticons','previewfirst','intopictitle','intopicdescription','inpost','instickytopic','play')
 
После:

Код:
foreach $postline (@allmessages) {
            chomp $postline;
                if ($postcountcheck eq $num) {
                    $processed_data .= "$inmembername_OLD|$topictitle_OLD|$postipaddress_OLD|$inshowemoticons_OLD|$inshowsignature_OLD|$currenttime_OLD|$inpost_OLD";
                }
                else { $processed_data .= "$postline\n"; }
                $postcountcheck++;
                }
            $filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";
            open(FILE, ">$filetoopen");
             flock(FILE, 2);
            print FILE $processed_data;
            close(FILE);
            undef $processed_data;
           
             
         
        } else {
                 
        $filetomake = "$ikondir" . "forum$inforum/$intopic.thd";
        $filetomake = &stripMETA($filetomake);
 
Поставил(без пробелов):

Код:
chomp $play;
    if ($play) {
        my $play = "<p>[color=#CCCCCC][size=1]Now playing: $play\[ /size]\[ /color]";
        }
        $inpost = $inpost . $play;
 
На этом всё...
На тестинге вроде работает, но на форум я не решился запускать...Хотелось бы в начале узнать мнение профи Вдруг это всё криворукоблудие?!  
Подскажите всё ли правильно?
 
P.S. При склеивании постов записи из инпута не происходит - это и нужно...

Всего записей: 98 | Зарегистр. 14-03-2003 | Отправлено: 20:32 09-11-2003 | Исправлено: Raw Rider, 10:38 10-11-2003
BESTRAFER



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

Всего записей: 1477 | Зарегистр. 17-09-2003 | Отправлено: 10:16 11-11-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Raw Rider
реализовал на своем форуме эту фишку, наверное, как с год назад уже.  
Причем тоже раньше именно было написано Now playing, потом решил по-русски написать "Сейчас играет". Тоже в тело мессаги...
какой-то у тебя уж больно маленький код получился! А где в topic.cgi вытаскивание значения play? Ты должен ВЕСЬ топик.цги и пост.цги перелопатить и добавить эту переменную, чтобы глюков не было.
Проверь, чтобы при переносах проблем не было... чтобы при редактировании сообщения в поле NP вставлялось значение, чтобы оно обратно потом записывалось.
Мелочей много... И надо локально тестить ВСЕ возможные ситуации - сам уже лбом стукался во много багов. Но зато щас все отменно пашет.

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 09:31 12-11-2003
BESTRAFER



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

Цитата:
И надо локально тестить ВСЕ возможные ситуации - сам уже лбом стукался во много багов.  

а можно поподробнее?

Всего записей: 1477 | Зарегистр. 17-09-2003 | Отправлено: 17:55 12-11-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Ты должен ВЕСЬ топик.цги и пост.цги перелопатить и добавить эту переменную, чтобы глюков не было.  

да, кстати, еще и postings.cgi тоже надо перелопатить.
 
BESTRAFER
Перенос тем
Редактирование сообщения (1го, не 1го)
Добавление сообщения от того же автора (для тех, у кого стоит хак Димона - склейка короче).
 
Пожалуй, это основные операции.

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 08:40 14-11-2003
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Now playing:


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru