Mit dem folgenden Snippet ist es möglich, dass statt allen Administratoren nur einige wenige Administratoren diese Mail erhalten.
Wenn du einen Blick in die Datei includes/usercp_register.php wirfst, dann wirst du folgenden Code finden:
Code: Alles auswählen
else if ( $board_config['require_activation'] == USER_ACTIVATION_ADMIN )
{
$sql = 'SELECT user_email, user_lang
FROM ' . USERS_TABLE . '
WHERE user_level = ' . ADMIN;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select Administrators', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
$emailer->email_address(trim($row['user_email']));
$emailer->use_template("admin_activate", $row['user_lang']);
$emailer->set_subject($lang['Reactivate']);
$emailer->assign_vars(array(
'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $username), 0, 25)),
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
'U_ACTIVATE' => $server_url . '?mode=activate&' . POST_USERS_URL . '=' . $user_id . '&act_key=' . $user_actkey)
);
$emailer->send();
$emailer->reset();
}
$db->sql_freeresult($result);
}
Gleich am Anfang des obigen Codes findet eine SQL Abfrage statt, in der die Administratoren gesucht werden. Wenn wir hier nur nach den gewünschten Admins suchen, dann sollten die übrigen keine Mail mehr bekommen.
Ändere daher dieses Segment des obigen Codes:
Code: Alles auswählen
$sql = 'SELECT user_email, user_lang
FROM ' . USERS_TABLE . '
WHERE user_level = ' . ADMIN;
Code: Alles auswählen
$adminliste_empfaenger = '2,4,6';
$sql = 'SELECT user_email, user_lang
FROM ' . USERS_TABLE . '
WHERE user_level = ' . ADMIN . " AND user_id IN ($adminliste_empfaenger)";