Попытка исправить рассылку уведомлений.Рассылка уведомлений о новых темах и сообщениях не работала.
Текущий рейтинг темы: Нет
| pythagor
Новичок
Всего сообщений: 3 Рейтинг пользователя: -1
Дата регистрации на форуме: 15 нояб. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 9 декабря 2003 15:45
Я не уверен в своей компетентности на 100 %, поэтому прошу желающих испытать исправленные скрипты post.cgi topic.cgi и ikon.lib. Исправлена функция подписки и рассылки уведомлений о новых темах и сообщениях и отображение состояния в форме reply, которая выводится также и через скрипт topic.cgi Взять, а заодно посмотреть в работе можно здесь: http://www.gubaha.ru/notify.rar Спасибо. P.S. Повторяю, что в ikonmail.lib в конце строки 107: [B]print MAIL "Content-Type: text/plain; charset=\"$forumcharset\"";[/B] не стоит символ перевода строки, поэтому темы писем пустые.
| | | |
Gram
Модератор раздела
 Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 9 декабря 2003 17:17
pythagor, было бы лучше, если ты выложил не отдельные скрипты, а фиксы к ним... (потому что у многих файлы скриптов уже модифицированы)!
| | | |
| Yevg001
Новичок
Откуда: Jerusalem, Israel. Всего сообщений: 5 Рейтинг пользователя: 0
Дата регистрации на форуме: 22 сен. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 10 декабря 2003 19:11
По поводу print MAIL "Content-Type: text/plain; charset=\"$forumcharset\""; ты прав, появились заголовки... Но проблема с подпиской осталась... Неужели никто не сталкивался с этой проблеммой? Когда заходишь в подписку на рассылку и отмечаешь нужные темы, нажимаешь сохранить, форум говорит всё успешно сохран. потом заходишь опять в подписку а там не один ранее отмеченная тема не отмечена :((( сохраняется только подписка на новые темы, авт.подписка на новые темы. З.Ы. Кстати на этом форуме такая-же проблема. (Сообщение отредактировал Yevg001 11 дек. 2003 22:51)
| | | |
| Yevg001
Новичок
Откуда: Jerusalem, Israel. Всего сообщений: 5 Рейтинг пользователя: 0
Дата регистрации на форуме: 22 сен. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 11 декабря 2003 19:48
"З.Ы. Кстати на этом форуме такая-же проблема" Беру свои слова обратно... вроде сегодня заработало... Вобщем ничего не пойму на моем форуме это не работает, как не прыгай... ПОМОГИТЕ КТО НЕБУДЬ!!! Я то башня уже кипит....
| | | |
| 4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79
Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 12 декабря 2003 18:44
Странно. Я вроде вообще ничего не менял с того момента, как поставил хак закладок.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | | |
| Yevg001
Новичок
Откуда: Jerusalem, Israel. Всего сообщений: 5 Рейтинг пользователя: 0
Дата регистрации на форуме: 22 сен. 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 13 декабря 2003 0:03
Ув. ХХХХ Pro помоги разобратся, что это за баг? три ночи не сплю... весь сервак перебрал, ставил заново чистый форум - таже проблема, не хочет он подписывать на темы... просто не знаю что делать. (сервер под виндой 2003.) (Сообщение отредактировал Yevg001 13 дек. 2003 3:36)
| | | |
| 4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79
Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 13 декабря 2003 15:16
Ok, в ближайшее время (скорее всего, завтра) проверю.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | | |
Gram
Модератор раздела
 Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 28 декабря 2003 10:55
немного оффтоп  В файлах .mal храняться не только мемберы, которые подписаны на получение ответов, но и их мыла, что не есть гуд! А если юзер сменит у себя в профиле мыло???
| | | |
| 4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79
Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 29 декабря 2003 10:21
Согласен, что нехорошо, но так было сделано в оригинальной версии (вернее, там вообще только адреса и хранились). Но получать каждый раз профиль участника, чтобы отправить ему e-mail - тоже слишком большая нагрузка. А вообще, надо просто в profile.cgi сделать проверку: если новый адрес e-mail не совпадает со старым, то обойти все файлы .thd и провести замену.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | | |
Gram
Модератор раздела
 Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 29 декабря 2003 10:35
А еще кстати нужно сделать так, чтобы если юзер уже подписан на тему, то его данные повторно не добавлялись в *.mal . А то этот файл разрастается ужасно (одними и теми же строчками)
| | | |
Gram
Модератор раздела
 Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 30 января 2004 15:00
XXXX Pro Давай придумаем, как решить баг с подпиской, а то людям уведомления приходят и на старый ящик и на новый...
| | | |
| 4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79
Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 30 января 2004 16:22
Вообще, есть два решения: 1) нормальное - создать отдельный файл, в котором хранятся логины и e-mailы, и обновлять данные в нем при изменении профиля, а при рассылке - брать адреса из него, а в mal-файлах хранить только логины (именно так у меня и сделано в новом движке). Плюсы - надежно, быстро, достаточно открыть только два файла. Минусы - слишком много всего придется переделывать. 2) быстрый способ заткнуть дыру: каждый раз перед отправкой получать адрес e-mail из его профиля + фиксировать, не отправлялось ли этому пользователю уже сообщения (удобнее всего делать это с помощью хеша: if (!$sended{$membername}) { sending...; $sended{$membername}=1; } Недостатки: придется открывать кучу файлов, что может повысить нагрузку на сервер.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | | |
Gram
Модератор раздела
 Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 30 января 2004 21:04
Мы не ищем легких путей... ладно, я посмотрю, подумаю и поделюсь своими мыслями.. только чуть попозже....
| | | |
Gram
Модератор раздела
 Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 31 января 2004 15:52
Да... посмотрел я и подумал, что первый вариант самый геморойный - йж очень много там надо исправлять! Насчет второго вот что: в цикл foreach $dataline (@maildata) {<br> ($postersname,$posteremailaddress) = split(/\|/,$dataline);<br>....<br> добавить еще открытие файла membername.cgi
<br>$filename = $postersname;<br> $filename =~ s/ /_/g;<br>$filetoopen = "$ikondir" . "members/$filename.cgi";<br> $filetoopen = &stripMETA($filetoopen);<br> if (-e $filetoopen) {<br> open(FILE,"$filetoopen");<br> $filedata = <FILE>;<br> close(FILE);<br> chomp($filedata);<br> ($membername, $password, $membertitle, $membercode, $numberofposts, $emailaddress, $showemail, $ipaddress, $homepage, $aolname, $icqnumber ,$location ,$interests, $joineddate, $lastpostdate, $signature, $timedifference, $privateforums, $useravatar, $misc1, $misc2, $misc3) = split(/\|/,$filedata); ну а дальше вместо $toemail = $posteremailaddress; написать $toemail = $emailaddress; тогда мыло будет браться из профиля... и то мыло, которое будет стоять в *.mal - вообще нигде учитываться не будет... Хм.. кстати, я посмотрел щас на превый вариант и подумал, что идея прикольная - менять то не очень много придется... Если только дописывать...
| | | |
| 4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79
Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 31 января 2004 17:27
В общем, второй вариант ты правильно рассмотрел, только можно воспользоваться процедурой getmember (хоть что-то там сделано централизовано), а во-вторых - добавь еще ту проверку на уникальность, про которую я писал выше. А насчет того, что переделывать - немного, может ты и прав, но как быть с уже зарегистрированными пользователями? Их же тоже нужно будет в единый почтовый файл вписать, т.е. это отдельный скрипт придется делать.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | | |
Время выполнения скрипта: 4.9774. Количество выполненных запросов: 18, время выполнения запросов 4.9574
|