开源应用系统Phpbb集成技术研究

2015-06-11 12:18朱琳
湖北工业职业技术学院学报 2015年2期
关键词:数组字段开源

文献标识码:A

文章编号:2095-8153(2015)02-0111-02

收稿日期:2015-01-16

作者简介:朱琳(1980-),男,郧阳师范高等专科学校教务处讲师,研究方向:图像处理,web网站开发。

一、论坛软件Phpbb的集成思路

1.开源论坛软件Phpbb的含义

Phpbb是一款应用十分广泛的开源性论坛软件,其用户群比较庞大,用户使用界面比较友好,FAQ和管理的版面也简单易懂,可以选用MySQL等数据库,在短时间内建立属于自己的论坛。对于应用系统来说,其最重要的就是用户资源,可以通过用户的注册和登陆,来对用户进行身份认证,从而使得不同用户像是在对同一款应用进行操作,对用户登录系统之后,可以获得系统自动产生的认证,获得认证的令牌,以便于下一次自动登录。

2.实现开源应用系统Phpbb集成的初步探究

在开源应用系统Phpbb的具体实现上,可以在进行注册时使用比较简单的直接映射的方式,把不同用户进行注册的信息录入一个统一数据库,也可以把用户信息统一录入到其他数据库,但是需要注意的是两个不同系统使用的账户和密码必须是一致的。这样才可以保证当用户登陆系统之后,可以把自己的账号和密码进行加密写进cookie,并且可以返回给具体用户作为进行认证的令牌,当用户进行系统切换时,可以直接从cookie获得自己的账户和密码。

二、对论坛软件Phpbb的相关分析与探究

1.用户的注册过程及相应的分析

Phpbb用户的数据表一般是hpbb—users,其中包括user—password和user-name等72个有效字段,论坛用户进行注册的过程是从ucp.Php开始的,然后通过调用$module一>load(’ucp register’)$mod⁃ule>display($user->ng[’REGISTER’])来进行注册页面的显示。

其具体注册信息进行处理的过程可以表示为:

第一步:ucp.Php的用户数日注册基本信息。

第二步:ucp—register.Php通过调用函数re⁃quest_var()来获得输入的信息,然后将获得的信息保存到$data数组。

第三步:ucp_register.php调用validate—data()函数,做出输入合法性的判断。

第四步:ucp_register php适当修改data数组的值,并增加相应的用户信息存储到$userrow数组。

第五步:ucp register.php调用functions_user.php的user—add()函数,并且把新的用户信息传到函数中。

第六步:functions—user.php调用utl8 clean_string()函数,把用户名转成小写。

第七步:functions—aser.php使片j$sql—ary数组存储按用户表要求修改后的用户信息,并且添加缺少的项。

第八步:functions—user.php调用sql—build_ar⁃ray(‘INSERT’,$sql_ary)和sql query($sql),自动处理字符串和检查其类型,并且插入用户表。

2.用户信息修改的途径

在uep.Php上调出显示用户信息的页面,然后在页面上输入用户需要进行修改的信息,然后提交到uep—profile.Php进行数据的处理。并且用户进行修改的信息都会自动保存到$data[]的数据组中,然后进过系统合法化的检查,检查完成之后,自动储存到$sql—ary[]数据组中,系统通过函数的调用,如build—array(‘UPDATE’,$sql—ary)和sql—query($sql),然后再把$sql—ary[]中的数据在网站Phpbb—users的注册用户列表中进行相应的更新。

三、对开源应用系统Phpbb实现集成的探究

1.进行单点注册和修改相应信息的完成

(1)相关文件的变动

例如functions—user.Php文件的变动。在进行Phpbb注册的过程中,在数据表Phpbb—users中最后填写的数据是自动保存在$sql—ary数组中的数据,所以,如果注册用户希望在进行Phpbb注册的过程中,可以把自己的注册信息自动输入到Dolphin用户表的profiles中,并且可以在这一文件中functions_us⁃er.Php添加一些进行信息存储的Ssql—aryl数据组,并且可以把用户数据自动插入到profiles表的IN⁃SERT语句中,由于有些用户数据在Phpbb_users和Dophin中的rofile数据可能会有所不同,所以就需要对出现的hpbb—users中profiles没有数据的现象进行忽略,并且可以对Phpbb—users中没有出现的字段,而在profiles中出现的字段采用默认值的方式。

对需要按profiles用户表进行要求性景象定义的$sql_aryl数组在functions—user.Php的文件中,在$sql—ary数组后面添加一些保存数据所需要的$sql_aryI数组:

$sql_aryl=array(//保存profiles表所需的数‘NickName=>$user_mw

[‘U$elTlame’]//名字‘Password’=>(isset($us⁃er—row[‘user—pass—word’]))?Suser_row[‘user password’]:”//密码‘……//其他字段等);

(2)一些文件的改动

例如join.Php这一文件的改动在join.Php这一文件中,对于相应增加的Phpbb用户进行注册过程中需要进行存储的有关数据的改动和把相关的数据插入到Phpbb—users的INSERT语句中。由于Dophin用户表的profiles与Phpbb用户表的Phpbb—users基本上完全不一样,所以,针对在profiles中出现而在Phpbb—users中未出现的数据和字段进行相应的忽略,并且对profiles中没有出现而在Phpbb—users中出现的数据和字段要采取默认的形式。

例如)ucp_profile.Php的文件改动

为了达到用户信息一致的目的,Phpbb系统在对注册用户信息进行修改时,可以在Dolphin用户表中对相应的信息进行修改。修改方法:首先在ucp~profile.php文件中增加上述数据$sql—aryl;其次增加以下更新profiles用户表的语句:

$sql=”UPDATE profiles SET”.$dk>sql—build—array(‘UPDATE’,$sql—aryl).“WHERE NickName=”’. $user->data[‘user-ame’].””’;$db一>sql_query (Ssql);

2.如何实现单点登录

一般用户在登陆了一个系统之后,可以将用户名和使用md5()进行相应的加密之后,再进入cook⁃ie来对密码进行设置,并且可以会提交给注册用户,以此作为用户进行系统切换的令牌。当用户需要切换到其他系统时,可以从cookie中获得与自己有关的账号和密码,并且可以查找在数据库中进行设置的原始密码,如果和原密码的值相同,则可以进行访问。

四、结束语

经过上述的变动,注册用户就可以通过单点注册的方式在不同的系统登录,用户可以在两个不同系统间进行自由更换,并且不需要重复输入用户名和密码。

Research on Open Source Application System Phpbb Assembly Technology

ZHU Lin (Yunyang Teachers’College, Shiyan 442000, China)

Abstract: Phpbb ,as a separate application software, should complete software assembly to meet all the demands of users. This paper studies the design and realization of Phpbb assembly of open source application system.

Key words: open source application system ; Phpbb ; assembly technology

猜你喜欢
数组字段开源
图书馆中文图书编目外包数据质量控制分析
JAVA稀疏矩阵算法
JAVA玩转数学之二维数组排序
五毛钱能买多少头牛
Excel数组公式在林业多条件求和中的应用
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
开源计算机辅助翻译工具研究
寻找勾股数组的历程
CNMARC304字段和314字段责任附注方式解析