lynx
Advanced lynx | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору В стандартной IB2 внизу сообщения каждого пользователя пишется "Всего записей" и "Дата регистрации". Это хорошо, но только когда дело не касается гостя. Гостю выводится в первом случае "N/A", во втором - "Never", что, на мой взгляд, не очень красиво. Лучше не выводить ничего, впрочем,это дело вкуса. Для тех, кто со мной согласен, предлагается готовый вариант правки кода, после которого внизу сообщения гостя не будет писаться ничего, кроме даты собщения. Файл для правки - topic.cgi, не забудьте сделать бэкап. Меняем: Код: &getmember("$membername"); $mname=$membername; $m_membername = $membername; $m_membername =~ y! !_!; &set_up_guest() unless (-e $ikondir . 'members/'.$m_membername.'.cgi'); if ($membername eq "$ibtxt{'0043'}") { $joineddate = "Never"; } elsif ($joineddate) { $joineddate = $joineddate + ($timedifferencevalue*3600) + ($timezone*3600); $joineddate = &joineddate("$joineddate"); } else { $joineddate = "$ibtxt{'3009'}"; } if (!$numberofposts) { $numberofposts = "$ibtxt{'3009'}"; } if ($membername eq "$ibtxt{'0043'}") { $numberofposts = "$ibtxt{'3009'}"; } | На: Код: &getmember("$membername"); $mname=$membername; $m_membername = $membername; $memberfilename = $membername; $memberfilename =~ y/ /_/; $m_membername =~ y! !_!; &set_up_guest() unless (-e $ikondir . 'members/'.$m_membername.'.cgi'); if ($membername eq "$ibtxt{'0043'}") { #$joineddate = "Never"; undef $datareg; } else { $joineddate = $joineddate + ($timedifferencevalue*3600) + ($timezone*3600); $joineddate = &joineddate("$joineddate"); $datareg=qq(Зарегистр.: <b>$joineddate</b> |); } #else { #$joineddate = "$ibtxt{'3009'}"; #} if (!$numberofposts) { $numberofposts = "$ibtxt{'3009'}"; undef $kolvomes; } else{ $kolvomes=qq(Всего записей: <b>$numberofposts</b> |); } if ($membername eq "$ibtxt{'0043'}") { #$numberofposts = "$ibtxt{'3009'}"; undef $kolvomes; } | Старый вариант вывода просто закомментирован, можете убрать его. Далее просто выводим эти переменныеэ. Меняем: Код: <td class="bottomline" bgcolor="$postbackcolor"> <hr size=1 width=100% color=$tablebordercolor> <font face="$font" color=$postfontcolor size=$dfontsize1>$ibtxt{'0212'} <b>$numberofposts</b> | $ibtxt{'3012'} <b>$joineddate</b> | $ibtxt{'0319'}: <b>$postdate</b>$view_ip</font> </td> | На: Код: <td class="bottomline" bgcolor="$postbackcolor"> <hr size=1 width=100% color=$tablebordercolor> <font face="$font" color=$postfontcolor size=$dfontsize1>$kolvomes $datareg $ibtxt{'0319'}: <b>$postdate</b>$view_ip</font> </td> | Немножко поясню, хотя, не знаю, для кого, кто в коде разбирется, и так все понятно, кто не разбирается, все равно не поймет, ну, да поясню. Код: if ($membername eq "$ibtxt{'0043'}") { #$joineddate = "Never"; undef $datareg; } | Если юзер - Гость, переменная, хранящая вывод даты регистрации, неопределена. Код: else { $joineddate = $joineddate + ($timedifferencevalue*3600) + ($timezone*3600); $joineddate = &joineddate("$joineddate"); $datareg=qq(Зарегистр.: <b>$joineddate</b> |); } | В другом случае - получаем дату регистрации и формируем ее вывод, который присваиваем переменной $datareg. С датой все, пошло количество постов. Код: if (!$numberofposts) { $numberofposts = "$ibtxt{'3009'}"; undef $kolvomes; } else{ $kolvomes=qq(Всего записей: <b>$numberofposts</b> |); } | Если количество постов определить не удалось, его оставляем "N/A", а переменную $kolvomes не определяем. В другом случае переменной $kolvomes присваиваем вывод информации о количестве постов. Код: if ($membername eq "$ibtxt{'0043'}") { #$numberofposts = "$ibtxt{'3009'}"; undef $kolvomes; } | Если юзер - Гость, переменную $kolvomes не определяем. С датой и количеством постов покончено Теперь у Гостя в посте убираем ссылку на профиль (зачем она у гостя?) и на "Сообщение" - ибо зачем же гостям получать персональные мессаги. В том же файле меняем: Код: if ($text_menu ne "yes"){ $privatemessagegraphic = qq~<a href="javascript:openScript('$messengerprog?action=new&touser=$memberfilename',600,400)"><img src="$imagesurl/images/$message" border=0></a>~; $profilegraphic = qq~<a href="$profileprog?action=show&member=$memberfilename"><img src="$imagesurl/images/$profile" border=0></a>~; $editgraphic = qq~<a href="$postingsprog?action=edit&forum=$inforum&topic=$intopic&postno=$editpostnumber"><img src="$imagesurl/images/$edit" border=0></a>~; $partition = qq~<img src="$imagesurl/images/$part" border=0>~; } else { $privatemessagegraphic = qq~ | <a href="javascript:openScript('$messengerprog?action=new&touser=$memberfilename',600,400)">Сообщение</a>~; $profilegraphic = qq~ | <a href="$profileprog?action=show&member=$memberfilename">Профиль</a>~; $editgraphic = qq~<a href="$postingsprog?action=edit&forum=$inforum&topic=$intopic&postno=$editpostnumber">Правка</a>~; } | На: Код: if (($text_menu ne "yes")&&($membername ne "$ibtxt{'0043'}")){ $privatemessagegraphic = qq~<a href="javascript:openScript('$messengerprog?action=new&touser=$memberfilename',600,400)"><img src="$imagesurl/images/$message" border=0></a>~; $profilegraphic = qq~<a href="$profileprog?action=show&member=$memberfilename"><img src="$imagesurl/images/$profile" border=0></a>~; $editgraphic = qq~<a href="$postingsprog?action=edit&forum=$inforum&topic=$intopic&postno=$editpostnumber"><img src="$imagesurl/images/$edit" border=0></a>~; $partition = qq~<img src="$imagesurl/images/$part" border=0>~; #Что это за переменная, я не знаю.... Ее можно просто убрать. } elsif($membername eq "$ibtxt{'0043'}"){ undef $privatemessagegraphic; undef $profilegraphic; $editgraphic = qq~<a href="$postingsprog?action=edit&forum=$inforum&topic=$intopic&postno=$editpostnumber"><img src="$imagesurl/images/$edit" border=0></a>~; undef $partition; #Повторяю, я не знаю, что это... Это можно убрать. } else { $privatemessagegraphic = qq~ | <a href="javascript:openScript('$messengerprog?action=new&touser=$memberfilename',600,400)">Сообщение</a>~; $profilegraphic = qq~ | <a href="$profileprog?action=show&member=$memberfilename">Профиль</a>~; $editgraphic = qq~<a href="$postingsprog?action=edit&forum=$inforum&topic=$intopic&postno=$editpostnumber">Правка</a>~; } | В этом куске просто идет дополнительная проверка на гостя, и переменные, отвечающие за вывод соответсвующих картинок не определяются, если юзер - гость. Все потестено на стандартной ИБ2, все работает, на оптимальность кода не претендую, пожелания что-то еще исправить при выводе постов принимаются. | Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 21:04 25-11-2002 | Исправлено: lynx, 04:24 01-12-2002 |
|