Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Русский IkonBoard »   Форум поддержки русской версии IkonBoard »   Попытка исправить рассылку уведомлений.
RSS

Попытка исправить рассылку уведомлений.

Рассылка уведомлений о новых темах и сообщениях не работала.

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: GramПечать
 
pythagor
Новичок


Всего сообщений: 3
Рейтинг пользователя: -1





Дата регистрации на форуме:
15 нояб. 2003
Я не уверен в своей компетентности на 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
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
pythagor, было бы лучше, если ты выложил не отдельные скрипты, а фиксы к ним... (потому что у многих файлы скриптов уже модифицированы)!
Yevg001
Новичок


Откуда: Jerusalem, Israel.
Всего сообщений: 5
Рейтинг пользователя: 0





Дата регистрации на форуме:
22 сен. 2003
По поводу
print MAIL "Content-Type: text/plain; charset=\"$forumcharset\"";

ты прав, появились заголовки...

Но проблема с подпиской осталась...

Неужели никто не сталкивался с этой проблеммой?
Когда заходишь в подписку на рассылку и отмечаешь нужные темы, нажимаешь сохранить, форум говорит всё успешно сохран. потом заходишь опять в подписку а там не один ранее отмеченная тема не отмечена :(((
сохраняется только подписка на новые темы, авт.подписка на новые темы.

З.Ы. Кстати на этом форуме такая-же проблема.

(Сообщение отредактировал Yevg001 11 дек. 2003 22:51)

Yevg001
Новичок


Откуда: Jerusalem, Israel.
Всего сообщений: 5
Рейтинг пользователя: 0





Дата регистрации на форуме:
22 сен. 2003
"З.Ы. Кстати на этом форуме такая-же проблема"
Беру свои слова обратно... вроде сегодня заработало...

Вобщем ничего не пойму на моем форуме это не работает, как не прыгай...
ПОМОГИТЕ КТО НЕБУДЬ!!!
Я то башня уже кипит....

4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Странно. Я вроде вообще ничего не менял с того момента, как поставил хак закладок.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Yevg001
Новичок


Откуда: Jerusalem, Israel.
Всего сообщений: 5
Рейтинг пользователя: 0





Дата регистрации на форуме:
22 сен. 2003
Ув.  ХХХХ Pro
помоги разобратся, что это за баг? три ночи не сплю... весь сервак перебрал, ставил заново чистый форум - таже проблема, не хочет он подписывать на темы...  просто не знаю что делать.
(сервер под виндой 2003.)

(Сообщение отредактировал Yevg001 13 дек. 2003 3:36)

4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Ok, в ближайшее время (скорее всего, завтра) проверю.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
немного оффтоп ;)

В файлах .mal храняться не только мемберы, которые подписаны на получение ответов, но и их мыла, что не есть гуд! А если юзер сменит у себя в профиле мыло???

4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Согласен, что нехорошо, но так было сделано в оригинальной версии (вернее, там вообще только адреса и хранились). Но получать каждый раз профиль участника, чтобы отправить ему e-mail - тоже слишком большая нагрузка.
А вообще, надо просто в profile.cgi сделать проверку: если новый адрес e-mail не совпадает со старым, то обойти все файлы .thd и провести замену.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
А еще кстати нужно сделать так, чтобы если юзер уже подписан на тему, то его данные повторно не добавлялись в *.mal . А то этот файл разрастается ужасно (одними и теми же строчками) ;)
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
XXXX Pro
Давай придумаем, как решить баг с подпиской, а то людям уведомления приходят и на старый ящик и на новый...
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Вообще, есть два решения:
1) нормальное - создать отдельный файл, в котором хранятся логины и e-mailы, и обновлять данные в нем при изменении профиля, а при рассылке - брать адреса из него, а в mal-файлах хранить только логины (именно так у меня и сделано в новом движке). Плюсы - надежно, быстро, достаточно открыть только два файла. Минусы - слишком много всего придется переделывать.
2) быстрый способ заткнуть дыру: каждый раз перед отправкой получать адрес e-mail из его профиля + фиксировать, не отправлялось ли этому пользователю уже сообщения (удобнее всего делать это с помощью хеша: if (!$sended{$membername}) { sending...; $sended{$membername}=1; }
Недостатки: придется открывать кучу файлов, что может повысить нагрузку на сервер.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
Мы не ищем легких путей... ладно, я посмотрю, подумаю и поделюсь своими мыслями.. только чуть попозже....
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
Да... посмотрел я и подумал, что первый вариант самый геморойный - йж очень много там надо исправлять!

Насчет второго вот что: в цикл 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
В общем, второй вариант ты правильно рассмотрел, только можно воспользоваться процедурой getmember (хоть что-то там сделано централизовано), а во-вторых - добавь еще ту проверку на уникальность, про которую я писал выше.
А насчет того, что переделывать - немного, может ты и прав, но как быть с уже зарегистрированными пользователями? Их же тоже нужно будет в единый почтовый файл вписать, т.е. это отдельный скрипт придется делать.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Русский IkonBoard »   Форум поддержки русской версии IkonBoard »   Попытка исправить рассылку уведомлений.
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 4.9774. Количество выполненных запросов: 18, время выполнения запросов 4.9574