本帖最后由 seahog004 于 2009-3-7 12:54 编辑
于是上来搜索,看到这篇帖子:https://discuz.dismall.com/viewthread.php?tid=941631
解决关键:修改dv_vote和dv_voteuser的字段类型。(希望官方早日修改XConvert转换说明的这句话“将其用户表(Dv_User)、板块表(Dv_Board)、主题表(Dv_Topic)、帖子表(Dv_bbs1,bbs2,bbs3)、附件表(Dv_Upfile)、短消息表(Dv_Message)、好友表(Dv_Friend)、管理员表(Dv_Admin)字段类型为 nText 的改为 Text 类型。”距离孤独的阿狼发那个帖子都大半年了-_-||)
我是这么改的
dv_vote vote(ntext)->(text) votenum(ntext)->(char,512)
dv_voteuser voteoption(nvarchar,50)->(char,512)
重做step3之前,我决定顺便解决一下标题中尖括号被转化的问题,以及标题颜色(醒目灯)丢失的问题。
----------------------------
有些会员喜欢用尖括号来代替书名号,但是这些在step3过滤标题html代码时一并被过滤掉了。
解决:mssql数据库中,除了按照上述修改数据类型之外,执行如下sql语句- update dv_topic set title=replace(title,'>','》') where (title like '%<%') and (title not like '%</%')
- update dv_topic set title=replace(title,'<','《') where (title like '%<%') and (title not like '%</%')
- update dv_topic set title=replace(title,'》》','》')
- update dv_topic set title=replace(title,'《《','《')
复制代码 ----------------------------
标题颜色:修改step3.php,找到在下面添加- //标题颜色转换
- if ($t['topicmode']==1) $highlight=7;//html标题统一变紫色
- if ($t['topicmode']==2) $highlight=1;//红
- if ($t['topicmode']==3) $highlight=6;//蓝
- if ($t['topicmode']==4) $highlight=4;//绿
- //
复制代码 ----------------------------
好了,重做step3主题与投票。
做完之后检查,投票选项恢复了,后遗症来了。
由于step3重建了threads表,因此之后对threads有操作的step也要重做,计有step4、step9。
但是step4又对attachments表有操作,这时就要去掉对attachments操作的truncatetable和INSERT语句。
step4.php修改之后为- <?php
- if($start <= 1) {
- validid('f_id', 'upfile');
- }
- $query = $db['source']->query("SELECT * FROM {$source_tablepre}Upfile WHERE (F_ID BETWEEN $start AND $end)");
- while ($att = $db['source']->fetch_assoc($query)) {
- $att = array_change_key_case(daddslashes($att));
- if($att['f_announceid']) {
- $aid = $att['f_id'];
- $temp = explode('|', $att['f_announceid']);
- $tid = $temp[0];
- $pid = $temp[1];
- if($tid && $pid) {
- $sql2 = "UPDATE {$discuz_tablepre}threads SET attachment=1 WHERE tid='$tid'";
- $db['discuz']->query($sql2);
- $convertedrows ++;
- $totalrows ++;
- }
- }
- $converted = 1;
- }
- if($converted || $end < $maxid) {
- altertable('attachments', 'aid');
- }
- ?>
复制代码 保险起见,到后台单独备份一下attachments表。重做step4附件。重做step9主题分类。
善后:fid>现有版块编号的threads记录又出现了,如法炮制除之。
----------------------------
呼呼,在整个论坛转了一圈,暂时没再发现什么问题,赶紧优化备份压缩!然后慢慢地做美化:-) |