使用Cometchat& Rails在一起 - 这可能吗?

时间:2010-03-06 07:34:32

标签: php ruby-on-rails comet

我希望有人可以建议/指导/阐明:

我有一个使用Authlogic进行身份验证的rails应用程序。 我想将cometchat纳入这个应用程序 - (实际上任何聊天IM都可以 - 但是cometchat似乎很合适因为ajax-im不喜欢windows)

环境如下:rails应用程序正在Windows机器上运行 - 并且可供本地网络使用(无互联网) 所以为了能够使用cometchat - 我正在运行WAMP服务器。

进入php的细节(我完全不知道)

  

authlogic为我保留了我的用户会话。

但是为了让cometchat工作,我需要传递当前用户的getUserID函数。 (彗星聊天假设有一个php会话变量 - 但我没有这个用rails)

那么如何将rails会话用户传递给getUserID函数。

该函数如下所示: * function getUserID(){     $ userid = 0;

if (!empty($_SESSION['userid'])) {
    $userid = $_SESSION['userid'];
}
return $userid;

} *

下一个函数与朋友列表有关 - 但是我确定一旦有了当前用户,这可以通过php页面内的sql解决。

再次 - 欢迎所有和任何指导。即使它意味着另一种聊天解决方案。

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

akza,

您可以在Cookie中存储当前登录用户的用户ID(数字,非零,唯一,最好是您的用户表中的主键)'userid_for_cometchat'
并可以在PHP中以 $ _ COOKIE ['userid_for_cometchat'] 的形式访问它

所以 getUserID()应如下所示:

function getUserID() {
     $userid = 0;
     if (!empty($_COOKIE['userid_for_cometchat'])) {
            $userid = $_COOKIE['userid_for_cometchat'];
     }
     return $userid;
}

您需要在登录时创建此cookie,并确保在注销时销毁它。

这应该很好。

CometChat支持团队非常擅长做这些事情,他们为我做了很多自定义修改,我对他们的工作非常满意。