Потихоньку допиливая отправку сообщений по почте, обнаружил интересную вещь.
У нас в админке есть возможность задать паузу между "пакетами" рассылки, и эта величина записывается в параметр $xoopsconfig['send_pause'] (или $rcxconfig['send_pause']). И все бы ничего, если бы собственно класс mailer'а не искал совершенно другую переменную!
Убедиться просто: заходим в class/xoopsmailer.php (для ветки 1.х) или class/rcxmailer.php (для ветки 2.х соответственно) и в функции send() находим вот такую привязку:
для ветки 1.х:
PHP код:
$sleeptime = !empty($xoopsConfig['sleeptime']) ? intval($xoopsConfig['sleeptime']) : 2;
для ветки 2.х:
PHP код:
$sleeptime = !empty($rcxConfig['sleeptime']) ? intval($rcxConfig['sleeptime']) : 2;
А именно от $sleeptime рассчитывается пауза рассылочного скрипта при рассылке уведомлений с того же форума newbb_plus! Да и пауза для функции "email пользователям" из админки берется оттуда же.
Фиксится это безобразиЁ до неприличия просто: в строке определения переменной $sleeptime образения к переменной конфига 'sleeptime' заменяем на правильную переменную 'send_pause'.
Данный баг из разряда "совсем не критичен", ибо как видно из кода, без фикса пауза всегда будет равна 2м секундам, но ИМХО все-таки правильней его будет пофиксить.