2. 安装 hook_discuz 3.3
1) 登录曼波后台,点击菜单 “组件 > 曼虎 > 安装/卸载曼虎钩子”,进入曼虎钩子安装/卸载界面。
2) 输入“第三方系统表前缀:”和“第三方系统相对路径:”,如:cdb_ 和 bbs ,点击“下一步”按钮。
3) 选择安装包 hook_discuz3.3.zip ,先设置页面提示的目录为可写(777),还要设置如下目录及里面的文件为可写(777)
bbs
bbs/admin
bbs/include
4) 点击“上传文件 & 安装”按钮。
注:对于不支持直接安装 zip 压缩文件包的虚拟主机,可选择从目录安装。先在本地解压缩 hook_discuz3.3.zip ,用 FTP 二进制模式上传到虚拟主机的曼波的 media 文件夹,然后在安装目录中指定安装文件的绝对路径,点击“安装”按钮。
5) 安装完成,提示安装成功信息。
3. 曼波整站系统和 Discuz6.0.0 用户数据转换
钩子安装完后,要进行曼波和 Discuz 的用户数据转换,才真正完成整合。
可以选择把曼波用户数据转到 Discuz,或者把 Discuz 用户数据转到曼波。
注:本例中曼波的表前缀为 mos_, Discuz 的表前缀为 cdb_。
如果您的表前缀不同,请把以下 SQL 语句的表前缀改为实际的表前缀。
3.1 曼波用户数据转到 Discuz
原 Discuz 的用户数据将被删除,然后把曼波的用户数据导入 Discuz。
转换方法:执行以下 3 项 SQL 语句
#1) 删除 Discuz 用户表记录
DELETE FROM cdb_members;
DELETE FROM cdb_memberfields;
#2) 把曼波用户表 mos_users 记录插入到 Discuz 用户表 cdb_members
SELECT @groupid := groupid FROM cdb_usergroups WHERE creditshigher<=0 AND 0<creditslower ORDER BY groupid ASC LIMIT 1;
INSERT INTO cdb_members (uid, username, password, secques, groupid, extgroupids, regip, regdate, lastvisit, lastactivity, email, dateformat, showemail, newsletter, timeoffset )
SELECT id, username, password, '', CASE `block` when 0 then @groupid ELSE 8 END, '', '', UNIX_TIMESTAMP(registerDate), UNIX_TIMESTAMP(lastvisitDate), UNIX_TIMESTAMP(lastvisitDate), email, '', '1', '1', '9999' FROM mos_users;
INSERT INTO cdb_memberfields (uid) SELECT id FROM mos_users;
#3) 设置曼波的第一个超级管理员为 Discuz 管理员
SELECT @id := id FROM mos_users WHERE gid=25 ORDER BY id ASC LIMIT 1;
UPDATE cdb_members SET adminid=1, groupid=1 WHERE [email=uid=@id]uid=@id[/email];
3.2 Discuz 用户数据转到曼波
原曼波的用户数据将被删除,然后把 Discuz 的用户数据导入曼波。
转换方法:执行以下 3 项 SQL 语句
#1) 删除曼波用户表记录
DELETE FROM mos_users;
DELETE FROM mos_core_acl_aro;
DELETE FROM mos_core_acl_groups_aro_map;
#2) 把 Discuz 用户表 cdb_members 记录插入到曼波用户表 mos_users 中
INSERT INTO mos_users (id, name, username, email, password, usertype, block, sendEmail, gid, registerDate, lastvisitDate, activation, params)
SELECT uid, username, username, email, password, "", 0, CASE `groupid` WHEN 4 THEN 1 WHEN 5 THEN 1 WHEN 6 THEN 1 WHEN 8 THEN 1 ELSE 0 END, 18, FROM_UNIXTIME(regdate), FROM_UNIXTIME(lastvisit), "", "" FROM cdb_members;
INSERT INTO mos_core_acl_aro (section_value, value, order_value, name, hidden)
SELECT "users", id, 0, name, 0 FROM mos_users;
INSERT INTO mos_core_acl_groups_aro_map (group_id, section_value, aro_id)
SELECT 18, '', aro_id FROM mos_core_acl_aro;
#3) 设置 Discuz 的第一个管理员曼波超级管理员
SELECT @id := uid FROM cdb_members WHERE adminid=1 AND `groupid`=1 ORDER BY uid ASC LIMIT 1;
SELECT @aro_id := aro_id FROM mos_core_acl_aro WHERE [email=value=@id]value=@id[/email];
UPDATE mos_users SET usertype='Super Administrator', gid=25 WHERE [email=id=@id]id=@id[/email];
UPDATE mos_core_acl_groups_aro_map SET group_id=25 WHERE [email=aro_id=@aro_id]aro_id=@aro_id[/email];
这几条是必须要做的吗?我在做3.2的时候,系统就提示出错了,好像是 member表找不到了。
咋回事呢?