使用Ucenter整合wordpress和Discuz (给博客提速)

本博客自从谷歌在内地无法打开之后,打开速度就开始变慢,于是Jhonse哥我作为技术开发猿而言,怎能允许这情况发生?所以就开始给本博客加速了… 第一步: 去掉wordpress默认加载的谷歌字体样式 找到wordpress的核心文件script-loader.php,在/wp-includes目录下 在script-loader.php文件中搜索fonts.googleapis.com,以及ajax.googleapis.com,然后用360提供的前端公共库CDN服务替换即可。请看截图: 第二步: 使用Ucenter整合wordpress和ucenter,来实现更换Gravatar头像 之前使用了第一步的步骤给本博客提速,确确实实速度是提上来了。不过今天本博客又开始慢了,本以为是第一步修改的代码被恢复了,结果一看代码,不是的,原来影响到打开速度慢的是Gravatar头像。 请看分析代码: 在每个文章详细页都有评论页,也就是需要加载评论用户的头像,而首页以及列表页都木有,所以打开首页和列表速度正常,而点击进入详细页就变的特慢。请看加载头像代码。 //评论头像缓存 function deel_avatar($avatar) { $tmp = strpos($avatar, ‘http’); $g = substr($avatar, $tmp, strpos($avatar, “‘”, $tmp) – $tmp); $tmp = strpos($g, ‘avatar/’) + 7; $f = substr($g, $tmp, strpos($g, “?”, $tmp) – $tmp); $w = get_bloginfo(‘wpurl’); $e = ABSPATH .’avatar/’. $f .’.png’; $t = dopt(‘d_avatarDate’)*24*60*60; if … Continue reading “使用Ucenter整合wordpress和Discuz (给博客提速)”

discuz发帖时标题实现高亮功能

discuz虽然有高亮功能,但不是在发帖的时候,可以选择高亮功能,而是对已经发帖成功的主题进行设置,请看如下截图:   而我们要实现的功能是: 在发帖的时候,可以选择高亮功能。 实现步骤: 第一步:修改模板文件 先找到模板文件template/模板风格目录/fourm/post_editor_extra.htm 找到标题(subject)显示位置 <!–{if $_GET[action] != ‘reply’}–> <span><input type=”text” name=”subject” id=”subject” class=”px” value=”$postinfo[subject]” {if $_GET[action] == ‘newthread’}onblur=”if($(‘tags’)){relatekw(‘-1′,’-1′{if $_G[‘group’][‘allowposttag’]},function(){extraCheck(4)}{/if});doane();}”{/if} onkeyup=”strLenCalc(this, ‘checklen’, 80);” style=”width: 25em” tabindex=”1″ /></span> <!–{else}–> <span id=”subjecthide” class=”z”>RE: $thread[subject] [<a href=”javascript:;” onclick=”display(‘subjecthide’);display(‘subjectbox’);$(‘subject’).value=’RE: {echo dhtmlspecialchars(str_replace(‘\”, ‘\\\”, $thread[subject]))}’;display(‘subjectchk’);strLenCalc($(‘subject’), ‘checklen’, 80);return false;”>{lang modify}</a>]</span> <span id=”subjectbox” style=”display:none”><input type=”text” name=”subject” id=”subject” class=”px” value=”” onkeyup=”strLenCalc(this, … Continue reading “discuz发帖时标题实现高亮功能”

Discuz模板中使用cutstr来截取字符串

给Discuz写模板的时候需要对字符串进行截取,可以使用cutstr方法来截取。请看实现代码: <!–{eval echo cutstr($value[‘subject’],30,”);}–> cutstr方法代码如下: /** * [discuz] 基于PHP没有安装 mb_substr 等扩展截取字符串,如果截取中文字则按2个字符计算 * @param $string 要截取的字符串 * @param $length 要截取的字符数 * @param $dot 替换截掉部分的结尾字符串 * @return 返回截取后的字符串 */ function cutstr($string, $length, $dot = ‘…’) { // 如果字符串小于要截取的长度则直接返回 // 此处使用strlen获取字符串长度有很大的弊病,比如对字符串“新年快乐”要截取4个中文字符, // 那么必须知道这4个中文字符的字节数,否则返回的字符串可能会是“新年快乐…” if (strlen($string) <= $length) { return $string; } // 转换原字符串中htmlspecialchars $pre = chr(1); $end = … Continue reading “Discuz模板中使用cutstr来截取字符串”

【discuz】解决博文调用新浪图片不显示的问题

最近发布博文的时候,出现一个很纠结的问题:调用新浪博客上的图片的时候,不显示对应的图片,而是显示如下截图:   解决方法: 一开始想到用iframe框架直接显示图片,结果一测试还是行不通依然显示以上的状况。最后就想到是用php读取图片文件,然后再显示到iframe框架里。测试就成功了。 代码如下: js代码: $(“#blog_article img”).each(function(index){ var width = $(this).attr(“width”); var height = $(this).attr(“height”); if(typeof(width) == “undefined”){ width = 600; } if(typeof(height) == “undefined”){ height = 400; } var src = $(this).attr(“src”); //http://www.huarengolf.com/ if(src.substring(0,26) != “http://www.huarengolf.com/”){ var Frame = “<iframe src=\”static/js/jhonse_blog/run.php?Url=” + src + “\” width=\”” + width + “\” height=\”” + height … Continue reading “【discuz】解决博文调用新浪图片不显示的问题”

【discuz】注册页面去掉包含敏感字符功能

今天公司论坛上有人注册账号的时候,出现一个问题?就是在填写用户名的是输入了两个单词,而中间有空格,结果就提示包含敏感字符。看如下截图: 老总要求去掉这个提示,允许有空格,没办法,找到注册页面文件(register.htm),在.\template\default\member\目录下,打开文件一看,原来是通过js代码来控制的,请看如下代码: <script type=”text/javascript” src=”{$this->setting[jspath]}register.js?{VERHASH}”></script> 找到对应的js文件:./static/js/register.js formNode[stmp[0]].onblur = function () { checkusername(formNode[stmp[0]].id); } 进行修改就可以了。

【discuz】自由修改用户默认头像大小教程

根目录/uc_server/images/noavatar_big.gif (discuz!X2.0自带图片规格 200*200) 根目录/uc_server/images/noavatar_middle.gif (discuz!X2.0自带图片规格 120*120) 根目录/uc_server/images/noavatar_small.gif (discuz!X2.0自带图片规格 50*50) 替换的话,做这大小差不多的直接换就行,不换的话就接着往下看。 在用户上传头像的时候X2就已经自动划分为big/middle/small三种了,不过默认的情况下用户头像只显示middle。 调用的代码如下: avatar.php?uid=1&size=middle 把middle改成big就好。 查到 template\default\forum\viewhread_node.htm 的相关代码为: <div onmouseover=”showauthor(this, ‘userinfo$post[pid]’)”><a href=”home.php?mod=space&uid=$post[authorid]” target=”_blank”>$post[avatar]</a></div> 然后查$post[avatar]的赋值在 source\module\forum\forum_viewthread.php 中 $post[‘avatar’] = avatar($post[‘authorid’]); 我们改为 $post[‘avatar’] = avatar($post[‘authorid’],big); 大头像显示搞定~。(想显示小头像就将big替换为small) 当然,此时在样式上是有问题的,所以我们还需要调整一下样式。(调整宽度) template\default\forum\common\module.css .pls { width: 160px; 改为 .pls { width: 180px; .bui { position: absolute; margin: -1px 0 0 -1px; padding: 15px … Continue reading “【discuz】自由修改用户默认头像大小教程”