РЕДАКТИРОВАТЬ после отдельного ответа от OP: Следующее основано на предположении, что $u->uid
относится к «стандартному» идентификатору пользователя Drupal, , что неверно! Итакнужно найти соответствующего пользователя Drupal другими способами, если это возможно - см. подробности ответа OPs об этом ...
Я не проверял его, но смотрю наисходный код автоответчика, вы должны иметь возможность добавить (пользовательскую) замену токена в функцию autoresponder_mail()
, вставив следующий код перед подготовкой тела простого текста (перед строкой 392 в выпуске 6.x-1.0-alpha1):
// load the full user object
$user = user_load($u->uid);
// Replace user tokens in mail body
$mail->body = token_replace($mail->body, 'user', $user);
В качестве альтернативы , вы можете сделать это одним вызовом функции ранее в autoresponder_cron()
, в цикле while ($message db_fetch_object($result_messages))
, перед вызовом if (autoresponder_mail($u, $message))
(строка 366), используя$ message вместо $ mail:
// load the full user object
$user = user_load($u->uid);
// Replace user tokens in mail body
$message->body = token_replace($message->body, 'user', $user);
В случае, если это работает, вы можете отправить его в виде патча к уже существующему запросу функции для этого .(Я полагаю, что вы - 'keyzo' / 'shane', который уже ответил там;)
Если это сработает и вы собираетесь создать патч, было бы "стандартной" практикой добавить подсказку о возможномзамена токена в формах определения сообщений в autoresponder_mail_edit_create_form()
.