2012-10-30 96 views
2

我需要將當前登錄的WordPress 3.2.4用戶的顯示名稱傳遞給PhpFreeChat 2.0.4。實現這一目標的途徑似乎是通過使用PhpFreeChat鉤子功能爲WordPress用戶提供當前用戶名。將登錄WordPress用戶傳遞給phpfreechat

在我PhpFreeChat config.local.php我:

<?php 
    $GLOBALS['pfc_hooks']['pfc.before.auth'][5] = function ($app, $req, $res) { 
    return function ($hr) use ($app, $req, $res) { 
     $username = ""; 
     foreach($_COOKIE as $key => $value) { 
      if(preg_match('@^[email protected]', $key)) { 
       $cookie = explode('|', $_COOKIE[$key]); 
       $username = $cookie[0]; 
      } 
     } 
     $hr->login = $username; 
     }; 
}; 

從我已閱讀,這應該傳遞的用戶名當前登錄的WordPress用戶當它推出PhpFreeChat。

這似乎不工作,因爲沒有用戶名顯示在聊天中。

如果我用cookie解析代碼創建一個.php頁面,它確實給我一個值。

任何人都可以提出任何其他方法?有沒有辦法從WordPress模板中將用戶名傳遞給PhpFreeChat?

回答

1

該代碼實際上只是缺少一個右括號)。

代碼本身工作正常。我會在這裏留下問題,因爲它可能對其他人有用。

2

由於phpfreechat-2.0.5,該pfc.before.auth鉤被重構,所以你必須去適應你的代碼一樣,(注意return $username末):

<?php 
    $GLOBALS['pfc_hooks']['pfc.before.auth'][5] = function ($app, $req, $res) { 
    return function() use ($app, $req, $res) { 
     $username = ''; 
     foreach ($_COOKIE as $key => $value) { 
     if (preg_match('@^[email protected]', $key)) { 
      $cookie = explode('|', $_COOKIE[$key]); 
      $username = $cookie[0]; 
     } 
     } 
     return $username; 
    }; 
    }; 
相關問題