############################################################
#
# PDFプラグインの初期化およびWikiFarmによるWiki削除時の
# 処理を行うフックプラグイン
#
############################################################
package plugin::pdf::PDFInitializer;
use strict;
use File::Path;
#===========================================================
# コンストラクタ
#===========================================================
sub new {
	my $class = shift;
	my $self  = {};
	return bless $self,$class;
}

#===========================================================
# PDFプラグインの初期化
#===========================================================
sub hook {
	my $self = shift;
	my $wiki = shift;
	my $name = shift;
	
	# remove_wikiフック
	if($name eq "remove_wiki"){
		my $path = $wiki->get_CGI()->param("path");
		if(-e $wiki->config('pdf_dir').$path){
			rmtree($wiki->config('pdf_dir').$path) or die $!;
		}
	
	# initializeフック
	} elsif($name eq "initialize") {
		# Farmで動作している場合はグローバル変数を上書き
		my $path_info = $wiki->get_CGI()->path_info();
		$path_info =~ m<^((/[^/]+/)*)/([^/]+)$>;
		if(length($path_info)>0){
			$wiki->config('pdf_dir',$wiki->config('pdf_dir').$path_info);
		}
		
		unless(-e $wiki->config('pdf_dir')){
			mkpath($wiki->config('pdf_dir')) or die $!;
		}
	}
}

1;