为phpMyAdmin加入HTTP验证
一般的免费空间只有一个FTP和MySQL数据库,却没有一个数据库管理的界面。为了以后观察数据库的方便,只好自己安装了一个phpMyAdmin。安装过程颇费周折。 Read the rest of this entry »
一般的免费空间只有一个FTP和MySQL数据库,却没有一个数据库管理的界面。为了以后观察数据库的方便,只好自己安装了一个phpMyAdmin。安装过程颇费周折。 Read the rest of this entry »
programmingnote.com这个域名要到期了,原先是在Lunarpages上连着空间一块买的,当时说是域名免费。不料后来Lunarpages改变策略,说域名只是免费使用一年,以后的费用还是要交,而且一年$9.99美元。现在域名要到期了,也不想把它放在Lunarpages上,有点贵,而且域名管理的功能也很不齐全。考虑到name.com的服务不错,而且价钱比较便宜(com域名一年$7.99),所以打算着手到域名迁移到name.com上。 Read the rest of this entry »
我承认这个标题的确有些长,但也找不到一个更加简单贴切的标题。起因是今天我通过Google进入到了一个论坛里,结果却显示“Sorry,您的身份为游客,查看全部内容:请登录或者注册”。 Read the rest of this entry »
很久没登录WordPress,今天一进后台就提示我2.8版出来了。其实升不升级对我来说意义不大,不过为了不让它总是提示我升级,我想还是听话一些比较好,反正也不是很麻烦。 Read the rest of this entry »
前一段时间flickr上不去了,当然我知道这不是flickr自己的问题,因为国外还能上去。正巧我的文章里的图片都是放在flickr里的,这么一来看我的文章的人就看不到文章里的图片了。不过我会写WordPress插件,想到我的服务器在美国,我当然可以利用这一优势让flickr上的图片在我的Blog上显示出来。 Read the rest of this entry »
这两天时不时的鼓捣一下Google的账户验证机制,也就是传说中的AuthSub,产生了一个我觉得不错的副产品:Http_Fetch类。这是我从大量的重复代码中提出来的。 Read the rest of this entry »
ab是Apache服务器自己带的性能测试工具,用它可以对指定的URL进行模拟访问,然后生成一份有关访问效率的报表,从中可以大概看出网站在高压力情况下的表现。 Read the rest of this entry »
现在有太多的内容都在向你灌输“回帖是一种美德”之类的话了,甚至都恨不得让你在论坛里看帖子时,先回帖再看。我真的无语了,这样的回帖除了制造信息垃圾还能制造出什么来? Read the rest of this entry »
Discuz新的制件机制已经开始进行开发体验了。和以前的相比,新的插件核心要好得多,起码不用动不动就改模板代码了。新版本的Discuz在模板里预留了很多的插件输出位置,这样用户在升级时就不用一个个修改原来的代码,再把插件重新安装一次。 Read the rest of this entry »
当在后台设置Discuz的默认编辑器模式为“所见即所得模式”时,在对某一楼帖子进行回复时(帖内左下方点回复),应该显示该发帖人的楼号和ID,如1# admin 这样的模式,但是却显示源码,且右侧源码框是没有勾选的。将源码框勾选后再取消,才会显示发帖人信息。如图:

这个Bug其实是由默认模板中的JavaScript引起的,原因在于没有对相应的情况进行正确的处理。因为涉及的代码不多,解决的方法也比较简单。
在Discuz的templates/default/post.htm文件中,找到openEditor函数(大约在814行附近),如下:
814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 | function openEditor() { try { {if $action == 'reply' && !$message} if($('fastpostmessage') && $('fastpostmessage').value) { textobj.value = $('fastpostmessage').value; $('fastpostmessage').value = ''; } {/if} {if $action == 'edit' || $action == 'reply' && $repquote} if(wysiwyg) { initialized = false; newEditor(1, bbcode2html(textobj.value)); } else { newEditor(0); } setCaretAtEnd(); {else} newEditor(wysiwyg); if(editbox) { {if ($action != 'edit' || !$attachments) && (!$swfupload || !$swfattachs)} editbox.className = 'autosave max'; {else} editbox.className = 'autosave'; {/if} } {/if} // .... } |
问题出在831行的newEditor(wysiwyg)上,并没有进行BBCode到HTML的转换,所以看到的仍然是BBCode的代码形式。把这一行改成下面五行就应该可以解决了:
if(wysiwyg) { newEditor(1, bbcode2html(textobj.value)); } else { newEditor(0, textobj.value); } setCaretAtEnd();
其中最后的setCaretAtEnd的作用是将光标定位到1# xxx这类的文字末尾,感谢kissmile的建议。
另外,以后我会挑选一些Discuz的Bug记在这里,一方面是为了我自己的记录,另一方面也是为了在新版本尚未发布时能给大家一个解决方案,避免等待新版本的无奈。