把验证码插件的验证方式由纯字符变为数字运算
插件下载
需要改变一下提交按钮那句为
<img src="<?$this->options->pluginUrl('CommentCheck/yzm.php')?>" id="Image1" onclick="Image1.src='<?$this->options->pluginUrl('CommentCheck/yzm.php')?>?'+Math.random()"/>
<input name="yzm" type="text" id="yzm" size="2" maxlength="2" onkeyup= "check(this.form)" />
<input type="submit" value="<?php _e('提交评论'); ?>" class="submit" id="submit" disabled="disabled" />
<span id='msg'></span>
根据需要写了个验证码的插件,用的是以前搜集的一些代码写的一个ajax的登录验证,移植了过来。
使用很简单,启用插件后,需要在模板文件comments.php中修改一点,把提交按钮那行
<input type="submit" value="<?php _e('提交评论'); ?>" class="submit" />
替换成
<input name="yzm" type="text" id="yzm" size="6" maxlength="4" onkeyup= "check(this.form)" /> <img src="<?$this->options->pluginUrl('CommentCheck/yzm.php')?>" id="Image1" /> <input type="submit" value="<?php _e('提交评论'); ?>" class="submit" id="submit" disabled="disabled" />
可以根据需要自行修改美化。
需要服务器php的GD扩展,还要支持ajax,大部分服务器都应该没问题
插件下载
先前实现随机列表的方式有点麻烦,要改动和新加文件,现在做了调整,主要功能都由插件实现,只需要改动很少一点地方。
1.下载插件上传到plugins RandomArticleList.7z
2.在在\var\Typecho\Db.php文件中36行左右添加下列内容
/** 随机排序 */
const SORT_RAND = 'RAND()';
const SORT_RANDOM = 'RANDOM()';
如果不改这里,就要自己写代码实现数据库的读写,有点麻烦(我是个懒人)。
3.在模板文件的侧边栏文件中加入
<?php RandomArticleList::parse(); ?>
也可以设置输出样式,如
<?php RandomArticleList::parse('<li><a href="{permalink}">{title}</a></li>'); ?>
上面这个是默认样式,与第一句RandomArticleList::parse()等效,可以自己针对模板灵活改动。
数据库的随机读取依然采取的是 order by rand()的方式,效率嘛,肯定不高,对于一般的博客数据就几百上千条影响不大,如果是几十万数据的博客,肯定有办法自己写更好的插件了:)
下一步准备实现随机列表的缓存,把随机列表存入文件中,间隔一定时间(如10分钟)更新一次,来减少数据库的操作。现在是网页上每点击一次,都要读数据库新生成随机列表。
添加了对<code>标签的支持
可以在插件设置中选择需要的标签格式。
FHilight.1.1.0.7z
1.1.0版核心是syntaxhighlighter_2.1.364,会影响部分模板显示,可以去掉部分CSS文件中的pre,code中的‘display: block;’
也可以不改,把核心换回为syntaxhighlighter_2.0,显示没有问题,下面是核心变换了的新版本!
FHilight.1.1.1.7z