|
dekart
DaHost.Ru
Зарегистрирован: 2005-03-26
Сообщений: 81
|
При регистрации есть два типа пользователей: Тип1 и Тип2.
При регистрации пользователя с Тип1 - должно приходить письмо всем спец.Админам (группа 8), которые его подтвердят.
Код такой:
Код:";
if ($MODULE_VARS[auth][USER_CONFIRMATION]) {
$message_body = $db->get_var("SELECT Value FROM Auth_Settings WHERE SettingsKey = 'MailRegConfirmText'");
$message_subj = $db->get_var("SELECT Value FROM Auth_Settings WHERE SettingsKey = 'MailRegConfirmSubj'");
$IsHtml = $db->get_var("SELECT Value FROM Auth_Settings WHERE SettingsKey = 'MailRegConfirmIsHtml'");
$message_body = str_replace('%USER_LOGIN', $f_Login, $message_body);
$message_body = str_replace('%CONFIRM_LINK', $ConfirmationLink, $message_body);
$mailer = new CMIMEMail();
if ($IsHtml) $mailer->mailbody('', $message_body);
else $mailer->mailbody($message_body);
$mailer->send($f_Email, $system_env['SpamFromEmail'], $system_env['SpamFromEmail'], $message_subj, $system_env['SpamFromName']);
echo "На ваш почтовый ящик было выслано письмо со ссылкой для подтверждения регистрации.<br>";
}
if ($MODULE_VARS[auth][USER_PREMODERATION]) {
echo "Ваша учетная запись будет активирована после проверки администратора.<br>";
}
if (!$MODULE_VARS[auth][USER_PREMODERATION] && !$MODULE_VARS[auth][USER_CONFIRMATION]) {
echo "Регистрация прошла успешно.";
}
if ($MODULE_VARS['auth']['USER_REG_NOTIFY']) {
$body = "Зарегистрирован новый пользователь: \n\n"
.($f_Login ? "Логин: ".$f_Login."\n" : "")
.($f_ForumName ? "Имя пользователя: ".$f_ForumName."\n" : "")
.($f_TypeReg ? "Тип регистрации: ".$db->get_var("SELECT TypeReg_Name FROM Classificator_TypeReg WHERE TypeReg_ID=$f_TypeReg")."\n" : "")
.($f_Email ? "E-mail: ".$f_Email."\n" : "")
."IP: ".$_SERVER['REMOTE_ADDR'];
if($f_TypeReg==1){
$data=$db->get_results('SELECT `Email` FROM `User` WHERE `PermissionGroup_ID`=8');
$emailString='';
foreach($data as $elem) $emailString.=$elem->Email.',';
rtrim($emailString,',');
}
$mailer = new CMIMEMail();
$mailer->mailbody($body);
$mailer->send($f_TypeReg ? $emailString : $system_env['SpamFromEmail'], $system_env['SpamFromEmail'], ($f_Email ? $f_Email : $system_env['SpamFromEmail']), "Новый пользователь зарегистрирован", $system_env['SpamFromName']);
}
if ($_FILES[f_ForumAvatar][size]!=0 && $_FILES[f_ForumAvatar][type]!='')
{
global $nc_core;
require_once($nc_core->INCLUDE_FOLDER."classes/nc_imagetransform.class.php");
$photo_path = $DOCUMENT_ROOT.nc_file_path('User', $message, 'ForumAvatar', "");
if ($photo_path) nc_ImageTransform::imgResize($photo_path,$photo_path,92,92);
}
echo "
При регистрации пользователя со статусом Тип1 (со статусом Тип2 - нормально) на странице выводится сообщение:
-------------
На ваш почтовый ящик было выслано письмо со ссылкой для подтверждения регистрации.
Warning: Invalid argument supplied for foreach() in /********/netcat/add.php(241) : eval()'d code on line 36
-------------
Пользователи регистрируются, им приходит на почту подтверждение, НО никто из админов не получает письмо о регистрации пользователя.
Помогите, пожалуйста!
dekart
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Данная ошибка может выскакивать, если запрос "SELECT `Email` FROM `User` WHERE `PermissionGroup_ID`=8" не вернул ни одной записи, поэтому было б более правильно добавить проверочку на наличии записей в массиве $data.
А по хорошему прежде чем использовать какую-нить ф-ию, надо смотреть какие варианты она может вернуть и обрабатывать все эти варианты в последющем своем коде.
Temet nosce...
|