原帖由 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 end2、在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 end3、取消Discuz的自带Mod_Login,换上Discuz的Login和Register代码。
简易的Discuz_Login_Mod见附件,可以安装。
这样,两个系统只使用Discuz的登陆注册,功能比Mambo的更强大。
请大家测试,如问题请回此贴。
重要更正:附件登陆Mod中PHP文件有误,打开后,用你的Discuz所在目录去更换其中的“.jxtvnet/”。因为我的Discuz目录是网站根目录下的这个目录,发布时忘记清除了。抱歉。