#author("2021-12-27T12:06:58+09:00","","")
#author("2021-12-28T00:47:34+09:00","","")
**[[質問箱/5443]] [#y61092c6]
|RIGHT:70|LEFT:410|c
|~カテゴリ|動作環境|
|~サマリ|RecentChangesに差分とバックアップのリンクを載せたい|
|~バージョン|5.3|
|~投稿者|[[名無し]]|
|~状態|質問|
|~投稿日|&new{2021-12-27 (月) 08:14:04};|
***質問 [#j61ee886]
RecentChanges(最終更新)のページは使いやすいものの、更新されたページのみの表示なのでいまいち変更箇所が分かりにくいです。
Wikipediaの最近の更新ページのように差分とバックアップのリンクを載せるのはどうしたらよいでしょうか。

***回答 [#t4527a37]

- file.phpの565行目にあるput_lastmodified()内の// Create RecentChangesのところを以下のように変更する。(608行目)
 	// Create RecentChanges
 	$file = get_filename($whatsnew);
 	pkwk_touch_file($file);
 	$fp = fopen($file, 'r+') or
 		die_message('Cannot open ' . htmlsc($whatsnew));
 	set_file_buffer($fp, 0);
 	flock($fp, LOCK_EX);
 	ftruncate($fp, 0);
 	rewind($fp);
 	foreach (array_keys($recent_pages) as $page) {
 		$time      = $recent_pages[$page];
 		$s_lastmod = htmlsc(format_date($time));
 		$s_page    = htmlsc($page);
 -		fputs($fp, '-' . $s_lastmod . ' - [[' . $s_page . ']]' . "\n");
 +		fputs($fp, '-' . $s_lastmod . ' - [ [[差分>Diff:' . $s_page . ']] | [[バックアップ>Backup:' . $s_page . ']] ] [[' . $s_page . ']]' . "\n");
 	}
 	fputs($fp, '#norelated' . "\n"); // :)
 	flock($fp, LOCK_UN);
 	fclose($fp);
−の行を+の行に置き換える。(+は消す)

- 以下のInterWikiNameを追加する
 -[./?cmd=diff&page= Diff]
 -[./?cmd=backup&page= Backup]
- これでどうでしょうか。 -- [[はいふん]] &new{2021-12-27 (月) 11:27:52};
-- 変更してどれか一つページを更新してみるとRecentChangesが以下のように表示されるはずです。
-2021-12-27 (月) 11:29:13 - [ [[差分>Diff:test3]] | [[バックアップ>Backup:test3]] ] [[test3]]
-2021-12-27 (月) 11:29:10 - [ [[差分>Diff:test2]] | [[バックアップ>Backup:test2]] ] [[test2]]
-2021-12-27 (月) 11:29:06 - [ [[差分>Diff:test1]] | [[バックアップ>Backup:test1]] ] [[test1]]
- ありがとうございました。出来ました。 -- [[名無し]] &new{2021-12-27 (月) 23:20:07};

- InterWikiを使わない方法を考えてみました。 -- はいふん
 +	$script = get_script_uri();
 	foreach (array_keys($recent_pages) as $page) {
 		$time      = $recent_pages[$page];
 		$s_lastmod = htmlsc(format_date($time));
 		$s_page    = htmlsc($page);
 -		fputs($fp, '-' . $s_lastmod . ' - [[' . $s_page . ']]' . "\n");
 +		fputs($fp, '-' . $s_lastmod . ' - [ [[差分>' . $script . '?cmd=diff&page=' . $s_page . ']] | [[バックアップ>' . $script . '?cmd=backup&page=' . $s_page . ']] ] [[' . $s_page . ']]' . "\n");
 	}
- ありがとうございます。 -- [[名無し]] &new{2021-12-28 (火) 00:19:05};
- ちなみに、Update the page 'RecentChanges'のところも変更しないとうまく動作しないようです。 -- [[名無し]] &new{2021-12-28 (火) 00:19:28};

- これで直りましたでしょうか?Update the page 'RecentChanges'の方も書いておきました。 -- [[はいふん]] &new{2021-12-28 (火) 00:27:11};
- file.php 555行目(foreach~)
 +	$script = get_script_uri();
 	foreach ($recent_pages as $_page=>$time)
 		fputs($fp, '-' . htmlsc(format_date($time)) .
 -			' - ' . '[[' . htmlsc($_page) . ']]' . "\n");
 +			' - ' . '[ [[差分>' . $script . '?cmd=diff&page=' . htmlsc($_page) . ']] | [[バックアップ>' . $script . '?cmd=backup&page=' . htmlsc($_page) . ']] ] [[' . htmlsc($_page) . ']]' . "\n");
- ありがとうございます! -- [[名無し]] &new{2021-12-28 (火) 00:47:34};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.048 sec.

OSDN