調子が悪かった P_blog のRSS。
mixi が厳密な RSS を求めてたらしく、ダメでした。
mixi の Help を見たら、FEED Validator (英語サイト)に準拠せよと…。
で、なおした。
RSS 1.0 を直したら RSS 2.0 がダメになったりして…。
最終的な diff をさらしてみます。(p_blog の rss 以下)
RSS 1.0 はエラーなし、 RSS 2.0 は 最低限のやつはクリアしたはず。
diff -uNr rss_org/include/P_BLOG_RSS.class.php rss/include/P_BLOG_RSS.class.php
--- rss_org/include/P_BLOG_RSS.class.php 2008-01-05 20:35:38.000000000 +0900
+++ rss/include/P_BLOG_RSS.class.php 2008-01-04 17:45:17.000000000 +0900
@@ -31,7 +31,7 @@
return '<item>
<title>'. $title.'</title>
<link>'. $link .'</link>
-<pubDate>'.date('D, d M Y H:i:s ', strtotime($row['date'])).tz().'</pubDate>
+<pubDate>'.date('D, d M Y H:i:s ', strtotime($row['date'])).tz2().'</pubDate>
<description>' . $description . '</description>'.$enclosures.'
<content:encoded>
<![CDATA['. $row['comment'] . ']]>
@@ -158,7 +158,7 @@
{
global $cfg, $id, $tid, $row, $row2, $items, $item,
$tz, $log_table, $f_index, $forum_table;
-
+ $tz = tz2();
if (isset($tid)) {
$link = 'http://' . $_SERVER['HTTP_HOST'] . $cfg['root_path'] .
'forum/topic.php?tid=' . $tid . '&p=0';
diff -uNr rss_org/include/fnc_rss.inc.php rss/include/fnc_rss.inc.php
--- rss_org/include/fnc_rss.inc.php 2008-01-05 20:35:38.000000000 +0900
+++ rss/include/fnc_rss.inc.php 2008-01-05 20:43:09.000000000 +0900
@@ -9,6 +9,88 @@
global $cfg;
switch($cfg['tz']) {
case '-12':
+ $tz = '-12:00';
+ break;
+ case '-11':
+ $tz = '-11:00';
+ break;
+ case '-10':
+ $tz = '-10:00';
+ break;
+ case '-9':
+ $tz = '-09:00';
+ break;
+ case '-8':
+ $tz = '-08:00';
+ break;
+ case '-7':
+ $tz = '-07:00';
+ break;
+ case '-6':
+ $tz = '-06:00';
+ break;
+ case '-5':
+ $tz = '-05:00';
+ break;
+ case '-4':
+ $tz = '-04:00';
+ break;
+ case '-3':
+ $tz = '-03:00';
+ break;
+ case '-2':
+ $tz = '-02:00';
+ break;
+ case '-1':
+ $tz = '+01:00';
+ break;
+ case '12':
+ $tz = '+12:00';
+ break;
+ case '11':
+ $tz = '+11:00';
+ break;
+ case '10':
+ $tz = '+10:00';
+ break;
+ case '9':
+ $tz = '+09:00';
+ break;
+ case '8':
+ $tz = '+08:00';
+ break;
+ case '7':
+ $tz = '+07:00';
+ break;
+ case '6':
+ $tz = '+06:00';
+ break;
+ case '5':
+ $tz = '+05:00';
+ break;
+ case '4':
+ $tz = '+04:00';
+ break;
+ case '3':
+ $tz = '+03:00';
+ break;
+ case '2':
+ $tz = '+02:00';
+ break;
+ case '1':
+ $tz = '+01:00';
+ break;
+ default:
+ $tz = '+00:00';
+ break;
+ }
+ return $tz;
+}
+
+function tz2() {
+ global $cfg;
+ switch($cfg['tz']) {
+ case '-12':
$tz = '-1200';
break;
case '-11':
@@ -43,7 +125,7 @@
break;
case '-1':
$tz = '+0100';
- break;
+ break;
case '12':
$tz = '+1200';
break;
サブルーチンを足して、定義されてない変数を定義。
オープンソース万歳。
記事はも少し足すかも。→足しました。(07/01/06)
http://www.gimmix.org/max/article.php?id=452

