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 |
|