去年5月份前@yegle更新的Twip版本在O模式里也调用了$this->uri_fixer()函数,因此用“修正对API1.1的支持”增加$replacement数组的替换项就可以支持UberTwitter v0.971了,因为新的API不再支持replies.json和mentions.json。
今天使用“get clone https://github.com/twip/twip”取到最新的源码,UberTwitter里仍用O模式就发现做了$replacement数组的替换还是刷不了@消息,仔细查看代码才发现O模式的override_mode()函数里不再调用$this->uri_fixer()函数了,只好自己修改代码了,在第189行处插入以下代码:
[php]
$replacement = array(
‘mentions.json’ => ‘mentions_timeline.json’,
‘replies.json’ => ‘mentions_timeline.json’,
);
$forwarded_request_uri = str_replace(array_keys($replacement), array_values($replacement), $this->forwarded_request_uri);
[/php]
并把其后的两处$this->forwarded_request_uri变量替换成$forwarded_request_uri即可支持UberTwitter:
[php]
$filterName = Twip::encode_uri($forwarded_request_uri);
$parts = parse_url($forwarded_request_uri);
[/php]
更新的twip.php文件参见本地:twip.php.txt,替换时把后缀.txt去掉。
另外提一下在Nginx配置文件里的重定向处理方法,假设twip部署在http://youdomain.com/twip目录,除了config.php的配置成“define(‘BASE_URL’,’http://youdomain.com/twip/’);”外,还需要修改ngix.conf,添加下面几行:
[text]
location /twip {
if (!-e $request_filename) {
rewrite ^/twip/(.*)$ /twip/index.php last;
}
}
[/text]
如果目录有变化,请对应修改上的twip部分。
Tags: PHP