2010-02-26 41 views
6

Khi người dùng đăng ký tại trang Drupal, có một thông báo có thể cấu hình được mà Drupal sẽ gửi cho người dùng cho họ biết tên người dùng và mật khẩu của họ.Thông báo lại cho người dùng tài khoản trong Drupal

Tôi có khoảng 1.000 người dùng mà tôi đã nhập, nhưng vào thời điểm đó, tôi không muốn thông báo cho họ - nhưng giờ tôi đã làm. Có cách nào thông báo cho người dùng mà không cần nhập lại chúng không?

Tôi đã xem qua một số mô-đun mà tôi nghĩ có thể chứa hàm đó, nhưng tôi không thể tìm thấy nó?

Trả lời

2

Tất nhiên có một cách: Nếu bạn muốn làm điều này chỉ một lần, tôi khuyên bạn nên sử dụng một cách nhanh chóng n 'dễ dàng ... drupal_bootstrap(). Trong tệp php bên ngoài, hãy gọi hàm này để khởi động Drupal, sau đó tải người dùng và gửi thư email. Dưới đây là một pseudo-code:

<?php 
// ... 

// Change directory to Drupal root 
chdir(../../); 

// Bootstrap Drupal 
require './includes/bootstrap.inc'; 

// You might want to pass DRUPAL_BOOTSTRAP_DATABASE instead 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

$db_result = db_query('SELECT * FROM {users}'); 

while ($user_object = db_fetch_object($db_result)) { 
    // TODO: Use drupal_mail() to send desired emails 

    // User Name: $user_object->name 
    // User Email: $user_object->email 

    // Don't forget to pass 'em through the check_plain() 
    // ... 
} 
// ... 

Đọc thêm tại Drupal API: drupal_mail()drupal_bootstrap().

+1

Chỉ cần tò mò, điều này sẽ cho phép bạn gửi email cho người dùng mật khẩu của mình (như câu hỏi được hỏi)? –

+6

Sử dụng điều này, chúng tôi có thể gửi cho người dùng mật khẩu mới, chứ không phải mật khẩu được lưu trữ. Ngoài ra, chúng tôi có thể tạo một URL đăng nhập tự động có chứa một băm, cho phép người dùng đặt lại mật khẩu của họ làm drupal theo mặc định. – sepehr

Các vấn đề liên quan