表紙 | 新規 | 一覧 | RSS | 検索 | 閲覧履歴 | 作成履歴 | 更新履歴

do_read_cache関数 - YukiWikiベースのPonyWikiのソースを読んでみる その30

差分表示


[[YukiWikiベースのPonyWikiのソースを読んでみる]] その30

キャッシュがあれば、その内容を返し、なければ[[text_to_html関数]]の結果をキャッシュに格納後に返す。

キャッシュ禁止文字列のチェックもしています。

---(
sub do_read_cache{
	my ($page) = @_;
	my $cache_html;
	my ($no_cache_flag,$ng_word);

	if (not exists $cachebase{$page}) {
		if ($form{keitai}){$no_cache_flag = 1;}
		foreach $ng_word (@no_cache_word){
			if ($database{$page} =~ /\Q$ng_word\E/i) { $no_cache_flag = 1;}
		}
		$cache_html = &text_to_html($database{$page}, toc=>1, partinfo=>1);
		if (!$no_cache_flag){
			$cachebase{$page} = $cache_html;
		}
	} else {
		$cache_html = $cachebase{$page};
	}
	
	return $cache_html;
}
---)

先頭へ