調子が悪かった 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