|
来源:http://trac.seagullproject.org/wiki/Integration/FUDforum 介绍这个链接是http://www.wastetomarket.com/,如果你点击了论坛,你会发现我以我的seagull站点的header格式和CSS使用FUDforum。 事实上我所称的FUDforum并不是真的嵌入到Seagull中,而只是简单的集成以提供一个具有普通外观并允许注册,这样用户不会意识到他们正在使用不同的应用程序。这样做好像是已经达到目的了,但是要使用它还得花费一番工夫。 FUDforum 安装我分别在seagull/modules和seagull/www目录下创建了一个文件夹forum。然后运行FUDforum安装程序,让安装程序把FUDforum库文件放在seagull/modules/forum/FUDforum以保证其安全性,并将所有web可访问的文件放在seagull/www/forum。 集成模板我将FUDforum模板编辑成使用导入的CSS样式。CSS通过在我的论坛页面的header调用style.php导入,并添加forum成一个模块。部分代码如下(你可以在forum的html源代码中查看全部代码): style.php?navStylesheet=SglDefault?_MultiLevel&moduleName=forum 然后我打开FUDforum附带的forum.css文件另存为seagull/www/themes/myTheme/css/forum.php,这样我就可以使用var.php中的CSS变量以在forum中使用适当的颜色,因为当你在css请求中指定一个模块时seagull会试图在CSS文件夹中寻找一个以模块命名的php文件。 我也编辑了FUDforum的header模板–我在header放置了一个ID为sgl的div,并在sgl中嵌入了另一个名为header的div,它用来显示网站名称。所有#sgl,#header会应用到论坛的header部分,而不是另外创建一个风格。 集成导航我改变了论坛的导航菜单将它包含在seagull所提供ul/li结构中以符合样式的层次。 Single Sign On至于用户登陆部分,FUDforum提供了一个forum_login.php脚本。因为forum已经安装在seagull的目录结构中,所有可以直接调用。我是这么使用的: require SGL_MOD_DIR . '/forum/FUDforum/scripts/forum_login.php' 然后在LoginMgr管理类中调用论坛的login/logout函数–如果登陆成功,则创建一个cookie,退出时将它清除。 这个功能需要一个uid,如果你能将你的论坛userid #'s和你的seagull #'s同步,它会运行的和我的速度一样快(当有新的seagull用户注册或导入时,通过调用FUDforum的api来创建一个论坛用户,将两个用户表的sequence记录处于同一个水平,即ID是一样的)。这并不是最佳方法,而且并不是所有网站都可能这么做,所以你可能需要做一些事情如创建一个包含你的论坛userid's和seagull id's的参考表以跟踪这些信息。还有一点需要注意,FUDforum的api脚本包含一些微bug,我不得不继续跟踪以使它正常工作。 我仍然在清除一些东西,我不得关闭FUDforum的用户注册和登陆功能,因此一切事情通过Seagull网站处理。 – Clay Hinson More Single Sign On
$GLOBALS['PATH_TO_FUD_FORUM_GLOBALS_PHP'] = dirname(__FILE__).'/GLOBALS.php';
if (!defined('__request_timestamp__')) {
define('__request_timestamp__', time());
}
Single Sign On - Round 3
o 使用管理员设置你的FUD文件可写 o 编辑seagull/www/forum/theme/default/register.php
o 注释行1723 - 1729
{IF: fud_real_user}{TEMPLATE: quick_login_loged_in}{ELSE}{TEMPLATE: quick_login_on}{END}
|