登录 注册

登录

问题 Discuz

更多
2008年09月13日 08:01 - 2008年09月15日 11:44 #1 作者: kolidon
kolidon 创建了话题: Discuz
近日发现有人提供了drupal模块用于整合discuz。
而大家对joomla与discuz的整合呼声越来越高(数年前即有mambochina站长开发的整合组件)。

作者近日开始某个项目,顺带完成了此整合功能,近一个月以来测试运行良好。
感谢comsenz推出的Ucenter,代码非常短,亦无需修改任何现有核心代码。
从今天凌晨三点到现在,对这些程序作了简单整理,现放出以利诸Joo友。


主要特点:

1. 采用Ucenter API接口,标准化用户操作,代码简洁;
2. 支持与所有其他基于Ucenter的应用互操作,如Discuz,Supesite, EcShop等,各类操作均可通过Ucenter自动同步至Joomla;
3. 采用Joomla常用组件CB提供的插件功能,实现用户注册、登录、注销、改名、改密全站同步到Ucenter应用。
4. 以此为基础,站内短消息、积分系统、头像同步等仅需三至五小时的编码工作;
5. 未来将完善对Joomla1.5的支持;
6. 永久免费并将因应需求制作更多周边扩展。

安装简单至数步:
1. 请常规安装Discuz (Ucenter版本),Ucenter服务器端(参照comsenz.com站点ucenter安装配置说明),Joomla+CB组件;
2. 确保joomla与ucenter中用户名, 用户id不重复;
3. 修改Joomla中配置文件configuration.php,使其底部包含ucenter客户端配置参数如下
define('UC_CONNECT', 'mysql');                // 连接 UCenter 的方式
define('UC_DBHOST', 'localhost');            // UCenter 数据库主机
define('UC_DBUSER', 'dbuser');                // UCenter 数据库用户名
define('UC_DBPW', 'dbpass');                // UCenter 数据库密码
define('UC_DBNAME', 'dbname');                // UCenter 数据库名称
define('UC_DBCHARSET', 'utf8');                // UCenter 数据库字符集
define('UC_DBTABLEPRE', 'dbname.uc_');  // UCenter 数据表前缀
define('UC_DBCONNECT', '1');                // UCenter 数据库持久连接

define('UC_KEY', 'dsafasdfwer42141235fgvgd'); // 与 UCenter 的通信密钥
define('UC_API', 'zhonghuayixue.com/ucenter');   // UCenter  URL
define('UC_CHARSET', 'utf-8');                // UCenter 的字符集
define('UC_IP', '58.30.16.108');               // UCenter 的 IP
define('UC_APPID', 3);                    // 当前应用的 ID

4. 将Ucenter安装包中的uc_client目录解压至joomla根目录下;
5. 将如下文件api/uc.php放置在  joomla根/api/uc.php,此文件实现版本1功能,即Ucenter到Joomla的同步;
6. 在CB组件中安装cb插件 plug_cbucentertreeber.zip,启用此插件,此插件实现版本2功能,即Joomla同步至Ucenter;
7. 修改/com_comprofiler/comprofiler.php文件:
– 查找onAfterUserUpdate这一行,原代码为:
  $_PLUGINS->trigger( 'onAfterUserUpdate', array($row, $rowExtras, true));
– 请改为
  $_PLUGINS->trigger( 'onAfterUserUpdate', array($row, $rowExtras, true, $_POST["password"]));

修改/administrator/components/com_comprofiler/admin.comprofiler.php文件,注意触发器名略有不同(在CB1.2RC2中这仍然是两个不同的触发器):
$_PLUGINS->trigger( 'onAfterUpdateUser', array($row, $rowExtras, true))
– 请改为
$_PLUGINS->trigger( 'onAfterUpdateUser', array($row, $rowExtras, true, $_POST["password"]))

8. 请测试。

动作                在应用中操作
                ucenter        joomla        discuz        supesite
用户注册        通过        通过        通过        通过
用户登录        通过        通过        通过        通过                !!新注册用户,需先在论坛中激活后supesite中方可登录(注1)
用户注销        通过        通过        通过        通过               
用户资料更改        未通过        通过        通过        通过                此处ucenter中能更改email,但测试未通过(注2)
用户昵称更改        通过        未通过        未通过        未通过                !!凡涉及到用户名昵称更改的操作,请只在ucenter中更改(注3)
用户密码更改        通过        通过        通过        通过                此处包括更改资料时同时更改密码或单独更改密码(注4)
删除用户        通过        通过        通过        通过


* 注1:若有安装supesite/xspace,请务必提示用户先在论坛中激活再使用supesite。另,若使用google chrome浏览器登录,少数情况可能点击个人资料暂不存在,但此类情况重现率很低,有待研究CB1.02代码
* 注2:ucenter中更改的Email在各应用中均不见更新,discuz中email亦不会更改但在应用中更改email则能反馈至ucenter中。提请诸位慎用,有待官方解释或分析代码。
* 注3:但相对其他类别之操作亦有明显延迟,详见官方http://www.discuz.net/thread-1038512-1-1.html,有待进一步解释
* 注4:comprofiler更改资料及密码分为前台后台,均测试成功。


总结(再次提醒):
1.请不要使用joomla后台自带的用户资料更改功能更改用户名或密码——那不会同步更新至ucenter,确保使用CB组件的用户管理功能或其他应用程序。
2.更改昵称请慎行,至少确保在ucenter中更改
3.更改email地址请慎行,请在某一应用中更改
4.当前已经可以用于生产系统,但若在某个时候需要永久取消ucenter的挂接,则可能出现如下情况:
   部分在挂接前注册的且挂接后未登录的用户数据仍存在于ucenter系统而未同步至joomla中(似乎也不是什么问题)。

期待Ucenter开发团队能改善ucenter中更新用户email后的通告及提供从应用中广播更新ucenter用户昵称的功能。

任何问题,请在此帖下回复或移步至作者主页留言 blog.treeber.net
若有修订版本,若不介意,请释出后给顺手给作者发一个邮件以供瞻仰。

六年Web开发经验,多年CMS开发经历,当前主要兴趣在Joomla/drupal及框架研究,对基于JS框架的开发亦有关注,欢迎合作开发(出于兴趣或商业应用均可)。

附件如下:
抱歉,部分用户反应若版本有细微差别将致问题,已经添加更详细说明,现重新放上,敬请重新下载。

最后修改: 2008年09月15日 11:44 由 squallffviii.

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月13日 10:44 #2 作者: ufonba
我觉得这是JOOMLA融入国内的一个飞跃.这样走下去的话,JOOMLA在国内将会更加受欢迎.

这个 E-mail 受反垃圾邮件程序保护,您需要启用 JavaScript 才能查看。
文件附件:

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月13日 11:59 #3 作者: kmars
感谢kolidon 的辛勤劳动和探索!

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月13日 22:01 #4 作者: eric2008
太感谢楼主了!!

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月13日 23:49 #5 作者: jackyking
谢谢lz的分享,开始开发相关的模块吧,开始整合尝试整个dz

文件附件:

本站维护下列组件汉化
  • Community Builder 1.2RC4 Qcontacts
  • uddeIM 1.6  Custom Properties Alphauserpoints
  • JomComment JComments JFusion

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月15日 12:00 #6 作者: kolidon
kolidon 回复了话题: Re: Discuz
这个核心文件都基本未改,因此,亦不需要额外的模块。
——提请注意,安装CB1.0.x后肯定是要用专门的支持CB组件的登录模块的。

主要利用的是CB的完整的触发器支持达致目标。

而分析Drupal,Xoops的项目,发现他们走得也并不远,有若干困难问题一样没有解决。

目前来说功能应该够用了。

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月15日 19:21 #7 作者: jackyking
说的是在首页或者joomla某个模块显示dz信息的一些模块

另外lz的插件我做了一些简单的修改,可以安装在joomla 1.5+CB 1.2RC2中,功能方面正在测试,谢谢lz的工作

文件附件:

本站维护下列组件汉化
  • Community Builder 1.2RC4 Qcontacts
  • uddeIM 1.6  Custom Properties Alphauserpoints
  • JomComment JComments JFusion

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月16日 03:51 #8 作者: kolidon
kolidon 回复了话题: Re: Discuz
谢谢你的工作。
正好这几天忙着应聘,就等你的这个for joomla1.5的版本吧。
等哪天有空时讨论一下里面的几个疑难哈。

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月16日 10:40 #9 作者: hpzweb
如果有joomla与PHPBB3.0论坛整合的内容就好了

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月16日 10:48 #10 作者: yuei
很強大,感謝樓主用心

期待for1.5的版本出現

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月16日 10:56 #11 作者: ufonba
其实我对PHPBB并不是非常有好感,毕竟看惯了DZ,虽然外国的论坛在程序上做得非常好,但进入中国就水土不服了,就好像是百度比谷歌在中国成功一样.

这个 E-mail 受反垃圾邮件程序保护,您需要启用 JavaScript 才能查看。
文件附件:

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月19日 23:13 #12 作者: Joomla之门
感谢 kolidon 的分享!我已经给你加分。

其实,每个人都可以给其他人增加积分(声望)。如果大家觉得哪个朋友的帖子有价值,就请给他加分吧!

同样期待 kolidon 针对 Joomla! 1.5 的桥接器!

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年09月24日 01:30 #13 作者: pdalink

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年10月23日 23:30 #14 作者: 忧伤b小调
  国内用DISCUZ的产品的还是挺多的,DISCUZ的论坛确实挺好用,如果能和强大的joomla 1.5整合的话,肯定很多人都会选择joomla程序.

我看过一篇文章说joomla 1.5可以整合Ucenter,discuz.我试了一下,没搞好.可能自己太笨的原因.

希望有整合好的朋友,来指教一下.

也希望技术好的朋友们,能开发一个这样的桥接器.我相信国内的高手还是有的.为伟大的华人做点贡献吧!

谢谢.

真实打造华人最大暗黑艺术网站: www.cnhell.com 采用joomla! 2.5 搭建

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年02月21日 10:37 #15 作者: 山人
山人 回复了话题: Re: Discuz
赞一个!
顺便讨论一下
大家有没有用过phpwind的论坛?
山人最近在本地安装了各种论坛
phpwind似乎比discuz速度更快

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年02月23日 11:58 #16 作者: duo_chai_2009
joomla能否与discuz论坛实现同步登入登出?
看了discuz 实现同步登入的方法,但不知怎么应用到joomla上,毕竟两个软件的实现原理,及结构完全不一样,
这个问题困惑了好久,希望白老师及所有知道的朋友,帮帮忙,给给建议,感激不进...

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年02月24日 15:46 #17 作者: duo_chai_2009
我的帖子,怎么没人跟进啊,
知道的朋友,帮帮忙啊....

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年03月13日 19:33 #18 作者: 果农
果农 回复了话题: Re: Discuz
hoping.net.ru
登录、注销等已经完成,通过ucenter来实现。

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年03月13日 20:11 #19 作者: yooyooh
yooyooh 回复了话题: Re: Discuz
呵呵,hoping总带给人hope,刚下载使用了你的dropdownTOC,期待你更多的佳作啊!

Every man dies, Not every man really lives.

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年03月14日 10:04 #20 作者: 果农
果农 回复了话题: Re: Discuz
惭愧惭愧,dropdownTOC的插件老白催着改已经很久了,一直没有动手

登录 或者   注册一个会员帐号 来参与讨论