Drupal hook_user停止执行

时间:2010-06-07 15:30:49

标签: drupal hook

每当用户更新其个人资料时,我都需要使用Drupal 6的“hook_user”来更新第三方API。

因此我使用'更新'操作。我面临的问题是,如果第三方API更新失败,我就无法看到如何停止执行。

即。用户更新其用户名,但如果API失败,请阻止Drupal更新本地记录。

function myhooks_user($op, &$edit, &$account, $category) {

    switch ( $op )
    {

        case 'update':

            if ( FALSE === updateAPI($data) )
            {
                drupal_set_message("Cannot update user information", "error", false);

                return false; 
            }

            break;
    }
}

目前,return false不会停止执行。

1 个答案:

答案 0 :(得分:2)

没有办法停止执行。

您应该可以使用db中的内容覆盖$edit。这样就不会有任何改变。我没有试过这个,但它应该可以正常工作。

为什么你要这样做呢?您可以在数据库中添加一行,然后使用cron在以后更新配置文件,以避免需要反复进行相同编辑的受挫用户。