Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[经验] 也谈vvb(*)到DZ5.0 关键字:logging.php

[复制链接]
weic 发表于 2006-11-13 11:40:27 | 显示全部楼层 |阅读模式
写在前面:
我这个人不太会也东东,这个是帮别人换转时碰到的.也没有什么好说的

一般我们换转数据是就近原理(能用最近的先用最近的).因为种种原因,官方没有发布VBB到到5.0的升级程序.所以我们要走的路线一般是从vbb到DZ4.1再到DZ5.0
这里有一个问题.由于vbb论坛用户密码加密方式为非标准md5加密,转换完就要用到官方提供的logging.php.但目前只有DZ4.1的logging.php,可是DZ5.0和Z4.1是不能通用logging.php的.所以我们就要自己改了.

在83行可以找到:
  1.                 $query = $db->query("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,
复制代码

在它上面加上
  1. ///VBB转换专用
  2.                 $query = $db->query("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,
  3.                                         m.adminid, m.groupid, m.styleid AS styleidmem, m.lastvisit, m.lastpost, u.allowinvisible,
  4.                                         vbb.userid AS vbbuserid,vbb.oldpw AS vbboldpw,vbb.salt AS vbbsalt
  5.                                         FROM {$tablepre}members m LEFT JOIN {$tablepre}usergroups u USING (groupid)
  6.                                         LEFT JOIN {$tablepre}member_vbbinfo vbb ON vbb.userid=m.uid
  7.                                         WHERE m.$field='$username'");
  8. //////////////////////
  9. /*
复制代码


下来4行.我们可以找到
  1.                                         WHERE m.$field='$username'");
复制代码

在下面加上
  1. */
复制代码

下来2行,找到:
  1.                 if($member['discuz_uid'] && $member['discuz_pw'] == $md5_password) {
复制代码

改成
  1.                 if($member['discuz_uid'] && ($member['discuz_pw'] == $md5_password | $member['vbboldpw'] == md5($md5_password.$member['vbbsalt']))) {
复制代码

再下来4行,找到
  1.                                 extract($member);
复制代码

在下面加上
  1.                                 if ($vbbsalt) {
  2.                                         //vbb转换专用
  3.                                         $db->query("UPDATE `{$tablepre}members` SET `password`='$md5_password' WHERE `uid`='$discuz_uid' LIMIT 1;");
  4.                                         $discuz_pw        =        $member['discuz_pw']        =        $md5_password;
  5.                                         $db->query("DELETE FROM `{$tablepre}member_vbbinfo` WHERE `userid`='$discuz_uid' LIMIT 1;");
  6.                                 }
复制代码


收工,搞定.

以上代码在VBB3.0到DZ5.0通过
手握手用户转换演示:
转换前:http://club.isred.com/vbb/
转换后:http://club.isred.com/

PS:附上已改好的文件logging.php
外PS: 唉~我上传longging.php时,显示:不支持这类型,请返回!.一返回,什么都没有了.再写了一次.唉~~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-9 00:09 , Processed in 0.030703 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表