Gram
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Ну вот я конечно сейчас хак этот написал, но писал я его под свою версию ПМ (очень похожая на супер ПМ, но написанная мною с нуля), а потому даже и не знаю что делать... trew, в общем я напишу приблизительный вариант по дефолтному Супер ПМ, а ты уж сам для своей версии переделаешь и если чего не понятно будет -- спрашивай! Поехали... Что из себя представляет хак: хак позволяет уведомлять пользователя о приходе ему личного сообщения. Фичи: уведомление на почту приходит в случае присутствия галочки Присылать уведомления о новых сообщениях? в профиле пользователя... дубликат сообщения в теле письма вставляется в случае присутствия галочки Присылать полный текст сообщения в уведомлении? в профиле пользователя... Теперь сам хак... Открываем скрипт отправки личных сообщений (messenger.cgi) и в самом начале ищем строчки: Код: require "ikon.lib"; # Require ikonboard () require "data/progs.cgi"; # Require prog names | Сразу после них вставляем: Код: require "ikonmail.lib"; # Require email func () | Далее ищем строчки Код: #### end - Check whether to include original msg or not ###### $filetoopen = "$ikondir". "messages/$memberfilename" . "_msg.cgi"; $filetoopen = &stripMETA($filetoopen); open (FILE, "$filetoopen"); @inboxmessages = <FILE>; close (FILE); | И перед ними вставляем код: Код: &getmember("$memberfilename"); if ($allowmailsend eq "yes") { $toemail = $emailaddress; chomp $toemail; $toemail =~ s/\\//g; $fromemail = $adminemail_out; chomp $fromemail; $fromemail =~ s/\\//g; $postersname = $memberfilename; $postersname =~ s/\_/ /g; $inmsgtitle =~ s/"/\"/g; $postdatemail = $currenttime + ($timedifferencevalue*3600) + ($timezone*3600); $postdatemail = &dateformat("$currenttime"); $to = $toemail; $from = "$boardname <$fromemail>"; $subject = "Извещение о новом Личном сообщении."; $pmmail = "$boardname "; $pmmail .= "$boardurl/$forumsummaryprog\n"; $pmmail .= "--------------------------------------\n"; $pmmail .= "$postersname, сообщаем, что вам пришло личное сообщение от "; $pmmail .= "$inmembername:\n"; $pmmail .= "Тема : $inmsgtitle\n"; $pmmail .= "Дата : $postdatemail\n"; if ($fullmsgtext eq "yes") { $pmmail .= "Текcт сообщения :\n"; $pmmail .= "--------------------------------------\n"; $pmmail .= "$inmessage\n"; } $pmmail .= "--------------------------------------\n"; $pmmail .= "Перейти к сообщению: "; $pmmail .= "$boardurl/$thisprog?action=inbox\n"; $pmmail .= "-----------------------------------------------------------------\n"; $pmmail .= "Вы получили это письмо, т.к подписаны на получение ответов по e-mail\n"; $pmmail .= "Вы всегда можете отключить рассылку у себя в профиле: \n"; $pmmail .= "$boardurl/$profileprog\n"; &sendmail($from, $from, $to, $SMTP_SERVER, $subject, $pmmail ); $pmmail = ""; $to = ""; $from = ""; $subject = ""; } | Ну вот вроде все У меня это все прекрасно работает...
| Всего записей: 388 | Зарегистр. 22-01-2004 | Отправлено: 03:39 19-01-2005 | Исправлено: Gram, 01:37 20-01-2005 |
|