ivank
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вот другой доморощенный хак на эту же тему: Это в forums.cgi После Код:Добавить: Код: # Notify button add $filetoopen = "$ikondir" . "forum$inforum/notify.mal"; open (FILE, "$filetoopen"); @maildata = <FILE>; close (FILE); if ($inmembername eq "Guest") { $forumnotify = ""; } else { #$forumnotify = qq~<a href="$threadprog?forum=$inforum&topic=$topicid¬ify=on">~; #$forumnotify .= qq~<img src="$imagesurl/images/notify.jpg" border="0" alt="Подписаться на уведомления о новых сообщениях в этой теме">~; $forumnotify = "<a href=\"$forumsprog?forum=$inforum¬ify=on\" title=\"Подписаться на уведомления о новых темах в этом форуме\"><img src=\"$imagesurl/images/notify.jpg\" border=0></a>"; } foreach $dataline (@maildata) { ($postersname,$posteremailaddress) = split(/\|/,$dataline); if ($inmembername eq $postersname) { #$forumnotify = qq~<a href="$threadprog?forum=$inforum&topic=$topicid¬ify=off">~; #$forumnotify .= qq~<img src="$imagesurl/images/notifyoff.gif" border="0" alt="Отключить уведомление">~; $forumnotify = "<a href=\"$forumsprog?forum=$inforum¬ify=off\" title=\"Отключить уведомления о новых темах в этом форуме\"><img src=\"$imagesurl/images/notifyoff.gif\" border=0></a>"; } } | А в post.cgi в sub add newthread после rebuildLIST(-Forum=>"$inforum"); Код: #### Уведомления о новой теме: $filetoopen = "$ikondir" . "forum$inforum/notify.mal"; open (FILE, "$filetoopen"); @maildata = <FILE>; close (FILE); $inpost =~ s/\<p\>/\n\n/g; $inpost =~ s/\<br\>/\n/g; $inpost =~ s/ / /g; $topictitle =~ s/"\;/\"/g; $topicdescription =~ s/"\;/\"/g; $message = qq~ --------------------------------------------------------------------- $currenttime $inmembername создал тему: Форум: $forumname Заголовок: $intopictitle Короткое описание: $intopicdescription Текст сообщения: ------------------------------------------ $inpost ------------------------------------------ Кликните, чтобы перейти в новую тему: $boardurl$threadprog?forum=$inforum&topic=$newthreadnumber Кликните, чтобы подписаться на новые сообщения в этой теме: $boardurl$threadprog?forum=$inforum&topic=$newthreadnumber¬ify=on --------------------------------------------------------------------- Вы получили это письмо, так как вы подписаны на получение извещений о создании новых тем в форуме \"$forumname\". для отписки кликните по ссылке ниже: $boardurl$forumsprog?forum=$inforum¬ify=off --------------------------------------------------------------------- ~; foreach $dataline (@maildata) { ($postersname,$posteremailaddress) = split(/\|/,$dataline); if ($postersname ne $inmembername) { &getmember("$postersname"); $toemail = $emailaddress; chomp $toemail; $toemail =~ s/\\//g; $fromemail = "$adminemail_out"; chomp $fromemail; $fromemail =~ s/\\//g; $to = "$toemail"; $from = "$boardname <$fromemail>"; $subject = "[$forumname] Уведомление о создании темы"; &sendmail($from, $from, $to, $SMTP_SERVER, $subject, $message ); } } #### Конец уведомлений. | Позволяет подписываться всем. Добавлено А может и недоморощенный а откуда-то стянут... Я уже и не помню. Хотя вроде сам делал, пользуясь thread-notify хаком как примером. Добавлено Ах да. В конце forums.cgi надо: Код: sub notifyoff { $filetoopen = "$ikondir" . "forum$inforum/notify.mal"; open (FILE, "$filetoopen"); @maildata = <FILE>; close (FILE); $new_row=""; foreach $mailline (@maildata) { ($postersname,$posteremailaddress) = split(/\|/,$mailline); if ($inmembername ne $postersname) { $new_row .= "$postersname|$posteremailaddress"; } else {next;} } if ($emailfunctions eq "on") { # start mail $filetomake = "$ikondir" . "forum$inforum/notify.mal"; open (FILE, ">$filetomake"); # flock (FILE, 2); print FILE $new_row; close (FILE);} } sub notifyon { if ($emailfunctions eq "on") { # start mail $filetoopen = "$ikondir" . "forum$inforum/notify.mal"; open (FILE, "$filetoopen"); @maildata = <FILE>; close (FILE); open (FILE, ">$filetoopen"); flock (FILE, 2); print FILE "$inmembername|$emailaddress\n"; foreach $line (@maildata) { chomp $line; print FILE "$line\n";} close (FILE); } } | А в начале после: Код: $inmembername = cookie("amembernamecookie"); $inpassword = cookie("apasswordcookie"); &getmember("$inmembername"); | Надо добавить Код: if ($notify eq "on") {¬ifyon; } if ($notify eq "off") {¬ifyoff;} | Вот. Добавлено Писалось всё на скору руку. Поэтому через ж...
| Всего записей: 553 | Зарегистр. 24-01-2002 | Отправлено: 23:08 17-05-2002 | Исправлено: ivank, 23:37 17-05-2002 |
|