Gregarius安装错误和写入数据库乱码等问题的方法

Gregarius官方网站: http://gregarius.net/

0.6.1下载: gregarius-0.6.1

当然,Gregarius也不是完美的,它有着众多国外程序令人诟病的语言兼容问题,解析的feed会出现乱码。针对Gregarius,还是要作一些修改的。下面的修改是gowers提供的:

具体修改:

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 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 开头的代码,将其修改成

<h4>

<a title=”<?php echo rss_item_pl_title(); ?>” href=”<?php echo rss_item_pl_url(); ?>”>

<?php echo rss_item_title(); ?>

</a>

</h4>

此外,将

<a 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。不过不要经常刷新,会增加服务器压力。

修改的版本提供的下载地址失效,这里上传一下:

Gregarius_by_gowers

安装原版程序后,再用上述文件覆盖。如果出现登陆不了后台,拿补丁中的文件直接覆盖ADMIN文件夹。

落花生

认准了方向,就要勇敢地走下去,十年磨一剑,我相信,只要坚持,一切都有可能。

相关日志

  1. 没有图片
  2. 没有图片

    2010.12.10

    移除WordPress评论者和内容链接

    期 WordPress Spam 制造者横行…

  3. 没有图片

    2010.05.12

    WordPress 不用插件实现相关日志的办法

    Wordpress 的可以实现相关日志功能的…

  4. 没有图片

    2010.05.19

    Comsenz 核心产品 Discuz! X1正式版发布

    Discuz! X1 Beta出来不久,今天…

  5. 没有图片

    2010.05.27

    Fusion – Joomla Template

    Joomla也是一个非常强大的CMS系统,大…

  6. 没有图片

    2012.03.08

    今夜情归航

    这是土豆网上一个网友无止境的梦的原创录音,是…

评论

  1. 李思章 2011.09.03 11:04上午

    自己测试一下代码回复:

    “Failed to execute the SQL query:
    select uname,password from  rss_users  where ulevel=99
    Error 1146: Table 'rss061ori.rss_users' doesn't exist”
  2. littlebearz 2011.05.28 7:13上午

    gregarius hi shenme dongxi a ?

About

马拉松运动员,沉迷于跑步;关注科技前沿,关注互联网!与跑者、程序员、设计师为伍,一起跑步健身,一起编写程序,为自由而战!