分类目录归档:PHP

[Expression Engine]去除URL里的index.php

1. 配置url rewrite
编辑根目录下的.htaccess文件,没有就新建一个,内容如下:


RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

2. 配置EE链接生成规则
CP Home › Admin › System Preferences › General Configuration
把Name of your site’s index page这一项删掉留空

TestLink文件上传问题修复

默认安装TestLink完毕后,内置的FCKEditor配置居然是使用ASP的,要将其修改为使用PHP

编辑third_party/fckeditor/fckconfig.js
查找以下行并去掉行首的注释:

FCKConfig.ProtectedSource.Add( //g ) ; // PHP style server side code

查找以下代码,并将其中的asp改成php

var _FileBrowserLanguage = ‘asp’ ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ‘asp’ ; // asp | aspx | cfm | lasso | php

编辑以下两个文件
third_party/fckeditor/editor/filemanager/browser/default/connectors/php/config.php
third_party/fckeditor/editor/filemanager/upload/php/config.php
修改两个变量:

$Config[‘UserFilesPath’] = ‘/TestLink/userfiles/’ ; //WEB URL

$Config[‘UserFilesAbsolutePath’] = ‘/data/testlink/userfiles/’ ; //AbsolutePath

注意:这两个变量的修改并不是必需的,只有当TestLink的安装位置不在根目录,或者使用了Alias(别名)的时候才需要

然后确保userfiles目录具有写权限

Change Log:
2009.11.30 在最新版本(1.8.4)中,还需要手工启用文件上传功能
编辑third_party/fckeditor/editor/filemanager/upload/php/config.php:

// SECURITY: You must explicitelly enable this “uploader”.
$Config[‘Enabled’] = false ;

将false改为true

Get Recent Comments 中文改良版

注意:转载本文请说明出处,谴责赤裸裸的剽窃行为!

正式弃用了中文工具箱,采用Get Recent Comments插件来显示最新评论。

这个插件可以在后台设置在每隔多少长度插入一个空格来防止因为评论过长破坏页面布局,但是因为中文问题原版插件在插入空格时可能插入到一个中文字符的中间从而导致乱码问题,这里提供一个自己改良了的版本。

原版插件默认使用的是空格来插入评论达到换行的目的,我换成了<wbr />(软换行标签,表示此处可换行)。好处是评论显示时都是连续的而不会产生多余的空格,可能存在的问题是此标签不被某些浏览器所支持,根据需要自己修改一下参数即可。

调用方法:

Recent Comments


下载:
Get Recent Comments(based on v2.0.2, for WP 2.3 and later version)
更新日志:
2007-09-26 作者很勤快,我也勤快点,更新至v2.0.2,增加包含/不包含分类的选项设置
2007-09-25 基于原版2.0修改适应WordPress 2.3的最新版本,节约数据库开销,修复若干bug,推荐更新

下载:
Get Recent Comments(based on v1.5.5, for WP 2.2 and earlier version)
更新日志:
更新1:修改了执行utf8_wordwrap的顺序,先截取摘要再插入标签,解决截断标签的问题和因为插入标签影响截取长度的问题。

更新2:有时候最新评论并不马上出现,这是因为使用了cache的原因,对于我这样已经使用了WP_Cache插件的用户来说并无意义,最简单的更改方法是搜索“$use_cache = TRUE;”,将TRUE改为FALSE并保存。

更新3@2007-05-01:删除一句可能导致程序执行错误的语句,不明白原作者的意图

更新4@2007-05-27:修复由于插件调用WP的wptexturize函数导致的乱码问题,改为先截取以后再执行wptexturize

更新6@2007-08-09:完全解决末尾半个字符的问题

更新7@2007-08-10:修正一个以前的错误逻辑,可能导致插入过多的无效标签

更改方法:


function utf8_trim($str) {

$len = strlen($str);

for ($i=strlen($str)-1; $i>=0; $i-=1){
$hex .= ‘ ‘.ord($str[$i]);
$ch = ord($str[$i]);
if (($ch & 128)==0) return(substr($str,0,$i));
if (($ch & 192)==192) return(substr($str,0,$i));
}
return($str.$hex);
}

function utf8_substr($str, $len) {
$slen = strlen($str);
for ($i = 0; $i < $len && $i < $slen; $i++) { $temp_str = substr($str, 0, 1); if (ord($temp_str) > 127) {
$i ++;
if ($i < $len) { $new_str[] = substr($str, 0 ,3); $str = substr($str, 3); } } else { $new_str[] = substr($str, 0 ,1); $str = substr($str, 1); } } return join('', $new_str); } function utf8_wordwrap($instr, $width, $s = '‘) {
$outstr = ”;

do {
$len = strlen($instr);
if (strlen($instr) > $width) {
$tmpstr = utf8_substr($instr, $width);
$outstr .= $tmpstr;
$outstr .= $s;
} else {
$tmpstr = $instr;
$outstr .= $tmpstr;
}
$instr = substr($instr, strlen($tmpstr), $len);
} while (strlen($instr) > 0);

return $outstr;
}