PivotのATOM FeedにnicknameじゃなくてログインIDの方が表示されてしまう件。

とりあえず%author%を追いかけてみる。

pivot/modules/module_parser.phpで置換をかけてるらしい。
…共通の置換エンジンがあるわけではないのか…

1849: "%author%",
(中略)
1869: $user,
(中略)
1882: $atom_item= str_replace($from, $to, $atom_item);

一応、対応タグは以下の通り。テンプレート内で、——で区切られた2番目の部分(item)に関してのみ。

$from = array(
  "%title%",
  "%subtitle%",
  "%link%",
  "%description%",
  "%summary%",
  "%author%",
  "%guid%",
  "%date%",
  "%date_rfc%",
  "%category%",
  "%content%",
  "%tag%",
  "%lang%",
  "%vialink%",
  "%viatitle%"
);

で、辿っていくと$userは下記コードで定義されてる。

824: $entry = $db->read_entry($list_entry['code'], TRUE);
(中略)
846: add_rss($entry['code'], $entry['date'], $entry['title'], $entry['introduction'], $entry['body'], $entry['user'], $entry['category'] );

$entryの中見たらこんな感じ。

array(22) {
  ["code"]=>
  ["date"]=>
  ["introduction"]=>
  ["body"]=>
  ["category"]=>
    [0]=>
    [1]=>
  ["publish_date"]=>
  ["edit_date"]=>
  ["title"]=>
  ["subtitle"]=>
  ["user"]=>
  ["convert_lb"]=>
  ["status"]=>
  ["allow_comments"]=>
  ["keywords"]=>
  ["vialink"]=>
  ["viatitle"]=>
  ["commnames"]=>
  ["commcount"]=>
  ["commcount_str"]=>
  ["tracknames"]=>
  ["trackcount"]=>
  ["trackcount_str"]=>
}

…ニックネームないね。

$fromの定義の前に

1843: if (isset($Users[$user]['nick']) && $Users[$user]['nick'] != '') {
1844:     $user = $Users[$user]['nick'];
1845: }

こんなコード追加して解決。
あとglobalに$Users追加。

1778: global $db, $rss_items, $atom_items, $items_added, $Cfg, $Weblogs, $Current_weblog, $Allow_RSS, $Paths, $Users;

%author-nick%みたいなのを追加するというのでもいいかな。


新しく会社作りました!

コメントをどうぞ