樱桃

200842988154副本

20斤樱桃,特此存照……不知道到最后能增加到多少斤。。呃。。。

Posted in Work | Leave a comment

Discuz!7.0.0中如何正确设置过滤词语

有不少用户在设置过滤词语上有问题,比如说设置{banned}的的过滤词语有用而设置{mod}的词语却不起作用。

这个原因在于没有设置各个用户组的权限。

1.设置过滤词语

进入后台 » 帖子 » 词语过滤 添加需要过滤的词语,这里可以设置替换词语,屏蔽词语{banned},和需要审核词语{mod}

如下图:

1

2.设置用户组相关权限

进入后台 » 用户 » 用户组

点击新手上路用户后面的编辑:

2

然后在帖子相关中设置:

3

同时这项设置可以应用于整个板块的帖子都需要审核的情况。在这暂且先不讨论。

3.实际效果

a.回帖中含有“过滤词语示例”的时候,返回:

4

注:如果开启了浮动窗口,则无提示,直接返回到帖子列表。

b.回帖中含有“过滤词语示例2”的时候,返回:

5

c.回帖中还有“你好你好你好”的时候,返回:

6

注:如果开启了浮动窗口,则无提示,直接返回到帖子列表。

而且,在后台» 帖子 » 审核新回复 中发现刚才发的“你好你好你好”已经被替换成了设置好的词语。

8

4.其他

如果需要批量的设置所有用户组和管理组的这一项为“全部需要审核”那么在

后台 » 工具 » 数据库 » 升级 中输入:

UPDATE `discuz`.`cdb_usergroups` SET `allowdirectpost` = '0';

然后点击提交。

7

然后返回影响数据条数的信息,即有多少用户的该项设置被更改。

到此设置就完成了,希望大家使用愉快~~

Posted in Discuz | Tagged , | Leave a comment

转换其他论坛到Discuz的原理解析

今天看了下XConvert中的dvbbs转换到DZ7.0的程序。下面用到的函数都在global.func.php中。

总结一下转换的原理:
第一步:首先需要转换的是用户表,这个表在7.0的体系下是最复杂的一个表,因为涉及到了discuz的表和UC的表。
在转换前首先需要清空discuz和UC的表。

truncatetable($table)                                    //清空discuz数据表
truncatetable_uc($table)                                 //清空UC数据表

从源数据库中查询出来用户后,对用户的各项数据进行处理,包括剪切过长的字符,转换大小写等。具体的情况查看step1文件就可以知道。
其中重要的函数是:

/**
* 转换为 UC 的密码格式
*
* @param string $password MD5 后的密码
* @return array 包括 UC 格式密码和 SALT
*/
convertucpw($password)                                   //转换密码到UC

convertucpw这个函数具体内容不需要知道,$password是经过MD5加密后的密码。

然后将数据插入到discuz和UC的表中。

第二步:转换板块

第三步:转换帖子

第四步:转换主题

第五步:转换附件

第六步:转换友情链接

第七步:转换短消息

具体的原理与第一步的原理差不多,查看程序文件就可以知道。

希望以后能够用在把学校论坛转成DZ的。。唉,省得总崩溃……

Posted in Discuz | Leave a comment

UC体制下检查并重排UID的步骤

假设只有DZ和UC的情况下。
1.检查DZ用户表中的最小UID。记为DZID
2.检查UC用户表中的最小UID。记为UCID
3.用UCID-DZID得到一个数。记为floatid
4.如过floatid>0则在UC数据表中执行

update ‘uc_members’ SET ‘uid’= ‘uid’-$floatid;

反之则执行加法。

思路先写到这,应该挺简单的,先看看6.0的代码。

<?php

/*
    @2009
http://nokv.yo2.cn
    UC+DZ体系重排UID程序v1.0
*/

@set_time_limit(0);
//DZ database config
$dbhost = 'localhost';            // 数据库服务器
$dbuser = 'root';            // 数据库用户名
$dbpw = '123456';                // 数据库密码
$dbname = 'discuz';            // 应用数据库名
$pconnect = 0;                // 数据库持久连接 0=关闭, 1=打开
$tablepre = 'cdb_';           // 应用数据库表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = 'gbk';            // MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定
//UC database config
$ucdbname = 'ucenter';            // UC数据库名
$pconnect = 0;                // 数据库持久连接 0=关闭, 1=打开
$uctablepre = 'uc_';           // UC数据库表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = 'gbk';            // MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定
//db funlib
include './db.php';

$db=new dbstuff();
//Query The smallest Uid from DZ
$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
$data = $db->fetch_first("SELECT uid,username FROM {$tablepre}members limit 1&quot ;) ;
$DZid=$data['uid'];
$DZuser=$data['username'];
echo "Discuz中 Uid 从 <font color=red>".$DZid."</font> 开始"."Username 为:<font color=red>".$DZuser."</font><br/>";
//Query The smallest Uid from UC
$db->connect($dbhost, $dbuser, $dbpw, $ucdbname, $pconnect);
$data = $db->fetch_first("SELECT uid,username FROM {$uctablepre}members limit 1&quot ;) ;
$UCid=$data['uid'];
$UCuser=$data['username'];
echo "Ucenter中 Uid 从 <font color=red>".$UCid."</font> 开始"."Username 为:<font color=red>".$UCuser."</font><br/>";

$floatid=$UCid-$DZid;
echo "数据错位 ".$floatid." 位。</br>";
echo "</br>正在重排UID……</br>";
if ($floatid>0 && $db->query("UPDATE {$uctablepre}members SET uid=uid-{$floatid}&quot ;) && $db->query("UPDATE {$uctablepre}memberfields SET uid=uid-{$floatid}&quot ;) ) {
    $num=$db->fetch_first("SELECT count(*) FROM {$uctablepre}members&quot ;) ;
    echo $num['count(*)']." 条数据已经完成重排。";}

?>

1.0版本,等待调整有新用户注册了的情况。

Posted in Discuz | 1 Comment

Discuz!7 数据表

把Discuz!7的数据表功能整理了下,留着以后用的着的时候用。
同时标注的新增表是针对于DZ6而言的。

 

表名

表说明

cdb_access

设置某一用户对某一版块的用户权限

cdb_activities

记录活动主题的活动相关数据

cdb_activityapplies

记录参与活动主题的申请数据

cdb_adminactions

当特殊用户组管理权限关联为管理员时,记录该组无权使用的功能

cdb_admingroups

记录管理组的管理权限

cdb_adminnotes

后台管理公告表

cdb_adminsessions

记录后台会话

cdb_advcaches !!

记录广告的缓存(7.0新增表)

cdb_advertisements

记录广告相关信息,广告参数为不同类型广告设置的参数及内容的serialize值,广告代码为根据广告参数生成的HTML

cdb_announcements

记录论坛公告

cdb_attachments

记录帖子附件信息,filetype会因浏览器不同有所区别。

cdb_attachpaymentlog

记录帖子附件下载付费信息

cdb_attachtypes

记录允许使用的附件类型信息

cdb_banned

记录禁止IP操作信息

cdb_bbcodes

记录自定义Discuz!代码信息

cdb_caches

记录缓存更新数据

cdb_campaigns

Insenz活动表

cdb_creditslog

记录积分交易信息,包括积分转帐、积分兑换等操作

cdb_crons

记录计划任务信息

cdb_debateposts

记录辩论观点信息

cdb_debates

记录辩论主题信息

cdb_failedlogins

记录登录失败情况,成功登录后删除失败记录

cdb_faqs

记录论坛帮助信息

cdb_favorites

记录用户收藏的主题或版块,每条记录中tid、fid之一为0

cdb_forumfields

记录论坛版块的扩展信息

cdb_forumlinks

记录友情链接信息

cdb_forumrecommend

记录版主推荐主题信息

cdb_forums

记录论坛版块信息

cdb_imagetypes

记录图片分类信息

cdb_invites

记录邀请注册信息

cdb_itempool

记录验证问答信息

cdb_magiclog

记录道具购买使用等信息

cdb_magicmarket

记录道具市场中待售道具信息

cdb_magics

记录道具信息

cdb_medals

记录勋章信息

cdb_memberfields

记录会员扩展信息

cdb_membermagics

记录会员持有道具信息

cdb_members

记录会员信息

cdb_memberspaces

记录MiniSpace设置信息

cdb_moderators

记录版主信息

cdb_modworks

记录版主管理操作统计信息

cdb_myposts

记录我的回复信息

cdb_mytasks !!

记录我的论坛任务信息(7.0新增表)

cdb_mythreads

记录我的主题信息

cdb_navs !!

记录导航栏信息(7.0新增表)

cdb_onlinelist

记录用户在线列表定制信息

cdb_onlinetime

记录用户在线时间统计信息

cdb_orders

记录积分充值订单信息

cdb_paymentlog

记录主题购买信息

cdb_pluginhooks

记录插件钩子信息

cdb_plugins

记录插件信息

cdb_pluginvars

记录插件变量信息

cdb_polloptions

记录投票选项信息

cdb_polls

记录投票信息

cdb_posts

记录帖子信息

cdb_profilefields

记录用户栏目定制信息

cdb_projects

记录论坛方案信息

cdb_promotions

记录论坛访问推广信息

cdb_ranks

记录发帖数级别信息

cdb_ratelog

记录帖子评分信息

cdb_regips

开启IP注册间隔限制等功能时,记录注册IP信息

cdb_relatedthreads

记录相关主题信息

cdb_rewardlog

记录悬赏信息

cdb_rsscaches

记录RSS订阅主题缓存信息

cdb_searchindex

记录搜索主题缓存信息

cdb_sessions

记录论坛访问会话信息

cdb_settings

记录论坛设置信息

cdb_smilies

记录表情信息

cdb_spacecaches

记录minispace缓存信息

cdb_stats

记录论坛基本统计信息

cdb_statvars

记录论坛统计信息

cdb_styles

记录风格信息

cdb_stylevars

记录风格变量信息

cdb_subscriptions

记录订阅主题信息

cdb_tags

记录标签信息

cdb_tasks !!

记录论坛任务信息(7.0新增表)

cdb_taskvars !!

记录论坛任务变量信息(7.0新增表)

cdb_templates

记录模板信息

cdb_threads

记录主题信息

cdb_threadsmod

记录主题的管理记录信息

cdb_threadtags

记录主题标签关联信息

cdb_threadtypes

记录主题分类信息

cdb_tradecomments

记录交易双方评价信息

cdb_tradelog

记录交易记录信息

cdb_tradeoptionvars

记录交易项目变量信息

cdb_trades

记录交易信息

cdb_typemodels

记录分类信息模型信息

cdb_typeoptions

记录分类信息项目信息

cdb_typeoptionvars

记录分类信息项目变量信息

cdb_typevars

记录分类与选项关联信息

cdb_usergroups

记录用户组及其权限信息

cdb_validating

记录审核信息

cdb_videos

记录视频主题信息

cdb_videotags

记录视频标签信息

cdb_virtualforums !!

官方,未知(7.0新增表)

cdb_warnings !!

记录管理员发出的警告信息(7.0新增表)

cdb_words

记录词语过滤信息

Posted in Work | Leave a comment

DZ7.0 090121 版本修改广告环绕

修改viewthread_node.htm文件。

<!--{if $admode && empty($insenz['hardadstatus']) && !empty($advlist['thread3'][$post['count']])}--><div class="ad_pip" id="ad_thread3_$post[count]">$advlist[thread3][$post[count]]</div><!--{else}--><div id="ad_thread3_$post[count]"></div><!--{/if}--><div id="ad_thread4_$post[count]"></div>

转移到:

<td class="t_msgfont" id="postmessage_$post[pid]">$post[message]</td>

中$post[message]之前,即将ad层嵌套进t_msgfont层。

Posted in Discuz | Leave a comment

论坛转换后出现HTML代码的解决办法。

论坛后台,系统工具,数据库,升级以下sql语句:
UPDATE `cdb_posts` SET `htmlon` = '1';
update cdb_forums set  allowhtml=1;
注意:把sql中的cdb_ 修改为的数据库表前缀

 

如果没有数据库执行权限则在confi.inc.php中加入论坛创始人。

Posted in Discuz | Leave a comment

DZ2.5升级7.0总结。

所需文件:DZ3.12安装包  DZ4.0安装包 DZ5.0安装包 DZ6.0安装包 UC1.5安装包 DZ7.0安装包
upgrade312.php

步骤:
1.备份原论坛处模板,附件和头像之外的所有文件。
2.备份原论坛数据。
3.将DZ4.0 upload中所有文件上传到根目录,将DZ3.12 upload中include/db_mysql.php和include/db_mysql_error.php上传到相应目录。
4.将upgrade312.php上传到跟目录执行。

5.修改upgrade5.php文件,搜索admingroup将default后的数值改为0。修改include/db_mysql_class.php中有关数据库编码的语句。
6.上传upgrade5.php并执行。

7.修改5.0下的config.inc.php中的数据库编码为lantin1。
8.上传5.0安装包中的所有文件到根目录,进行升级。
9.修改6.0下config.inc.php中的数据库编码为lantin1。
10.上传6.0所有文件并进行升级。

11.安装UC。
12.修改7.0下config.inc.php中的数据库编码为lantin1。
13.上传7.0并进行升级。使用dz60to70.php
14.如果升级完毕后有乱码,则进入到后台,备份数据,重新安装一个7.0,并进行数据恢复即可。

升级后有可能的问题:
1.我的帖子:使用myconvert.php
2.头像相关:http://www.discuz.net/thread-1024478-1-1.html
3.用户需要激活
4.其他未知问题。

  • 注:每次升级论坛可以先备份一下数据,以免重新来过。
Posted in Discuz | Leave a comment

Robocode AdvancedRobot

Robocode 行为事件

坦克的主要都定义在一个主循环中,我们在程序中定义为上面四个策略定义四种战略如Move,Radar,Power,Target,当某一事件发生,基于这个事件而定的行为就会触发。而每个战略中都有不同的行为处理方式。这些行为通过遗传算法触发,遗传算法将调用这些基本动作并搜索这些策略的最佳组合。基于这些基本动作将有4224 (=4*11*4*3* 8) 种可能发生。在Robocode AdvancedRobot 类下有如下的移动函数:

  • setAhead和ahead:让机器人向前移动一定距离.
  • setBack和back:让机器人向后移动一定距离
  • setMaxTurnRate:设置机器人最大的旋转速度
  • setMaxVelocity:设置机器人最大的运动速度
  • setStop和stop:停止移动或暂停机器人,并记住停止的位置
  • setResume和resume:重新开始移动停止的机器人
  • setTurnLeft和turnLeft:向左旋转机器人
  • setTurnRight和turnRight:向右旋转机器人

Random:

switch(Math.random()*2) { case 0: setTurnRight(Math.random()*90);break;case 1: setTurnLeft(Math.random()*90); break; } execute();

Linear:

ahead(200);setBack(200);

Circular:

setTurnRight(1000);setMaxVelocity(4);ahead(1000);
Posted in Work | Leave a comment

访问Bloger的另外一种方法。

看到Dave Lucas的评论然后点过去才发现是Blogger。
于是看了下地址是 http://www.inblogs.net/dave-luvas ,再到http://www.inblogs.net/上看一下发现这个网站是用来在那些Block了Blogger的国家访问Blogger的,使用很简单,只要把Blogger二级域名的第一段加到http://www.inblogs.net/这个地址后面就能够访问了。

我是天津电信,访问的速度还是不错的。
http://www.inblogs.net/whoisv

449e90c0

Posted in Web | Leave a comment