トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BugTrack-wiki/348

ページの作成や編集にはユーザ登録が必要です。

3.6.5用の履歴一覧の表示で変更者の出力がおかしい

  • 投稿者: guests
  • カテゴリ: プラグイン
  • 優先度: 低
  • 状態: リリース済
  • 日時: 2015年10月10日 22時58分51秒

 内容

unixtimeの下4桁カットしているので1秒以内ではなく数時間?以内でも同じと見なされるっぽい。なので+−1とかにする?Diff.pmです。

sub show_history {

・・・

	# editlogプラグインのログから編集者のユーザ名を取得
	# (editlogの日付がズレることがあったので1秒以内の更新は同じ履歴とみなすようにしてます)
	my $editlog = {};
	if($wiki->config('log_dir') ne "" && -e $wiki->config('log_dir')."/useredit.log"){
		open(DATA,$wiki->config('log_dir')."/useredit.log") or die $!;
		while(<DATA>){
			my($date, $time, $unixtime, $action, $subject, $id) = split(" ",$_);
			$subject = Util::url_decode($subject);
			if($subject eq $page){
				if($id eq ''){
-					$editlog->{substr($unixtime, 0, length($unixtime) - 4)} = 'anonymous';
+					$editlog->{$unixtime} = 'anonymous';
+					$editlog->{$unixtime+1} = 'anonymous';
+					$editlog->{$unixtime-1} = 'anonymous';
				} else {
-					$editlog->{substr($unixtime, 0, length($unixtime) - 4)} = $id;
+					$editlog->{$unixtime} = $id;
+					$editlog->{$unixtime+1} = $id;
+					$editlog->{$unixtime-1} = $id;
				}
			}
		}
		close(DATA);
	}

・・・

-		if(defined($editlog->{substr($time, 0, length($time) - 4)})){
-			$buf .= " by ".$editlog->{substr($time, 0, length($time) - 4)};
+		if(defined($editlog->{$time})){
+			$buf .= " by ".$editlog->{$time}; 
	}

 コメント

  • 修正方法は異なりますが、コミットしました。 - KG (2017年12月05日 14時30分44秒)
  • fswiki3.6.5でリリースしました。 - KG (2018年03月30日 11時27分53秒)
お名前: コメント:

最終更新時間:2018年03月30日 11時27分56秒