0

I have created a module which adds a new node(with user info) if a user is added. Now I want to implement a user_delete hook that deletes the node if the user is deleted. I don't know how to implement this.

This code adds a new node for new user:

function user_profile_user_insert(&$edit, $account, $category) {

    $node = new stdClass();
    $node->type = 'members';
    node_object_prepare($node);

    //dvm($account);
    $node->title = $account->name;

    $user_info = user_load($account->uid);

    $node->field_user["und"][0]["uid"] = $account->uid;


    $path = $account->name;

    $node->path = array('alias' => $path);

    node_save($node);
}
4

3 に答える 3

2

あなたが使用できるユーザーのために

$uidパラメータとして渡すuser_delete

ノードに関してはnode_deleteがあり、パラメータとして渡し$nidます。

また、ユーザーIDに基づいてノードを削除するには、この関数node_user_deleteがあります

于 2012-08-03T15:46:40.857 に答える
0

stop_spam_reg モジュールでユーザー reg スパムの問題を解決するまで、次のようにしてスパム アカウントを定期的に削除しました。

/devel/php

$query = db_select('users', 'u') ->fields('u', array('uid'));
$result = $query->execute();
foreach ($result as $record) {
    if( $record->uid>1){  //replace 1 with the latest valid uid you want to keep 
    user_delete($record->uid);
    }
}

ユーザー 1 を離れないように注意してください。そうしないと、スパム ユーザーよりも大きな問題が発生します :)

于 2015-12-14T11:46:30.083 に答える