我最近使用phpBB的3作爲後端的Drupal 7轉移a Flash/Perl card game和它一直運作良好,但我猶豫(重新)啓用論壇 - 因爲我舊址的一些用戶一直在嚇跑我。增加對他的登錄/刪除用戶角色 - 基於非Drupal的表
我想再次提供我的網站的論壇,但只給用戶,誰在玩足夠長的時間,在我的網站,並有足夠好的口碑。這兩個信息(有多少遊戲+聲望)由我的Perl遊戲維護,並保存在非Drupal表(但與Drupal表相同)中。我已經創建了受信任的Drupal用戶角色的用戶:
# select * from drupal_role;
rid | name | weight
-----+--------------------+--------
1 | anonymous user | 0
2 | authenticated user | 1
3 | trusted user | 2
(3 rows)
我可以修改2點在我的遊戲 - 在遊戲進行計數並在那裏的聲譽正在被改變 - 然後調用「插入/刪除其中users_roles where uid =?',但也許在Drupal有更好的地方,我可以更改用戶角色登錄?
I.e.一個用戶(重新)訪問我的網站,他的信譽和遊戲數量通過對我的非Drupal表的2個快速選擇查詢進行檢查,然後將其添加(或刪除 - 如果他的聲望降低)到受信任用戶的作用,並可以在論壇上寫。
謝謝! 亞歷
你好jdwfly,我試過hook_user_login,但它似乎只有當用戶提交他的密碼時纔會調用。我希望有一些其他的鉤子可用,例如,當用戶重新訪問Drupal 7網站,但不必輸入密碼,因爲餅乾仍然有效... –
這是真的,鉤只火當他們真正登錄時。您可以使用像Nikit建議的規則,並在查看頁面時觸發規則,然後您可以觸發您的自定義php。這顯然會在每個頁面視圖上運行,因此您需要確保優化它,以便在不需要時不進行查詢。 – jdwfly
您可以使用像hook_init()那樣早調用的任何鉤子,然後更改全局$用戶。 – Berdir