lynx
Advanced lynx | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Модернизация хака добавления объявлений Пишем инфу об IP и об имени запостившего В файловом архиве лежит хак modannounce, позволяющий добавлять новости не только админу, но и модерам. Ставится он очень просто. Все строчки: Код: if ($membercode ne "ad") { | Заменяются на: Код: if (($membercode ne "ad")==($membercode ne "mo")) { | А теперь пишем также имя добавившего новость и его IP. Сначала вывод имени постившего, чтобы не подписываться каждый раз. Меняем: Код: $newline = "$inannouncementtitle|$currenttime|$inannouncementpost"; | На: Код: $newline = "$inannouncementtitle|$currenttime|$inannouncementpost|$myposter"; | Меняем: Код: foreach (@announcements) { if ($count eq $number) { ($announcementtitle,$notneeded,$announcementpost) = split(/\|/,$_); | На: Код: foreach (@announcements) { if ($count eq $number) { ($announcementtitle,$notneeded,$announcementpost,$myposter) = split(/\|/,$_); | Меняем: Код: foreach $line (@announcements) { ($title, $dateposted, $post) = split(/\|/, $line); | На: Код: foreach $line (@announcements) { ($title, $dateposted, $post, $myposter) = split(/\|/, $line); | Меняем (4 раза): Код: &getmember("$inmembername"); | На: Код: &getmember("$inmembername"); $myposter=$inmembername; | Добавляем вывод имени (дизайн меняйте, как вам надо), пример на дефолтной. Меняем: Код: $output .= qq~ <tr> <td bgcolor="$postbackcolor" valign=top><font face="$font" color=$postfontcolor size=$dfontsize2> $post </td> </tr> <tr> <td bgcolor="$postbackcolor" valign=middle> <font face="$font" color=$postfontcolor size=$dfontsize2>$ibtxt{0319}: <b>$dateposted</b> </td> </font>#####Это, кстати, ошибка, надо местами строчки поменять </tr> ~; | На: Код: $output .= qq~ <tr> <td bgcolor="$postbackcolor" valign=top><font face="$font" color=$postfontcolor size=$dfontsize2> $post </td> </tr> <tr> <td bgcolor="$postbackcolor" valign=middle> <font face="$font" color=$postfontcolor size=$dfontsize2>Объявление добавлено: $dateposted   $myposter</font> </td> </tr> ~; | С именем все. Оно выводится внизу объявления рядом с временем его добавления. Теперь пишем инфу об IP. После: Код: $inmembername = $membername; $inpassword = $password; $inannouncementtitle = $announcementtitle; $inannouncementpost = $announcementpost; | Добавляем: Код: $IP="$ENV{REMOTE_ADDR} - $ENV{HTTP_X_FORWARDED_FOR} - $ENV{HTTP_PROXY_CONNECTION} - $ENV{HTTP_VIA}"; | Меняем: Код: $newline = "$inannouncementtitle|$currenttime|$inannouncementpost|$myposter"; chomp $newline; $filetoopen = "$ikondir" . "data/news.cgi"; $filetoopen = &stripMETA($filetoopen); open(FILE, ">$filetoopen") or die "$ibtxt{0325}"; flock(FILE, 2); foreach $line (@announcements) { chomp $line; if ($count eq $number) { print FILE "$newline"; } else { print FILE "$line"; } | На: Код: $newline = "$inannouncementtitle|$currenttime|$inannouncementpost|$myposter"; chomp $newline; $filetoopen = "$ikondir" . "data/news.cgi"; $filetoopen = &stripMETA($filetoopen); open(FILE, ">$filetoopen") or die "$ibtxt{0325}"; flock(FILE, 2); foreach $line (@announcements) { chomp $line; if ($count eq $number) { print FILE "$newline"; print FILE "\|$IP\n"; } else { print FILE "$line"; } | Инфа об IP пишется в файл news.cgi в последнее поле (туда же пишется имя постера): test|1036818244|test|lynx|127.0.0.1 - - - Это все. | Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 08:07 09-11-2002 | Исправлено: lynx, 06:07 29-06-2003 |
|