发新话题
打印

[05.12.2重要更新]Mambo与Discuz整合(解决M中无法管理用户问题)

引用:
原帖由 wl82118 发表
新手请教一下。我有的discuz2.5F,在logging.php 87行没有看到“$sessionupdated=0;”;在logging.php 21行也没看到“$styleid = $_DCACHE['settings']['styleid'];”;我该怎么做?! :
在 logging.php :
复制内容到剪贴板
代码:
$db->query("UPDATE $table_members SET lastvisit=lastactivity, lastactivity='$timestamp'
下加入原87行下应加入的代码.

styleid = $_DCACHE['settings']['styleid'];”;这行应该有,你搜索一下

TOP

“$db->query("UPDATE $table_settings SET lastmember='$username', totalmembers=totalmembers+1";”这一句又找不到了。。。。。 :cry:  :cry:
我实在是不会改了,哪位达人能给我一个改好了的吗?我的discuz放在bbs这个文件夹里。我拿改好的和原来的对比学习。谢谢register,logging,我用的2.5f版

TOP

引用:
原帖由 wl82118 发表
“$db->query("UPDATE $table_settings SET lastmember='$username', totalmembers=totalmembers+1";”这一句又找不到了。。。。。 :cry:  :cry:
我实在是不会改了,哪位达人能给我一个改好了的吗?我的discuz放在bbs这个文件夹里。我拿改好的和原来的对比学习。谢谢register,logging,我用的2.5f版
不是吧?!!!!偶的就是2.5的啊,奇怪啊!!

对了,如果用户忘记密码时取回密码尚需更改member.php

复制内容到剪贴板
代码:
        $query = $db->query("UPDATE $table_members SET password='$password', identifying='' WHERE uid='$uid'");
下加入
复制内容到剪贴板
代码:
//Hacked for Mambo begin
$db->query("UPDATE mos_users,cdb_members SET mos_users.password='$password'  WHERE mos_users.username=cdb_members.username and cdb_members.uid='$uid'");
//Hacked for Mambo end

TOP

我的意思是在register.php找不到$query = $db->query("UPDATE $table_members SET password='$password', identifying='' WHERE uid='$uid'";
这一句。痛苦啊。。。。。

TOP

abbox兄,能不能把你的Mod_Login,Login和Register上传给我借鉴一下,谢谢

TOP

在register.php中找不到“$db->query("UPDATE $table_settings SET lastmember='$username', totalmembers=totalmembers+1";”我用的是Discuz 2.5FSP1

TOP

Re: [重要更新]Mambo与Discuz整合(解决M中无法管理用户问题)

引用:
原帖由 fishwood 发表
1、在Discuz的Loging.php和Regsiter.php里登陆成功处加上hoping的登陆代码,这样,在Discuz里面登陆成功后也同时登陆了Mambo。
在logging.php 87行“$sessionupdated=0;”后加上:
复制内容到剪贴板
代码:
$basePath ="../"; //注意,此处为discuz所处的目录,我的Discuz和Mambo同目录。
define( "_VALID_MOS", 1 );
require("../configuration.php");
if(!class_exists("mosMainFrame")){
include("../includes/mambo.php");
}
$database = new database( $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db, $mosConfig_dbprefix );
$mainframe = new mosMainFrame( $database, 'login', $basePath);
$acl = new gacl_api();
$mainframe->initSession();
$mainframe->login($discuz_user,$discuz_pw);
//Hacked for Mambo end       
在Discuz里面Logout处还要加上Hoping的登陆注销代码。
在logging.php 21行“$styleid = $_DCACHE['settings']['styleid'];”后加上:
复制内容到剪贴板
代码:
//Hacked for Mambo begin
$basePath ="../"; //注意,此处为discuz所处的目录,我的Discuz和Mambo同目录。
define( "_VALID_MOS", 1 );
require("../configuration.php");
if(!class_exists("mosMainFrame")){
include("../includes/mambo.php");
}
$database = new database( $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db, $mosConfig_dbprefix );
$mainframe = new mosMainFrame( $database, '', $basePath);
$acl = new gacl_api();
$mainframe->initSession();
$mainframe->logout();
$mainframe->initSession();
//Hacked for Mambo end       
在register.php第185行“setcookie('_discuz_pw', $discuz_pw, $timestamp + 2592000, $cookiepath, $cookiedomain);”后加上
复制内容到剪贴板
代码:
//Hacked for Mambo begin
$basePathccd ="../"; //注意,此处为discuz所处的目录,我的Discuz和Mambo同目录。
define( "_VALID_MOS", 1 );
require("../configuration.php");
if(!class_exists("mosMainFrame")){
include("../includes/mambo.php");
}
$database = new database( $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db, $mosConfig_dbprefix );
$mainframe = new mosMainFrame( $database, '', $basePathccd);
$acl = new gacl_api();
$mainframe->initSession();
$mainframe->login($discuz_user,$discuz_pw);

//Hacked for Mambo end
2、在Discuz写入用户数据库的地方同时写入Mambo用户数据库。这样,在Discuz注册的用户同时也在Mambo里面注册,这里,我事先已经把Discuz和Membo数据库(前缀为mos_)装在一个表内。
在register.php157行“$db->query("UPDATE $table_settings SET lastmember='$username', totalmembers=totalmembers+1";”后加上:
复制内容到剪贴板
代码:
//Hacked for Mambo begin
        $db->query("INSERT INTO mos_users (name,username, password, registerDate, LastvisitDate, email,usertype,gid)
                VALUES ('$username', '$username', '$password', '$timestamp', '$timestamp', '$email','','18')");
$query =$db->query("SELECT name,id FROM mos_users where name='$username'");
$thread = $db->fetch_array($query);
         $db->query("INSERT INTO mos_core_acl_aro ( section_value,value,order_value,name,hidden)
VALUES ('users', '$thread[id]', '0', '$username', '0')");
$query =$db->query("SELECT name,aro_id FROM mos_core_acl_aro where name='$username'");
$thread = $db->fetch_array($query);
$db->query("INSERT INTO mos_core_acl_groups_aro_map(group_id,section_value,aro_id)
VALUES ('18','', '$thread[aro_id]')");
//Hacked for Mambo end
改写用户个人资料时也同时改写Mambo用户资料。
在memcp.php188行“                        dateformat='$dateformatnew', pwdrecover='', pwdrcvtime='' $avataradd $newpasswdadd WHERE username='$discuz_user'";”后加上
复制内容到剪贴板
代码:
//Hacked for Mambo begin
$db->query("UPDATE mos_users SET name ='$discuz_user',email='$emailnew',password='$newpassword'  WHERE username='$discuz_user'");
//Hacked for Mambo end
3、取消Discuz的自带Mod_Login,换上Discuz的Login和Register代码。
简易的Discuz_Login_Mod见附件,可以安装。
这样,两个系统只使用Discuz的登陆注册,功能比Mambo的更强大。
请大家测试,如问题请回此贴。
重要更正:附件登陆Mod中PHP文件有误,打开后,用你的Discuz所在目录去更换其中的“.jxtvnet/”。因为我的Discuz目录是网站根目录下的这个目录,发布时忘记清除了。抱歉。
3、取消Discuz的自带Mod_Login,换上Discuz的Login和Register代码。???i don't know what you real mean?

TOP

引用:
原帖由 wl82118 发表
abbox兄,能不能把你的Mod_Login,Login和Register上传给我借鉴一下,谢谢
我的mambo 表前缀是f2,你注意修改一下,

偶用的就是discuz2.5,有兴趣的话可以去看看:

http://www.szqmh.com
附件: 您所在的用户组无法下载或查看附件

TOP

引用:
原帖由 adbox 发表
引用:
原帖由 wl82118 发表
abbox兄,能不能把你的Mod_Login,Login和Register上传给我借鉴一下,谢谢
我的mambo 表前缀是f2,你注意修改一下,

偶用的就是discuz2.5,有兴趣的话可以去看看:

http://www.szqmh.com
非常感谢!!

TOP

什么意思啊?那我在mambo注册的用户,在论坛中可以用么?

TOP

Re: [问题]

[quote="杜皮厚厚"]安装成功但是有机个问题还是要问问

1.   登录后想保留在mambo主页位置上,而不是直接进入论坛该如何操作

2.   mambo首页上应该有记录,比如有多少个会员登录,这么作,首页上还是游客,也就是mambo数据库没有同步更新的原因吧

3.  2个数据库同步更新做到了,但如何把discuz的原来用户导入到mambo数据库中。

4.  discuz2.5新增加了 安全提问那个选项,为了增加后台安全,但是这样的话只要希望提出安全提问的人,在这个上面就登录不了,提示密码错误等等,请问这个如何解决。

5.以上问题提出的目的,一是为了更好地扩从这个hack,二是为了给老大的hook for discuz等等的组件程序提供参考。。

请有过类似经历的人提出自己的见解。谢谢。[/quote]

杜皮厚厚 的问题真是需要解决的!我们一起用社区的力量解决吧!!

TOP

已解决DISCUZ!整合的两个问题!
引用:
1. 登录后想保留在mambo主页位置上,而不是直接进入论坛该如何操作
解决办法:在进入DISCUZ!目录下的include目录,打开global.php文件,查找函数dreferer(),如下:
function dreferer() {
        global $referer;

        $HTTP_REFERER = $_SERVER['HTTP_REFERER'];
        if(empty($referer) && isset($HTTP_REFERER)) {
                $referer = preg_replace("/(?[\?&]sid\=[a-z0-9]{8}&?))/i", '', $HTTP_REFERER);
                $referer = substr($referer, -1) == '?' ? substr($referer, 0, -1) : $referer;
        }
        if(!strpos($referer, '.php') || strpos($referer, 'logging.php')) {
                $referer = 'index.php';   <--        }
        return $referer;               
}

将index.php改成你的mambo的index.php即可。
引用:
4. discuz2.5新增加了 安全提问那个选项,为了增加后台安全,但是这样的话只要希望提出安全提问的人,在这个上面就登录不了,提示密码错误等等,请问这个如何解决。
将楼主上传的MOD再MOD一下就可以了! :
在此上传我的MOD,经测试,可正常登陆。(PS。我的DISCUZ!根目录在MAMBO下的ADDONS目录里。如果大家要用的话,可注意修改哦!
还有,请问在MAMBO里删除用户的文件是那个呀?我找了很久也找不到呀!谢了!
附件: 您所在的用户组无法下载或查看附件

TOP

已经可以在DISCUZ!里用同时修改两个表的方式管理用户了,但在MAMBO里还不可以增减用户.请问有谁知道在MAMBO里用于修改\删除或增加用户的那个文件呀??
我还是没有找到呀!
有谁知道的,请指教呀!
也好让这个MOD更加完善!
谢了!

TOP

想知道你们是多久做出来的呀

TOP

引用:
原帖由 wuwu 发表
想知道你们是多久做出来的呀
不会太久,看看代码,看看数据库的结构就能MOD出来了

TOP

问题是discuz数据库中的老用户怎么转到mambo里去??

TOP

Re: [重要更新]Mambo与Discuz整合(解决M中无法管理用户问题)

引用:
原帖由 fishwood 发表
2、在Discuz写入用户数据库的地方同时写入Mambo用户数据库。这样,在Discuz注册的用户同时也在Mambo里面注册,这里,我事先已经把Discuz和Membo数据库(前缀为mos_)装在一个表内。
在register.php157行“$db->query("UPDATE $table_settings SET lastmember='$username', totalmembers=totalmembers+1";”后加上:
我的register.php里面怎么没有$db->query("UPDATE $table_settings SET lastmember='$username', totalmembers=totalmembers+1";”这句啊?
是不是因为我安装曼虎的缘故啊

TOP

我用2.5sp1

可是我按照方式修改好了
可是不太懂怎麽把d2.5跟mambo做连结
是不是有教学的步骤?
我第一次玩mambo
不太懂的地方请大家见谅

TOP

还有人关注这个帖子吗,尚有很多问题没有解决呢。。。。楼主还在吗

TOP

已经在顶楼进行了总结性的修改,感谢adbox的贡献。

TOP

发新话题