释放修改后的Gregarius
gowers这两天研究了下RSS聚合器,且用RSS聚合搭建了一个自己的聚合站,主要是为了方便自己看感兴趣的博客或网站的内容。实验了一堆后,决定用Gregarius。今天应某些兄弟的要求,放出我自己修改的版本。
Gregarius已经是一款相当成熟的RSS feed聚合器程序了,具备不错的用户体验,易于操作和管理。其 特性如下:
1. 支持 RDF, RSS, ATOM feeds 支持智能识别;
2. 基于浏览器Web端的前台浏览和后台管理;
3. 支持目录分类,支持标签系统,并运用了ajax技术;
4. 支持搜索;
5. 支持OPML;
6. 可显示favicon;
7. 支持已读未读分类和条目数量显示;
8. 具有多种主题样式,支持插件;
gowers在Gregarius官网下载到了0.6.0版本,可惜这个版本还是对中文的支持程度很差,到处都有BUG ,且gowers安装后,聚合的RSS中文全部为乱码。于是在网上找到了5.5的一个版本,安装后RSS聚合中文的乱码的BUG没有了,剩下的有几个小BUG,我自己解决了。具体解决的如下:
1.日期乱码解决;
2.后台编辑中文FEED乱码解决;
3.解决5.5首页不出现页码的BUG;
4.解决页面载入速度慢的问题;
5.后台settings(设置)部分功能中文化,那样方便设置的时候了解其用途;
6.解决前台暴露管理登录地址和登录框的问题。
具体修改:
1、日期乱码。Gregarius的中文日期若不经修改就乱码,包括更新时间乱码、当日FEED乱码。解决这个 问题可以修改根目录下util.php文件的rss_locale_date方法就可以解决这个问题。将其下代码修改为
function rss_locale_date ($fmt, $ts, $addTZOffset = true) {if (isset($_SERVER["WINDIR"])) {//%e doesnt’ exists under windows!$fmt=str_replace("%e","%#d",$fmt);}if ($addTZOffset) {return iconv("UTF-8", "utf-8", strftime($fmt, $ts +3600 * getConfig(‘rss.config.tzoffset’)));//return utf8_encode(strftime($fmt, $ts +3600 * getConfig(‘rss.config.tzoffset’)));}return iconv("UTF-8", "utf-8", strftime($fmt, $ts));//return utf8_encode(strftime($fmt, $ts));}
2、后台编辑中文FEED乱码。Gregarius编辑feeds的时候,中文总是乱码,其实解决方法很简单的:找到admin/channels.php这个文件,找到第900行,修改为:
//$title = htmlentities($title,ENT_QUOTES);$title = htmlspecialchars($title, ENT_QUOTES);
这个是feed标题乱码的修正,再向下翻到Description部分,大概在988行左右,修改为:
// Description//$descr = trim(htmlentities(strip_tags($descr), ENT_QUOTES));$descr = trim(htmlspecialchars(strip_tags($descr), ENT_QUOTES));
这样就ok了。原因很简单,就是htmlentities和htmlspecialchars函数的区别。htmlentities这个函数 在转义到html标记的时候,会吧中文字符中一些字节也进行了转义,形成了乱码,而htmlspecialchars 这个函数只转义特定的5个字符,不会存在这种情况。修改后,单引号和双引号都能输入了,但是反斜 杠\仍然是不能输入的。
3、解决5.5首页不出现页码的BUG。这个BUG是在根目录index.php中,我直接拿6.0的index.php覆盖解 决。
4、解决页面载入速度慢的问题。Gregarius在载入首页的时候,会同时载入你FEED中的内容,如果FEED 全是文字倒好(这些东西都在你的数据库);但如果载入的包含图片,那页面载入速度就很慢。gowers 用一个简单的办法解决了,那就是修改主文件,让其在载入的时候仅载入标题,不载入内容。当你要看具体内容的时候,点击标题即可进入具体内容页面。以我现在用的lilina主题为例,具体修改如下:
找到根目录\themes\lilina\web下面的item.php,删除标注//list mode : we only show titles那段代码下面的
<div class="content" id="c<?php echo rss_item_id(); ?>"><?php echo rss_item_content(); ?></div>
千万不要注释,注释还是会运行的,只不过前端不显示。这个解决载入内容。下面要修改标题链接。原 来的链接是一个JS调用,打开隐藏层。现在我们要将其修改成实体链接,并指向信息页。则找到根目录 \themes\lilina\web下面的item.php,找到//list mode : we only show titles下面的<h4><a class="tlink" 开头的代码,将其修改成
<h4><a class="tlink" title="<?php echo rss_item_pl_title(); ?>" href="<?php echo rss_item_pl_url(); ?>"><?php echo rss_item_title(); ?></a></h4>
此外,将
<a class="plink" title="<?php echo rss_item_pl_title(); ?>" href="<?php echo rss_item_pl_url(); ?>"><img src="<?php echo rss_theme_path(); ?>/media/mark_on.gif" alt="<?php echo rss_item_pl_title(); ?>" /></a>
修改成
<img src="<?php echo rss_theme_path(); ?>/media/mark_off.gif" alt="<?php echo rss_item_pl_title(); ?>" />
5、后台设置中文化的。这个直接修改的语言包,具体废话就不说了;
6、解决前台暴露管理地址和登录框的BUG。
1、去掉管理登录的链接的修改在导航中,即修改根目录下CLS目录的nav.php,找到其中的function Navigation(),删除类似这段 $this->appendNavItem(getPath().’admin/’,admin,LOCATION_ADMIN);2、去掉登录框。修改根目录\themes\lilina\web下面的index.php,注释或者删除掉<?php echo rss_header_logininfo() ?>即可。
安装说明:
1、将程序上传至你的服务器空间,运行http://your_gregarius_hosturl/install.php,将出现安装界面。然后按照要求填入你的数据库地址、数据库名、表名称、密码、表头、默认编码(UFT-8,不要修改),然后提交表单,安装即将完成
2、登录管理界面,指定管理员名称、用户名和密码;
3、安装已经完成了。
4、安装后会在根目录下生成dbinit.php,注意不要删除。dbinit.php.sample是一个样本,你可以通过这个了解下dbinit.php的结构。
个性化修改:
1、修改导航栏的链接:修改根目录下CLS目录的nav.php,找到其中的function Navigation(),修在下 面添加或者修改 $this->appendNavItem(‘$url’,$label,LOCATION_NAME);。依据我的修改为例,在导航中添加gowers的网记的链接,则在下面加入 $this->appendNavItem (‘http://www.gowers.cn’,gowers,LOCATION_GOWERS);即可
2、修改脚标:脚标的修改在主题文件中,如果你正在使用的主题文件没有“footer.php”文件,那若你需要修改脚标,请修改根目录下面的themes\default\web文件夹中的footer.php文件。
3、修改header。header title的修改也在主题文件中,如果你正在使用的主题文件没有“header.php ”文件,那若你需要修改header,请修改根目录下面的themes\default\web文件夹中的header.php文件 。将其中的<title><?php echo rss_header_title() ?> </title>修改成你想要的。不过建议只在后面 加个“- 你的网站名称”。此外在header中也可以加入favicon的LOGO。
已知未解决BUG
1、分类中文乱码(6.0版本也存在这样的问题)。正在解决中……
2、TAG中文前台输入乱码,后台输入不乱码(6.0版本也存在这样的问题)。正在解决中……
3、其他的暂时还没发现
说明:
1、update即更新功能,请让服务器自动执行。如果你的服务器支持LINUX命令或者PHP命令,可以让服务器每隔45分钟自动刷新下update.php;
2、如果不能自动更新,请手工更新,即点击导航栏上面的update。不过不要经常刷新,会增加服务器压力。
下载:
*官方下载 | gowers修改版下载(内核0.5.5,部分文件为0.6.0)*MD5值:9B47C81322BED97C6A21CC164D01940C*gowers提供的下载寄存在fileqube网络网盘上
下载我的版本在使用的过程中如果出现问题,可以在本文下方留评论。
Tags: gregarius, php, rss, 中文, 乱码, 版本
相关文章 / RELATED POSTS ABOUT THIS ARTICLE

支持一下~~~
谢谢啦,当初记得好像是你要的,所以我就整理了下。此外也给有需要的朋友使用吧。毕竟比原始版本BUG少一些。不过有时间我还会努力改进。
安装好了!!以后就可以大家一起分享了~~
不错不错~~是好东西~~~
貌似很复杂……
能不能发一份到我的邮箱?好像下载了一点就下载不了了~
已经发给你了,到你留评论用的邮箱,请查收~
谢谢~~
不过设置起来很复杂哦~~
慢慢弄~~
我的地址:http://me.wordbird.cn/read/
建议你使用lilina主题,那个主题我修改的很多~
默认的主题会因为各个FEED使用的DIV等标签不标准而导致页面混乱。我修改后的lilina主题基本修复了这些问题,同时体验上也好点~
设置不是很繁琐,如果有疑问之处,可以留言给我~
但就是不敢用~你这个修改版本来得太及时了!!!!!
今天晚上不睡觉给安装好!有问题还要请教你俄!
好的呀,谢谢支持!用上了给我个链接看看~
有问题可以随时P我~
我安装了 但是后台是空白
安装地址:http://www.domoyo.cn/
这个问题我将在春节后将补丁发送到你的邮箱。有的服务器安装就会出现这个问题。
学习了,不知道安装这个东西对空间有没有要求,比如函数什么的?
没什么太多要求~这个版本基本上都能装
怎么登陆后台?
后台登陆地址:http://你的安装路径目录/admin
打不开页面,显示空白,怎么解决?
呃,看来你又遇到这样的情况,哎~郁闷。我整理个包发到你留的邮箱~
已经给你发过去了,你查收下~里面附有解决方法(注意附件~)
太谢谢了
不客气~
我碰到一个问题,用Gregarius聚合新浪的rss时候,服务器(Linux)上的程序总是会把时间搞错,把时间都记录为当前时间,不知道大家有没碰到过?
不过我在本地windos上面运行却没这个问题
这是它RSS的问题,一般是会出现在你第一次聚合的时候,之后聚合就不会有。如果你聚合没有时间标签的RSS,那就会出现所有时间都默认为0:00。我已经邮件给你说明~
你说的这个问题我想在之后做一个修缮,现在工作一直比较忙,也没时间改几个重大的BUG,不过这几个BUG暂时都不影响使用~
谢谢,你什么时候改了,麻烦email我一下
我最近做了个mxna风格
没问题!
gowers:
请赐源码啊,谢谢您 raikkonen@upachina.org
已经发给你了,请按照要求更新即可
进不了后台….
进不了后台这个问题需要我发你一个包,回头给你发过去
源码下载不了啊,能发我份最新的代码么?
邮箱 iiduce@163.com
谢了
好的,没问题,下周一给你
问一个菜鸟问题,我一点不懂PHP.我也是看了你的教程去跟着你一步一步安装的,都整修得差不多了,在修改请修改根目录下面的 themes\default\web文件夹中的header.php文件时。我把 这个碰到点问题,你能不能具体中说说这个title怎么写,比如说我要标题显示成”freshhand的RSS聚合”.怎么写?谢谢啊!
这个在后台就可以设置~~不需要修head文件。当然,你要高兴,也可以在head文件中的中将其写死,不过不建议。
在后台设置好,谢谢啊!我现在研究你的twitter spy,你做的都好有创意,另外,你网站上的INSIDE侧栏,刚打开网页的时候一移动RSS订阅以下的菜单时inside侧栏就消失了,点不到,试过点点几次其它页面再回来就正常了。
twitter spy的创意不是我的,是我在老外的创意上修改的,借鉴了一些别人的代码。
你说的那个insede的问题,我现在也没搞明白,不过问题出现几率小,FF下会有一点。在IE和CHROME下基本没问题。
我把 删了,改成其它的再刷新,标头都没反应,是不是我打开错文件了,还是PHP没写对?是用GREGARIUS0.6.0,Lilina主题!
兄弟发我一份最新的吧,谢了,搞了一上午错误还是很多
好的,明天给你发,今天有点忙,可以么?
没问题,邮箱252312645@qq.com ,先谢了
已经给你发过去了,请查收。如果安装中有问题可以与我沟通。
QQ邮箱没收到,囧,你上传到box.net吧,大家都方便了
谢谢分享。。。
下载了您在网盘提供的。
但安装后进不了后台(空白)。。请教如何解决
1195139@qq.com
已经给你发过去了,,请查收~
邮件收到了。谢谢
不客气
请问我想每个条目默认为折叠状态,应该如何设置呢?
这个在后台的设置中就有,你可以找下。
更换为您的修改版,同样后台空白,求助
修改版后台空白,需要一个补丁,如果你需要,请给我下你的email地址~谢谢~
fzywar@yahoo.com.cn
感谢您的回复。刚接触Gregarius,还望得到您的帮助。
在下愚钝,始终没找到那个条目控制的选项,请问是哪个项目呢?
我明天发给你,回头告诉你下~~
感谢感谢,我现在遇到的问题是抓取延迟,而且手动刷新的话有些站的RSS也抓不到内容,删除重新添加RSS地址后又抓到了。似乎只能抓到第一次添加时的内容,不知道是设置还是服务器或者是源的问题,反正挺郁闷的。
抓取需要在后台做一些设置,如果你要更新,最好使用CRON命令或者windows的任务来实现定时更新。目前后台默认的是45分钟是抓取时间限制,就是45分钟内的任何刷新行为都无效。这个你使用多了就知道了。
学习了!
你的网站做得真好,我弄了几天gregarius还是有很多问题,能发一份你的修改版给我吗?谢谢!
谢谢!我周一给你发过去
我进入后台也同样出现空白,请发我一个补丁好吗?邮箱在前面的必填选项中已留~谢谢了。
你好 我用的版本是0.6.1 可是没有找到合适的主题 如果有的话能不能给我发一个 再有一个问题就是我想让文章只留标题 将文章的内容既能展开又能折叠 有这种插件或主题吗?
主题您网上找找,我手头上没有,都是默认主题。关于您说的既能展开,又能折叠,默认的主题好像就是这样的~
在主页中显示的文章都是展开的!有一个collapse的插件,导入后只有两个按钮,但还是没有展开和关闭的作用?
我的邮箱是lz_2009@126.com
能发我份最新的代码么?
我的邮箱是lz_2009@126.com
谢谢啦~
你说的那个主题我没用过,我还真不太清楚。我一会儿给你发过去~
Gowers大哥,你可真是好人呀!我今天搜索到你的网上了,哈哈!
可不可以将你这个程序给小生发个呢?我的email地址:lovernow@gmail.com
谢谢啦!最好能详细点哦!小弟可从未学过程序呢!唉,隔行如隔山呀!记得给我发份哦!
呵呵,我的邮箱地址是lovernow@gmail.com,中间有个r,许多朋友发email时总是少一个r。Gowers大哥给我发份吧!Thanks.
已经给你邮件发过去了~~
我想请教一下后台哪个选项可以关闭“未读条目”?我只需要它按照时间排列条目就可以了,不需要提醒我。期待博主的回复。
rss.output.frontpage.mixeditems 这个选项可以~~
博主,这个选项的作用是,每次刷新后在首页显示未读项目,看完后显示全面项目。
能发给我一份吗?谢谢了!
我的邮箱:xiaoduan210@qq.com
已经给你发过去了,请查收!
页脚添加信息时出现乱码怎么办?
那一定是你编码的问题,自己看看,是否调整成UTF8了
页脚信息就是footer.php中添加的对吗?是乱码~
怎么调整UTF8啊?
用你的代码编辑器将文件ASNI的编码修改成UTF8,你网上找找教程。因为你添加中文了,所以必须修改。修改的文件是对的~~
好了 谢谢~
不好意思,我的QQ邮箱收不到.能再给我发一次吗?
再劳驾您一次,这次发到雅虎邮箱:mlbb1987@yahoo.cn
我从官方下了个Autotagger插件,是自动获取tags的插件.前台显示的是乱码.后台看不到.这个能修改吗?我看数据库里面的编码更复杂.
没用过。TAG的问题还没时间弄,工作太忙。有空我看看~
谢谢,能不能也给我发一份呢?….
xeo@qq.com
已经给你发过去了,请查收,谢谢!
没有收到 能够重发么 谢谢
你垃圾箱里面找找,肯定给你发过去了。
O(∩_∩)O哈哈~ 我又来了~
gowers师傅 要想在主页里加点东西改哪个文件啊?
呵呵 不用麻烦师傅了 我找到了 ~
请发给我一份 谢谢~
looex@sina.com
今天18:00后给你发过去,到时候注意查收.记得看看垃圾箱,万一邮件在垃圾箱中!
显示条目:只显示已读/显示已读和未读
这个没有了 怎么找出来啊?
要重写代码吗?
rss.output.frontpage.mixeditems 这项我也设成ture了啊
还是没有(显示条目:只显示已读/显示已读和未读)
愁人啊~
如果你没有未阅读项目,将不显示。只有在有未阅读项目的时候才显示。呵呵~~
O(∩_∩)O谢谢
你好,你fileqube网络网盘上文件已经没法下载了啊。我很想要一个你改过的Gregarius,请问可不可以发封邮件送给我呢。。。谢谢了。
下周一给你发过去,现在这台电脑上没有,谢谢!
你的地址不能下载了,请问能给我发一个修改版么?
wybysh@gmail.com
谢谢了啊~
下不了啊 413836973@qq.com 麻烦又空传个给我 谢谢 支持
周一发给你,QQ邮箱不能收到我邮箱发出的邮件,烦请给我另一个邮箱,谢谢!
网盘无法下载了,能发我邮箱一份吗?谢谢。seehots@163.com
没问题~~
麻烦给我也发一份,谢谢!:)另外建议让小众帮忙挂个贴,放到他的网盘,貌似他的网盘比较稳定
可以,一会儿发你~
Gregarius 好像太耗服务器资源了,自己装了一个,经常打不开页面,so,删除了。。。
现在下载地址出问题了么?
下载不了啊
可以发一份到我邮箱么?
谢谢了~
用的就是我留的这个邮箱~
刚刚看了评论说QQ邮箱收不到你发的么?
我现在重新留了个163的邮箱,谢谢了~
你好,
请问找到解决分类和标签乱码的方法了嘛? 我下的是最新的6.1版,照你的方法修改了时间等问题. 目前也只还有两个问题, 分类在后台写上后,就变成几个???.
另:那个修改显示feed内容的,能不能还是像原来一样的隐藏,点开后,像打开分类,标签那样的,用JS提出数据, 这样不就不用新打开个窗口来显示数据了嘛?
默认主题应该就是JS那种点击打开的。我现在在用的主题去掉了这个功能,因为那样一次载入量太大,不利于网页打开。
如果你需要JS那个样子,去官网下个包,把其中的主题覆盖下就可以了
感谢回复,
额..我也想到这个首次打开的速度问题, 我的意思是,用AJAX方式来提取feed内容,(我看那个提取分类,标签好像用的就是AJAX)
这都没什么,最主要的就是那分类和标签的乱码问题,这两搞好了,基本这程序就无美了
分类的问题,我想可能是后台那个写入数据库的方法不对,入库以后,中文就变成?了,在数据库中改成中文以后,就没事了!
标签那个,应该也是入库的哪个小功能有问题,
请你给我也发一份,luolang638@163.com 万分感谢
好像网盘的下不了了,能否发到我邮箱里一份?allhack@163.com 谢谢博主了
File downloads are temporary unavailable
无法下载,能否发一份到邮箱? msty@tom.com
我用的官方的,全是乱码
http://uicss.cn/read/
从网上找到了一份你修改后的gregarius,在服务器上重新安装后发现,仍然是乱码……
无奈了。。
我昨天给你发了,,请查收你的邮箱,谢谢!
能发我一份你修改过的吗,大哥
jiajiaandtianyu@163.com
我从你给的地址没法下载
谢谢了
能发一份给我嘛,在网盘下载不到啊,谢谢了
能发一份给我吗?谢谢
急需要啊,麻烦发一份给我。谢谢
已发,但我不保证QQ邮箱能收到我个人的邮局发出的邮件。若没收到,请告诉我,我重新发给你。
已经收到了 谢谢
大大啊 你留得那个下载地址貌似没法用 可以发一份你修改好的给我么? panyafu1987@163.com
已发,,请查收,近期我将更新下下载地址,原来那个fileden好像注销了我的帐户,抱歉!!
老大,我狂晕.你那个代码有问题,引号怎么还有反引号的?怎么都不带改的啊.折腾半天了.才发现是这个问题.我猜好多人都蒙了.我是菜鸟…
呃呃,那是我的错,,抱歉哈,,