2012-01-21 94 views
0

我正在使用auto assign role模塊將角色編輯器分配給任何通過「創建新帳戶」鏈接註冊的人。這工作得很好。drupal 6自定義雙模塊衝突

但是,編輯器角色的用戶可以創建不同角色類型的其他用戶。爲此,我正在使用uCreate模塊。

問題是編輯器創建用戶時,該用戶也會獲得編輯器角色。

我已經調查了一些鉤子以編程方式刪除不需要的角色,但沒有成功。 任何人都可以請建議我如何解決這個問題?

回答

1

當「編輯角色」用戶通過「uCreate模塊」創建用戶時,hook_user被稱爲駐留在「自動分配角色模塊」中,這是問題所在。

從「ucreate模塊行:299」的user_save函數調用hook_user「插入」參數「自動分配role.module文件」,沒有行155

case 'insert': // If this is an administrator creating the account only use auto_assign if // allowed by auto_admin_active if (arg(0) == 'admin' && _autoassignrole_get_settings('auto_admin_active') == 0) { return; }

下面的代碼檢查無論是admin用戶,如果它不是admin,那麼它將爲該用戶分配編輯角色。

相反,你可以創建自定義模塊,並實現hook_user和更改角色,當用戶在inserted.For更多信息,請參閱user_save in drupal 6

+0

感謝,hook_user正是我需要的是什麼! – sisko