让Twip支持UberTwitter老版本

去年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行处插入以下代码:

$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);

并把其后的两处$this->forwarded_request_uri变量替换成$forwarded_request_uri即可支持UberTwitter:

$filterName = Twip::encode_uri($forwarded_request_uri);
$parts = parse_url($forwarded_request_uri);

更新的twip.php文件参见本地:twip.php.txt,替换时把后缀.txt去掉。

另外提一下在Nginx配置文件里的重定向处理方法,假设twip部署在http://youdomain.com/twip目录,除了config.php的配置成“define('BASE_URL','http://youdomain.com/twip/');”外,还需要修改ngix.conf,添加下面几行:

location /twip {
if (!-e $request_filename) {
rewrite ^/twip/(.*)$ /twip/index.php last;
}
}

如果目录有变化,请对应修改上的twip部分。

Tags:

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。