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. 没有图片

    2013.10.09

    孩子,我不欠你的

    有个美国小孩问他爸爸"我们很有钱吗?" 爸爸…

  2. 2014.04.09

    狮子与狼的段子

    狮子让一只豹子管理10只狼,并给他们分发食物…

  3. 没有图片

    2010.06.05

    UCWEB手机浏览器 For Symbian 7.20

    UCWEB(优视浏览器)是由优视动景开发的一…

  4. 没有图片

    2011.07.12

    美国HostMonster主机服务记录

    自从给单位网站的主机续了费之后,数据库就没了…

  5. 没有图片

    2013.07.21

    魅族是怎样炼成的[纯个人收藏]

    本篇日志,只是今晚看了《速度与激情6》之后无…

  6. 没有图片

    2010.12.16

    自由门专业版 你找到了吗?

    今天菠萝想趴梯看墙外风景,居然找不到几个可行…

评论

  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 ?