#!/usr/bin/perl

# editing by Tomonori,OSHIKAWA 2006/10/31 (add img field from 4 to 12)
#====================================================================
# スキン型新着情報CGI 一覧機能一体バージョン
#====================================================================
# >> 設置方法
#
#  > １行目
#
#   #!/usr/local/bin/perlにはプロバイダのperlのパスを入力してください。
#   わからなければプロバイダに問い合わせてください。
#
#  > パーミッションの設定
#
#   new_skin/                 [755]
#     |
#     |-- new_skin.cgi        [755] # 新着情報cgi
#     |-- listindex.cgi       [755] # 一覧用CGI
#     |-- upload.cgi          [755] # アップロードルーチン
#     |-- index.html          [644] # ダミー
#     |
#     |-- lib/                [755] # ライブラリ格納ディレクトリ
#     |    |
#     |    |-- jcode.pl       [644] # 日本語変換ライブラリ
#     |    |-- config.cgi     [644] # 一覧設定ファイル
#     |    |-- index.html     [644] # ダミー
#     |
#     |-- data/               [777] # データ格納ディレクトリ
#     |    |
#     |    |-- data.csv       [666] # 記事データ格納ファイル
#     |    |-- no.txt         [666] # 記事番号記録ファイル
#     |    |-- option.txt     [666] # オプション設定記録ファイル
#     |    |-- skin.csv       [666] # スキン登録ファイル
#     |    |-- index.html     [644] # ダミー
#     |    |-- .htaccess      [644] # データファイル閲覧の防止
#     |
#     |-- img/                [777] # 画像ファイル格納ディレクトリ
#     |    |
#     |    |-- index.html     [644] # ダミー
#     |
#     |-- skin/               [777] # スキンファイル格納ディレクトリ
#          |
#          |-- index.html     [644] # ダミー
#          |-- list.html      [644] # 一覧埋め込み用HTML
#
#
#  > スキンのソース
#
#   ・表示用スキン
#
#    ソースの中に左のキーワードを入れておくと表示時に右の内容に置換されます。
#
##### 最低入力項目 ###########################
#    __dete__       -->  最終更新日時
#    __title__      -->  タイトル
#    __subtitle__   -->  サブタイトル
###########################################

##### コメント ##############################
#    __comment1__   -->  日記一覧用コメント
#    __comment2__   -->  コメント1
#    __comment3__   -->  コメント2
#    __comment4__   -->  コメント3
#    __name__       -->  コメント4
###########################################

##### 画像 #################################
#    __img1__       -->  画像ファイル01
#    __img2__       -->  画像ファイル02
#    __img3__       -->  画像ファイル03
#    __img4__       -->  画像ファイル04
#    __img5__       -->  画像ファイル05
#    __img6__       -->  画像ファイル06
#    __img7__       -->  画像ファイル07
#    __img8__       -->  画像ファイル08
#    __img9__       -->  画像ファイル09
#    __img10__      -->  画像ファイル10
#    __img11__      -->  画像ファイル11
#    __img12__      -->  画像ファイル12
###########################################
#
#====================================================================

require './lib/jcode.pl';
require './lib/config.cgi';        # 各種設定

#--STATUS--#
my $DebugMode = 'OFF';
my $Version   = '0.1';
my $script    = "new_skin.cgi";    # このCGIの名前
my $retry      = 3;                # ファイルロックリトライ回数
my $lockout    = 60;               # ファイルロック解除時間(秒)
my $lockmode = 1;

my $IfRtc = '';
my @Rtc = ();
my $lockmode = 0;
my @skins  = ();
my @logs   = ();
my @Opt    = ();

#--フォームデータ取得--#
%FORM = &fnGetQuery();

#--パーミッション設定--#
chmod(0666,$CFG::DataFile);
chmod(0666,$CFG::NoFile);
chmod(0666,$CFG::OptionFile);
chmod(0666,$CFG::SkinFile);

#--オプションファイルの作成--#
$IfRtc = &CreateOption();
@Rtc = split(/:/,$IfRtc);
if( $Rtc[0] ne 'OK' ) { &error($Rtc[1]); }

#--オプションファイルの読み込み--#
open IN,$CFG::OptionFile;
@Opt = split(/,/,<IN>);
close IN;
my $password = $Opt[0];
my $step = $Opt[1];
my $column = $Opt[2];
my $yokospace = $Opt[3];
my $tatespace = $Opt[4];

#--スキン登録ファイルの展開--#
open IN ,$CFG::SkinFile;
while (<IN>) { push(@skins,$_); }
close IN;

#--データ格納ファイルの展開--#
open IN ,$CFG::DataFile;
while (<IN>) { push(@logs,$_); }
close IN;

#--ロック--#
#$lockmode = 1;
#$IfRtc = &FileLock($lockmode,$CFG::LockFile,$retry,$lockout);
#@Rtc = split(/:/,$IfRtc);
#if( $Rtc[0] ne 'OK' ) { &error($Rtc[1]); }

#--スキン登録ファイルがなければ作成--#
if(!@skins){
	open OUT,'> '.$CFG::SkinFile;
	print OUT 'デフォルトスキン,'.$CFG::SkinPath.'skin.html'."\n";
	close OUT;
	chmod(0666,$CFG::SkinFile);
}

#--ロック解除--#
#$IfRtc = &FileNnLock($lockmode,$CFG::LockFile,$retry,$lockout);
#@Rtc = split(/:/,$IfRtc);
#if( $Rtc[0] ne 'OK' ) { &error($Rtc[1]); }

&fnDebugParam(%FORM);

## モード ##############
if(   $FORM{'mode'} eq 'admin'       ){ &admin();      }
elsif($FORM{'mode'} eq 'pass'        ){ &pass();       }
elsif($FORM{'mode'} eq 'addskin'     ){ &addskin();    }
elsif($FORM{'mode'} eq 'delskin'     ){ &delskin();    }
elsif($FORM{'mode'} eq 'error'       ){ &error();      }
elsif($FORM{'mode'} eq 'preview'     ){ &preview();    }
elsif($FORM{'mode'} eq 'docpre'      ){ &docpre();     }
elsif($FORM{'mode'} eq 'edit'        ){ &edit();       }
elsif($FORM{'mode'} eq 'edit2'       ){ &edit2();      }
elsif($FORM{'mode'} eq 'option'      ){ &option();     }
elsif($FORM{'mode'} eq 'option2'     ){ &option2();    }
elsif($FORM{'mode'} eq 'reset'       ){ &reset();      }
elsif($FORM{'mode'} eq 'res2'        ){ &res2();       }
elsif($FORM{'mode'} eq 'new'         ){ &new();        }
elsif($FORM{'mode'} eq 'optionform'  ){ &optionform(); }
elsif($FORM{'mode'} eq "orderset"    ){ &orderset();   } # レコード順入れ替え
else                                  { &main();       }

#### データ受け取り #####
sub fnGetQuery()
{
	my $buffer = '';
	my %FORM   = ();

	if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer,  $ENV{'CONTENT_LENGTH'}); }
	else                                  {             $buffer = $ENV{'QUERY_STRING'};    }

	my @pairs = split(/&/,$buffer);

	foreach my $pair (@pairs) {
		my($name,$value) = split(/=/,$pair);
		$value =~ tr/+/ /;
		$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
		&jcode'convert(*value,'sjis');

		$value =~ s/&/&amp;/g;
		$value =~ s/</&lt;/g;
		$value =~ s/>/&gt;/g;
		$value =~ s/"/&quot/g;
		$value =~ s/\r\n|\r|\n/_brake_/g;
		$value =~ s/\,/_comma_/g;

		$FORM{$name} = $value;
	}

	return(%FORM);
}

#### ファイルロック ####
sub FileLock()
{
	my $lockmode   = shift;
	my $lockfile   = shift;
	my $retry      = shift;
	my $lockout    = shift;
	my $msg        = '';

	if (!$lockmode) {
		$Rtc = 'OK:nonMODE:*';
		return($Rtc);
	}

	if (-e $lockfile) {
		my $locktime = (stat($lockfile))[9]; # 最終更新時間
		if ($locktime < time - $lockout) {
			my $IfRtc = &unlock($lockmode,$lockfile,$retry,$lockout);
			my @Rtc = split(/:/,$IfRtc);
			if($Rtc[0] ne 'OK' ) {
				$msg = $Rtc[1];
			}
		}
	}

	if (!(-e $lockfile) ) {
		while (!mkdir($lockfile,0755)) {
			if (--$retry < 0) {
				$msg = '現在書き込みできません。<br>しばらくたってからやり直してください。';
				$Rtc = 'NG:'.$msg.':*';
				return($Rtc);
			}
			sleep(1);
		}
	}

	$Rtc = 'OK:*:*';

	return($Rtc);
}

#### ファイルロック解除 ####
sub FileNnLock()
{
	my $lockmode   = shift;
	my $lockfile   = shift;
	my $retry      = shift;
	my $lockout    = shift;
	my $msg        = '';

	if ($lockmode) {
		while (!rmdir($lockfile)) {
			if (--$retry < 0) {
				$msg = 'ファイルロック解除に失敗しました';
				$Rtc = 'NG:'.$msg.':*';
				return($Rtc);
			}
			sleep(1);
		}
	}

	if($msg ne '' ) {
		$Rtc = 'NG:'.$msg.':*';
	}else{
		$Rtc = 'OK:*:*';
	}

	return($Rtc);
}

#### パスワード暗号化 ####
sub EnCrypt()
{
	my( $Pass ) = @_;

	my @salt = ('a' .. 'z','A' .. 'Z','0' .. '9');
	srand;
	my $Salt = $salt[int(rand($#salt))].$salt[int(rand($#salt))];
	my $Cry  = crypt($Pass,$Salt);

	return( $Cry );
}

##### パスワード照合 ####
sub DeCrypt()
{
	my($Pass_Form,$Pass_Crypy) = @_;

	$salt = $Pass_Crypy =~ /^\$1\$(.*)\$/ && $1 || substr($Pass_Crypy,0,2);

	if (crypt($Pass_Form,$salt) eq $Pass_Crypy || crypt($Pass_Form,'$1$' . $salt) eq $Pass_Crypy) { return 1; }
	else                                                                                          { return 0; }
}

#### オプションファイル作成 ####
sub CreateOption()
{
	my $msg = '';

	open IN,$CFG::OptionFile;
	$opdata = <IN>;
	close IN;
	my $step;
	my $column;
	#($password,$step,$column) = split(",", $opdata);
	
	
	if(!$opdata) {
		my $password = &EnCrypt($CFG::DefPass);
#		my $lockmode = 1;
#		my $IfRtc = &FileLock($lockmode,$CFG::LockFile,$retry,$lockout);
#		my @Rtc   = split(/:/,$IfRtc);

#		if ( $Rtc[0] eq 'OK' ) {
			my $op = "$password,5,1,1,1";
			chmod(0666,$CFG::OptionFile);
			open OUT,'> '.$CFG::OptionFile;
			print OUT $op;
			close OUT;
#		}

#		$IfRtc = &FileNnLock($lockmode,$CFG::LockFile,$retry,$lockout);
#		@Rtc   = split(/:/,$IfRtc);
#		if ( $Rtc[0] ne 'OK' ) {
#			$msg = 'ファイルロック解除に失敗しました';
#		}
	}
	chmod(0666,$CFG::OptionFile);

	if($msg ne '' ) {
		$Rtc = 'NG:'.$msg.':*';
	}else{
		$Rtc = 'OK:*:*';
	}

	return($Rtc);
}

### メイン表示ルーチン ###
sub main()
{
	#@logs = reverse(@logs);

	foreach(@logs){ # 表示フラグが立っているものだけ表示
		@temp = split(/,/,$_);

		if($temp[$CFG::data{'hyouji'}] =~ 'on') {
				push(@ttmp,$_);
		}
	}
	@logs = @ttmp;

	if($FORM{'code'} eq ''){
		@k_temp = split(/,/,$logs[0]);
		$FORM{'code'} = $k_temp[0];
	}

	@kiji   = ();
	$sil = 0;
	foreach (@logs) {
		@k_temp = split(/,/,$_);
		if($FORM{'code'} eq $k_temp[$CFG::data{'no'}]){
			@temp2 = @k_temp;
			$sil2 = $sil;
		}
		push(@kiji,$k_temp[$CFG::data{'no'}]);
		$sil++;
	}

	if($sil2 > 0 ) {
		$pp = $kiji[$sil2-1];
	}else{
		$pp = '';
	}
	$np = $kiji[$sil2+1];

	foreach(@temp2) {
		$_ =~ s/_comma_/,/g;
		$_ =~ s/_brake_/<br>/g;
		$_ =~ s/&quot;/\"/g;
		#$_ =~ s/&gt;/>/g;
		#$_ =~ s/&lt;/</g;
		$_ =~ s/&amp;/&/g;
	}

	if($pp eq ''){
		$prev  = '<img src="./img/mae-off.gif" width="140" height="24">'."\n";
		#$prev  = '&lt;&lt;back'."\n";
	}else{
		$prev  = '<form name="prev" action="'.$script.'" method="post" style="margin:0px;">'."\n";
		$prev .= '<input type="hidden" name="code" value="'.$pp.'">'."\n";
		$prev .= '<a href="javascript:document.prev.submit();"><img src="./img/mae-on.gif" width="140" height="24" border="0"></a>'."\n";
		#$prev .= '<a href="javascript:document.prev.submit();">&lt;&lt;back</a>'."\n";
		$prev .= '</form>'."\n";
	}

	if($np eq '') {
		$next  = '<img src="./img/ato-off.gif" width="140" height="24">'."\n";
		#$next  = 'next&gt;&gt;'."\n";
	}else{
		$next  = '<form name="next" action="'.$script.'" method="post" style="margin:0px;">'."\n";
		$next .= '<input type="hidden" name="code" value="'.$np.'">'."\n";
		$next .= '<a href="javascript:document.next.submit();"><img src="./img/ato-on.gif" width="140" height="24" border="0"></a>'."\n";
		#$next .= '<a href="javascript:document.next.submit();">next&gt;&gt;</a>'."\n";
		$next .= '</form>'."\n";
	}

	$skinname = $temp2[$CFG::data{'skin'}];
	$date     = $temp2[$CFG::data{'datenow'}];
	$name 	  = $temp2[$CFG::data{'name'}];
	$profile  = $temp2[$CFG::data{'profile'}];
	$comment4 = $temp2[$CFG::data{'comment4'}];
	$img1     = $temp2[$CFG::data{'img01'}];
	@size1    = split(/-/,$temp2[$CFG::data{'img01size'}]);
	$title    = $temp2[$CFG::data{'title'}];
	$subtitle    = $temp2[$CFG::data{'subtitle'}];
	$comment1 = $temp2[$CFG::data{'comment1'}];
	$comment2 = $temp2[$CFG::data{'comment2'}];
	$comment3 = $temp2[$CFG::data{'comment3'}];
	$img2     = $temp2[$CFG::data{'img02'}];
	@size2    = split(/-/,$temp2[$CFG::data{'img02size'}]);
	$img3     = $temp2[$CFG::data{'img03'}];
	@size3    = split(/-/,$temp2[$CFG::data{'img03size'}]);
	$img4     = $temp2[$CFG::data{'img04'}];
	@size4    = split(/-/,$temp2[$CFG::data{'img04size'}]);
	if($size1[0]) { $width1  = 'width="'. $size1[0].'px"'; }
	if($size1[1]) { $height1 = 'height="'.$size1[1].'px"'; }
	if($size2[0]) { $width2  = 'width="'. $size2[0].'px"'; }
	if($size2[1]) { $height2 = 'height="'.$size2[1].'px"'; }
	if($size3[0]) { $width3  = 'width="'. $size3[0].'px"'; }
	if($size3[1]) { $height3 = 'height="'.$size3[1].'px"'; }
	if($size4[0]) { $width4  = 'width="'. $size4[0].'px"'; }
	if($size4[1]) { $height4 = 'height="'.$size4[1].'px"'; }
	# 2009.1.10:画像への直接リンク削除
	$viewimg1 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img01'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img01'}].'" '.$width1.' '.$height1.' border="0"></a>';
	$viewimg2 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img02'}].'" '.$width2.' '.$height2.' border="0">';
	$viewimg3 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img03'}].'" '.$width3.' '.$height3.' border="0">';
	$viewimg4 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img04'}].'" '.$width4.' '.$height4.' border="0">';
	
# add new 2006/10/31 ##########################################################
	$img5     = $temp2[$CFG::data{'img05'}];
	@size5    = split(/-/,$temp2[$CFG::data{'img05size'}]);
	$img6     = $temp2[$CFG::data{'img06'}];
	@size6    = split(/-/,$temp2[$CFG::data{'img06size'}]);
	$img7     = $temp2[$CFG::data{'img07'}];
	@size7    = split(/-/,$temp2[$CFG::data{'img07size'}]);
	$img8     = $temp2[$CFG::data{'img08'}];
	@size8    = split(/-/,$temp2[$CFG::data{'img08size'}]);
	$img9     = $temp2[$CFG::data{'img09'}];
	@size9    = split(/-/,$temp2[$CFG::data{'img09size'}]);
	$img10    = $temp2[$CFG::data{'img10'}];
	@size10   = split(/-/,$temp2[$CFG::data{'img10size'}]);
	$img11    = $temp2[$CFG::data{'img11'}];
	@size11   = split(/-/,$temp2[$CFG::data{'img11size'}]);
	$img12    = $temp2[$CFG::data{'img12'}];
	@size12   = split(/-/,$temp2[$CFG::data{'img12size'}]);
	
	if($size5[0]) { $width5  = 'width="'. $size5[0].'px"'; }
	if($size5[1]) { $height5 = 'height="'.$size5[1].'px"'; }
	if($size6[0]) { $width6  = 'width="'. $size6[0].'px"'; }
	if($size6[1]) { $height6 = 'height="'.$size6[1].'px"'; }
	if($size7[0]) { $width7  = 'width="'. $size7[0].'px"'; }
	if($size7[1]) { $height7 = 'height="'.$size7[1].'px"'; }
	if($size8[0]) { $width8  = 'width="'. $size8[0].'px"'; }
	if($size8[1]) { $height8 = 'height="'.$size8[1].'px"'; }
	if($size9[0]) { $width9  = 'width="'. $size9[0].'px"'; }
	if($size9[1]) { $height9 = 'height="'.$size9[1].'px"'; }
	if($size10[0]) { $width10  = 'width="'. $size10[0].'px"'; }
	if($size10[1]) { $height10 = 'height="'.$size10[1].'px"'; }
	if($size11[0]) { $width11  = 'width="'. $size11[0].'px"'; }
	if($size11[1]) { $height11 = 'height="'.$size11[1].'px"'; }
	if($size12[0]) { $width12  = 'width="'. $size12[0].'px"'; }
	if($size12[1]) { $height12 = 'height="'.$size12[1].'px"'; }
	# 2009.1.10:画像への直接リンク削除
	$viewimg5 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img05'}].'" '.$width5.' '.$height5.' border="0">';
	$viewimg6 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img06'}].'" '.$width6.' '.$height6.' border="0">';
	$viewimg7 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img07'}].'" '.$width7.' '.$height7.' border="0">';
	$viewimg8 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img08'}].'" '.$width8.' '.$height8.' border="0">';
	$viewimg9 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img09'}].'" '.$width9.' '.$height9.' border="0">';
	$viewimg10 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img10'}].'" '.$width10.' '.$height10.' border="0">';
	$viewimg11 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img11'}].'" '.$width11.' '.$height11.' border="0">';
	$viewimg12 = '<img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img12'}].'" '.$width12.' '.$height12.' border="0">';
###############################################################################
	
	$file = '';

	for($i = 0;$i <= $#skins;$i++){
		@temp_s = split(/,/,$skins[$i]);
		if($skinname eq $temp_s[0]){
			@skinfile = @temp_s;
		}
	}

	### スキンファイルの中身を変数に展開 ###
	open IN ,$skinfile[1];
	while (<IN>) { $file .= $_; }
	close IN;

	if(!@logs){
		$file  = '<html>'."\n";
		$file .= '<head>'."\n";
		$file .= '<title>記事が登録されていません</title>'."\n";
		$file .= '</head>'."\n";
		$file .= '<body>'."\n";
		$file .= '<center>'."\n";
		$file .= '<table border=0 width="80%" height="65%">'."\n";
		$file .= '<td>'."\n";
		$file .= '<font size="3" color="#ff0000"><b>ERROR!!</font><br><br>'."\n";
		$file .= '<font size="2">記事が登録されていません。<br>管理者モードへログインし、記事を投稿してください。</font></b>'."\n";
		$file .= '</td>'."\n";
		$file .= '</table>'."\n";
		$file .= '<br><br><br>'."\n";
		$file .= '</body>'."\n";
		$file .= '</html>'."\n";
	}elsif($file eq ''){
		$file  = '<html>'."\n";
		$file .= '<head>'."\n";
		$file .= '<title>スキンが見つかりません</title>'."\n";
		$file .= '</head>'."\n";
		$file .= '<body>'."\n";
		$file .= '<center>'."\n";
		$file .= '<table border="0" width="80%" height="65%">'."\n";
		$file .= '<td><font size="3" color="#ff0000"><b>ERROR!!</font><br><br>'."\n";
		$file .= '<font size=2>スキンファイルが見つかりません。<br>スキンファイルが存在しないか、未登録のスキンです。</font></b>'."\n";
		$file .= '</td>'."\n";
		$file .= '</table>'."\n";
		$file .= '<br><br><br>'."\n";
		$file .= '</body>'."\n";
		$file .= '</html>'."\n";
	}

	$footer  = '<center>'."\n";
	$footer .= '<table width="450" border="0" cellspacing="0" cellpadding="0">'."\n";
	$footer .= '<tr>'."\n";
	$footer .= '<td width="140">'.$prev.'</td>'."\n";
	$footer .= '<td><img src=" " width="170" height="1"></td>'."\n";
	$footer .= '<td width="140">'.$next.'</td>'."\n";
	$footer .= '</tr>'."\n";
	$footer .= '<tr align="center">'."\n";
	$footer .= '<td colspan="3"><img src=" " width="1" height="15"></td>'."\n";
	$footer .= '</tr>'."\n";
	$footer .= '</table>'."\n";
	$footer .= '</center>'."\n";

	$file =~ s/__comment5__/$name/g;   # new edit 2006/11/4
	$file =~ s/__prof__/$profile/g;
	$file =~ s/__comment4__/$comment4/g;
	$file =~ s/__date__/$date/g;
	$file =~ s/__title__/$title/g;
	$file =~ s/__subtitle__/$subtitle/g;
	#$file =~ s/<\/body>/$footer/g;
	$file =~ s/__footer__/$footer/g;

	$file =~ s/__comment1__/$comment1/g;
	$file =~ s/__comment2__/$comment2/g;
	$file =~ s/__comment3__/$comment3/g;
	
	if($img1 eq '') {
		$file =~ s/__img1__//g;
	}else{
		$width  = (!($size1[0] =~ /[^0-9]/) && $size1[0]) ? 'width="'. $size1[0].'px"' : '' ;
		$height = (!($size1[1] =~ /[^0-9]/) && $size1[1]) ? 'height="'.$size1[1].'px"' : '' ;
		$img1_tag = '<img src="'.$CFG::ImgPath.$img1.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img1__/$img1_tag/g;
		$file =~ s/__img1__/$viewimg1/g;
	}
	
	if($img2 eq '') {
		$file =~ s/__img2__//g;
	}else{
		$width  = (!($size2[0] =~ /[^0-9]/) && $size2[0]) ? 'width="'. $size2[0].'px"' : '' ;
		$height = (!($size2[1] =~ /[^0-9]/) && $size2[1]) ? 'height="'.$size2[1].'px"' : '' ;
		$img2_tag = '<img src="'.$CFG::ImgPath.$img2.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img1__/$img1_tag/g;
		$file =~ s/__img2__/$viewimg2/g;
	}
	
	if($img3 eq '') {
		$file =~ s/__img3__//g;
	}else{
		$width  = (!($size3[0] =~ /[^0-9]/) && $size3[0]) ? 'width="'. $size3[0].'px"' : '' ;
		$height = (!($size3[1] =~ /[^0-9]/) && $size3[1]) ? 'height="'.$size3[1].'px"' : '' ;
		$img3_tag = '<img src="'.$CFG::ImgPath.$img3.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img1__/$img1_tag/g;
		$file =~ s/__img3__/$viewimg3/g;
	}
	
	if($img4 eq '') {
		$file =~ s/__img4__//g;
	}else{
		$width  = (!($size4[0] =~ /[^0-9]/) && $size4[0]) ? 'width="'. $size4[0].'px"' : '' ;
		$height = (!($size4[1] =~ /[^0-9]/) && $size4[1]) ? 'height="'.$size4[1].'px"' : '' ;
		$img4_tag = '<img src="'.$CFG::ImgPath.$img4.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img1__/$img1_tag/g;
		$file =~ s/__img4__/$viewimg4/g;
	}
	
# add new 2006/10/31 ###############################################################
	if($img5 eq '') {
		$file =~ s/__img5__//g;
	}else{
		$width  = (!($size5[0] =~ /[^0-9]/) && $size5[0]) ? 'width="'. $size5[0].'px"' : '' ;
		$height = (!($size5[1] =~ /[^0-9]/) && $size5[1]) ? 'height="'.$size5[1].'px"' : '' ;
		$img5_tag = '<img src="'.$CFG::ImgPath.$img5.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img5__/$img5_tag/g;
		$file =~ s/__img5__/$viewimg5/g;
	}
	
	if($img6 eq '') {
		$file =~ s/__img6__//g;
	}else{
		$width  = (!($size6[0] =~ /[^0-9]/) && $size6[0]) ? 'width="'. $size6[0].'px"' : '' ;
		$height = (!($size6[1] =~ /[^0-9]/) && $size6[1]) ? 'height="'.$size6[1].'px"' : '' ;
		$img6_tag = '<img src="'.$CFG::ImgPath.$img6.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img6__/$img6_tag/g;
		$file =~ s/__img6__/$viewimg6/g;
	}
	
	if($img7 eq '') {
		$file =~ s/__img7__//g;
	}else{
		$width  = (!($size7[0] =~ /[^0-9]/) && $size7[0]) ? 'width="'. $size7[0].'px"' : '' ;
		$height = (!($size7[1] =~ /[^0-9]/) && $size7[1]) ? 'height="'.$size7[1].'px"' : '' ;
		$img7_tag = '<img src="'.$CFG::ImgPath.$img7.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img7__/$img7_tag/g;
		$file =~ s/__img7__/$viewimg7/g;
	}
	
	if($img8 eq '') {
		$file =~ s/__img8__//g;
	}else{
		$width  = (!($size8[0] =~ /[^0-9]/) && $size8[0]) ? 'width="'. $size8[0].'px"' : '' ;
		$height = (!($size8[1] =~ /[^0-9]/) && $size8[1]) ? 'height="'.$size8[1].'px"' : '' ;
		$img8_tag = '<img src="'.$CFG::ImgPath.$img8.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img8__/$img8_tag/g;
		$file =~ s/__img8__/$viewimg8/g;
	}
	
	if($img9 eq '') {
		$file =~ s/__img9__//g;
	}else{
		$width  = (!($size9[0] =~ /[^0-9]/) && $size9[0]) ? 'width="'. $size9[0].'px"' : '' ;
		$height = (!($size9[1] =~ /[^0-9]/) && $size9[1]) ? 'height="'.$size9[1].'px"' : '' ;
		$img9_tag = '<img src="'.$CFG::ImgPath.$img9.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img9__/$img9_tag/g;
		$file =~ s/__img9__/$viewimg9/g;
	}
	
	if($img10 eq '') {
		$file =~ s/__img10__//g;
	}else{
		$width  = (!($size10[0] =~ /[^0-9]/) && $size10[0]) ? 'width="'. $size10[0].'px"' : '' ;
		$height = (!($size10[1] =~ /[^0-9]/) && $size10[1]) ? 'height="'.$size10[1].'px"' : '' ;
		$img10_tag = '<img src="'.$CFG::ImgPath.$img10.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img10__/$img10_tag/g;
		$file =~ s/__img10__/$viewimg10/g;
	}
	
	if($img11 eq '') {
		$file =~ s/__img11__//g;
	}else{
		$width  = (!($size11[0] =~ /[^0-9]/) && $size11[0]) ? 'width="'. $size11[0].'px"' : '' ;
		$height = (!($size11[1] =~ /[^0-9]/) && $size11[1]) ? 'height="'.$size11[1].'px"' : '' ;
		$img11_tag = '<img src="'.$CFG::ImgPath.$img11.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img11__/$img11_tag/g;
		$file =~ s/__img11__/$viewimg11/g;
	}
	
	if($img12 eq '') {
		$file =~ s/__img12__//g;
	}else{
		$width  = (!($size12[0] =~ /[^0-9]/) && $size12[0]) ? 'width="'. $size12[0].'px"' : '' ;
		$height = (!($size12[1] =~ /[^0-9]/) && $size12[1]) ? 'height="'.$size12[1].'px"' : '' ;
		$img12_tag = '<img src="'.$CFG::ImgPath.$img12.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img12__/$img12_tag/g;
		$file =~ s/__img12__/$viewimg12/g;
	}
#########################################################################################	
	
	print "Content-type: text/html\n\n";
	print $file;

	exit();
}

### 管理者モード ###
sub admin()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

	#@logs = reverse(@logs);

	$step = $CFG::step; # １ページ表示件数

	if(!$FORM{'page'}){$FORM{'page'} = 1;}
	$sop =  $step *($FORM{'page'}  - 1);
	$eop = ($step * $FORM{'page'}) - 1;
	$total = int(($#logs+1) / $step);
	#my $pagetotal = ($#logs+1) % $step;
	#if($pagetotal){
	#   $total=$total+1;
	#}
	$total = (($#logs+1) % $step) ? $total+1 : $total ;

	$next = '<a href="'.$script.'?mode=admin&pass='.$FORM{'pass'}.'&page='.($FORM{'page'}+1).'">≫</a>'."\n";
	$prev = '<a href="'.$script.'?mode=admin&pass='.$FORM{'pass'}.'&page='.($FORM{'page'}-1).'">≪</a>'."\n";

	$pagehandle .= ($FORM{'page'} <= 1) ? '' : $prev;
	$pagehandle .= ' '.$FORM{'page'}.'/'.$total.' ';
	$pagehandle .= ($FORM{'page'} >= $total) ? '' : $next;

$admin = <<"EOF";
<html>
<head>
<title>管理者モード</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<style type="text/css">
<!--
 td {font-size:12px;}
 a:hover {color:red;}
-->
</style>
</head>
<body>
 <table border="0" cellspacing="0" cellpadding="0" width="600px">
  <tr>
   <td style="padding-top:20px;">
    <b><font size=3><br>【店舗情報｜東北エリア】 更新管理プログラム</font><br><br><br></b>
   </td>
  </tr>
 </table>

 <table border="0" cellspacing="0" cellpadding="0" width="600px">
  <tr>
   <td style="line-height:150%;">
    ■ スキン型新着情報CGI管理モード<br><br>
    ページのレイアウトの基本となるスキンをあらかじめ登録し、フォームからのテキストや画像をスキンに埋め込んで表\示するCGIです。<br>
    <ul style="margin:0px 0px 0px 20px;">
     <li>記事を新規に投稿する場合は「≫ 新規投稿フォームへ」をクリックしてください。
     <li>既に登録済みの記事の修正を行うには下のリストから修正したい店舗名をクリックします。<br>
      下のリストに当該の記事が存在しない場合は「≪」や「≫」ボタンでページを移動し、探してください。
     <li>スキンの登録・削除や管理モードパスワードを変更する場合は、「≫ オプション設定フォームへ」をクリックします。
     <li>記事表\示モードへ戻るには、ページ下部の「≫ 記事表\示モードへ」をクリックしてください。
    </ul>
   </td>
  </tr>
 </table>

 <table border="0" cellspacing="0" cellpadding="0" width="600px" style="margin-top:6px;">
  <tr>
   <td align="right" style="line-height:22px;">
    <a href="$script?mode=new&pass=$FORM{'pass'}">≫ 新規投稿フォームへ</a><br>
    <a href="$script?mode=optionform&pass=$FORM{'pass'}">≫ オプション設定フォームへ</a><br>
   </td>
  </tr>
 </table>

 <table border="0" cellspacing="0" cellpadding="0" width="600px" style="margin-top:2px;">
  <tr>
   <td>
    <font size="2">$pagehandle</font>
   </td>
  </tr>
 </table>

 <table border="1" cellspacing="1" cellpadding="4" width="600px" style="margin-top:2px;">
  <tr bgcolor="#dddddd">
   <td width="40px">
    <b>No.</b>
   </td>
   <td>
    <b>店舗名</b>
   </td>
   <td width="150px">
    <b>最終更新日</b>
   </td>
   <td width="60px">
    <b>並び順</b>
   </td>
  </tr>
__list__
</table>

<table border="0" cellspacing="0" cellpadding="0" width="600px">
 <tr>
  <td align="right" style="line-height:22px;">
   <a href="$script">≫ 記事表\示モードへ</a><br>
  </td>
 </tr>
</table>

</centr>
</body>
</html>
EOF

	for($sop .. $eop){
		@temp = split(/,/,$logs[$_]);
		foreach(@temp){
			$_ =~ s/_brake_/ /g;
			$_ =~ s/_comma_/,/g;
			$_ =~ s/&lt;/</g;
			$_ =~ s/&gt;/>/g;
			$_ =~ s/&quot;/"/g;
			$_ =~ s/&nbsp;/ /g;
			$_ =~ s/&amp;/&/g;
			$_ =~ s/&(.*?);//g;
			$_ =~ s/<(.*?)>//sg;
		}
		$col = ($oe % 2) ? '#f6f6f6' : '#ffffff' ;

$list .= <<"EOF";
<tr bgcolor="$col">
 <td>
  $temp[0]
 </td>
 <td>
  <a href="$script?mode=edit2&no=$temp[0]&pass=$FORM{'pass'}&page=$FORM{'page'}">$temp[8]</a>
 </td>
 <td>
  $temp[2]
 </td>
 <td width="54px" align="center">
<form name="order$temp[0]" style="margin:0px;">
<input type="hidden" name="mode" value="orderset">
<input type="hidden" name="pass" value="$FORM{'pass'}">
<input type="hidden" name="page" value="$FORM{'page'}">
<input type="hidden" name="code" value="$temp[0]">
<input type="hidden" name="set" value="">
<a title="先頭へ" href="javascript:document.order$temp[0].set.value='top';document.order$temp[0].submit();">≪</a> <a title="ひとつ上へ" href="javascript:document.order$temp[0].set.value='up';document.order$temp[0].submit();">&lt;</a>&nbsp;<a title="ひとつ下へ" href="javascript:document.order$temp[0].set.value='down';document.order$temp[0].submit();">&gt;</a> <a title="最後尾へ" href="javascript:document.order$temp[0].set.value='bottom';document.order$temp[0].submit();">≫</a><br>
</form>
</td>
</tr>
EOF

		$oe++;
		if($_ eq $#logs){last;}
	}

	$admin =~ s/__list__/$list/g;

	print "Content-type: text/html\n\n";
	print $admin;

	exit();
}

### 新規投稿フォーム
sub new()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

$new .= <<"EOF";
<html>
<head>
<title>管理者モード</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<style type="text/css">
<!--
td {
	font-size:12px;}
.tab {
	padding:4px 6px;
	vertical-align:top;}
.dtab {
	padding-left:48px;}
.f {
	width:180px;}
.form td {}
a:hover {color:red;}
// -->
</style>
<script type="text/javascript">
<!--
function preview(name) {
	document.forms[name].action = "$script";
	document.forms[name].encoding = "application/x-www-form-urlencoded";
	document.forms[name].target = "preview";
	document.forms[name].mode.value = "preview";
	document.forms[name].submit();
}
function delsubmit() {
	document.del.target = "_self";
	document.del.mode.value = "delskin";
	document.del.submit();
}
function entsubmit() {
	document.entry.action = "$CFG::UploadCGI";
	document.entry.encoding = "multipart/form-data";
	document.entry.target = "_self";
	document.entry.mode.value = "new";
	document.entry.submit();
}
// -->
</script>
</head>

<body>

 <table border="0" cellspacing="0" cellpadding="0" width="600px" style="margin-bottom:12px;">
  <tr>
   <td style="padding-top:20px;">
    <b><font size=3><br>【店舗情報｜東北エリア】 更新管理プログラム</font><br><br><br></b>
   </td>
  </tr>
 </table>

 <table border="0" cellspacing="0" cellpadding="0" width="600px">
  <tr>
   <td style="line-height:150%;">
    ■ スキン型新着情報cgi管理モード<br><br>
    記事の新規投稿を行います。
    <ul style="margin:0px 0px 0px 20px;">
     <li>「記事に使用するスキン」の項でスキンを選択し、「プレビュー」ボタンを押すとスキンのプレビューを見ることができます。
      プレビューで各テキストと画像の入る位置を確認できます。
     <li>各画像について、画像の表\示サイズを指定することができます。<br>
      縦と横のサイズをピクセル数で指定することにより、表\示する画像のサイズを強制的に変更することができます。<br>
      ここに値を指定しない場合、サイズは指定されません。縦横ともに指定なしの場合は原寸表\示、どちらかを指定した場合は縦横比は固定のまま指定したサイズに調整されます。
     <li>記事一覧へ戻るには、ページ下部の「≫ 編集をやめる」をクリックします。
    </ul>
   </td>
  </tr>
 </table>

 <form name="entry" action="$CFG::UploadCGI" method="post" enctype="multipart/form-data">
  <table border="0" cellspacing="1" cellpadding="0" width="450px" style="margin-top:18px;" class="form">
   <tr>
    <td colspan="2" class="tab">
     <b>記事の投稿</b>
    </td>
   </tr>
   <tr>
    <td class="tab" width="200px">
     記事に使用するスキン
    </td>
    <td width="250px" class="tab">
     <select name="skinname" style="width:170px;">
      <option value="">スキンを選択
EOF
foreach(@skins){
	@temp = split(/,/,$_);
	$new .= "<option value=\"$temp[0]\">$temp[0]\n";
}
$new .= <<"EOF";
     </select>
     <input type="button" value="プレビュー" onclick="preview('entry');" style="width:60px;">
    </td>
   </tr>
      

   <tr>
    <td class="tab" colspan="2" style="background:white;">
     <table border=0 cellspacing=5 cellpadding=5 width="600px" style="margin-top:3px;">
      <tr>
       <td bgcolor="#e6e6e6" colspan="2">■店舗名　（記入例：SUNHOME 北見栄町店）</td>
	</tr>
	<tr>
       <td class="tab" style="background:white;" colspan="2">
        <input type="text" name="title" style="width:98%;">
       </td>
	</tr>
	<tr>
       <td bgcolor="#e6e6e6" colspan="2">■都道府県　（記入例：北海道）</td>
	</tr>
	<tr>
       <td class="tab" colspan="2">
	   	 <input type="text" name="subtitle" style="width:98%;">
       </td>
	</tr>
	<tr>
    	<td bgcolor="#e6e6e6" colspan="2">■住所　（記入例：090-0832 北見市栄町2-2-1）</td>
	</tr>
	<tr>
    	<td class="tab" colspan="2">
     	<textarea wrap="soft" name="comment1" style="width:98%;height:25px;"></textarea>
    	</td>
	</tr>
	<tr>
    	<td bgcolor="#e6e6e6" colspan="2">■電話番号　（記入例：0157-31-3463）</td>
	</tr>
	<tr>
    	<td class="tab" colspan="2">
     	<textarea wrap="soft" name="comment2" style="width:350px;height:25px;"></textarea>
    	</td>
	</tr>
	<tr>
    	<td bgcolor="#e6e6e6" colspan="2">■FAX番号　（記入例：0157-31-3463）</td>
	</tr>
	<tr>
    	<td class="tab" colspan="2">
     	<textarea wrap="soft" name="comment3" style="width:350px;height:25px;"></textarea>
    	</td>
	</tr>
	<tr>
    	<td bgcolor="#e6e6e6" colspan="2">■営業時間　（記入例：10:00-25:00 (年中無休) ）</td>
	</tr>
	<tr>
    	<td class="tab" colspan="2">
     	<textarea wrap="soft" name="comment4" style="width:350px;height:25px;"></textarea>
    	</td>
	</tr>

	<tr>
       <td bgcolor="#e6e6e6" colspan="2">■コメント</td>
	</tr>
	<tr>
       <td class="tab" colspan="2">
	   <textarea wrap="soft" name="name" style="width:98%;height:250px;"></textarea>
       </td>
	</tr>
<!--

	<tr>
       <td bgcolor="#e6e6e6">コメント５&nbsp;&nbsp;&nbsp;&nbsp;__prof__</td>
	</tr>
	<tr>
       <td class="tab">
	   <textarea wrap="soft" name="profile" style="width:98%;height:250px;"></textarea>
       </td>
	</tr>
	-->

	<tr>
		<td colspan="2">&nbsp;</td>
	</tr>
	<tr>
       <td bgcolor="#e6e6e6">■店舗写真</td>
       <td bgcolor="#e6e6e6">■アイコン1</td>
	</tr>
	<tr>
       <td class="tab">
	   <input type="file" name="img01" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w1" style="width:40px;"> × 高さ <input type="text" name="h1" style="width:40px;"></font>	   
       </td>
       <td class="tab">
         <input type="file" name="img02" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w2" style="width:40px;"> × 高さ <input type="text" name="h2" style="width:40px;"></font>
       </td>  
	</tr>

<tr>  
        <td bgcolor="#e6e6e6">■アイコン2</td>
        <td bgcolor="#e6e6e6">■アイコン3</td>
     </tr>
     <tr>  
        <td class="tab">
        <input type="file" name="img03" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w3" style="width:40px;"> × 高さ <input type="text" name="h3" style="width:40px;"></font>
        </td>
        <td class="tab">
        <input type="file" name="img04" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w4" style="width:40px;"> × 高さ <input type="text" name="h4" style="width:40px;"></font>
        </td>
     </tr>
 
 	<tr>  
        <td bgcolor="#e6e6e6">■アイコン4</td>
        <td bgcolor="#e6e6e6">■アイコン5</td>
     </tr>
     <tr>  
        <td class="tab">
        <input type="file" name="img05" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w5" style="width:40px;"> × 高さ <input type="text" name="h5" style="width:40px;"</font>
        </td>
        <td class="tab">
        <input type="file" name="img06" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w6" style="width:40px;"> × 高さ <input type="text" name="h6" style="width:40px;"</font>
        </td>
     </tr>
 
 	<tr>  
        <td bgcolor="#e6e6e6">■アイコン6</td>
        <td bgcolor="#e6e6e6">■アイコン7</td>
     </tr>
     <tr>  
        <td class="tab">
        <input type="file" name="img07" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w7" style="width:40px;"> × 高さ <input type="text" name="h7" style="width:40px;"></font>
        </td>
        <td class="tab">
        <input type="file" name="img08" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w8" style="width:40px;"> × 高さ <input type="text" name="h8" style="width:40px;">/font>
        </td>
     </tr>
     
     <tr>
       <td bgcolor="#e6e6e6">■アイコン8</td>
       <td bgcolor="#e6e6e6">■アクセスマップ</td>
	 </tr>
     <tr>  
        <td class="tab">
        <input type="file" name="img09" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w9" style="width:40px;"> × 高さ <input type="text" name="h9" style="width:40px;"</font>
        </td>
        <td class="tab">
        <input type="file" name="img10" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w10" style="width:40px;"> × 高さ <input type="text" name="h10" style="width:40px;"</font>
        </td>
     </tr>
     
     <tr>
       <td bgcolor="#e6e6e6">■モバイル会員登録用QRコード</td>
       <td bgcolor="#e6e6e6">■1st会員登録用QRコード</td>
	 </tr>
     <tr>  
        <td class="tab">
        <input type="file" name="img11" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w11" style="width:40px;"> × 高さ <input type="text" name="h11" style="width:40px;"</font>
        </td>
        <td class="tab">
        <input type="file" name="img12" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w12" style="width:40px;"> × 高さ <input type="text" name="h12" style="width:40px;"</font>
        </td>
     </tr>

      <tr>
       <td class="tab">記事\表\示非\表\示</td>
	</tr>
	<tr>
       <td class="tab">
        <input type="radio" name="hyouji" value="on">\表\示　<input type="radio" name="hyouji" value="off" checked>非\表\示
       </td>
      </tr>
     </table>
    </td>
   </tr>

   <tr>
    <td align="right" colspan=2 class="tab" style="background:#cccccc;">
     <input type="button" value="送信" onclick="entsubmit();"><input type="reset" value="取消">
    </td>
   </tr>

  </table>
  <input type="hidden" name="mode" value="new">
  <input type="hidden" name="pass" value="$FORM{'pass'}">
  <input type="hidden" name="page" value="$FORM{'page'}">
 </form>

 <table border=0 cellspacing=3 cellpadding=0 width="600" style="margin-top:6px;">
  <tr>
   <td align="right">
    <a href="$script?mode=admin&pass=$FORM{'pass'}">≫ 編集をやめる</a>
   </td>
  </tr>
 </table>

</centr>
</body>
</html>
EOF

	print "Content-type: text/html\n\n";
	print $new;

	exit();
}


### 編集モード ###
sub edit()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

	@logs = reverse(@logs);

	if($FORM{'epage'} eq '' ){ $FORM{'epage'} = 0 }

print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>記事編集モード</title>
<style type="text/css">
<!--
td {
	font-size:12px;}
.tab {
	padding-left:24px;}
.dtab {
	padding-left:48px;}
.f {
	width:180px;}
// -->
</style>
</head>
<body>

 <table border="0" cellspacing="0" cellpadding="0" width="450px" style="margin-bottom:12px;">
  <tr>
   <td style="font-size:24px;color:#999999;font-family:Times New Roman;">
    Edit mode
   </td>
   <td align="right" valign="bottom" style="font-size:12px;color:#999999;">
    記事編集モード
   </td>
  </tr>
  <tr>
   <td colspan="2" height="1px" bgcolor="#cccccc"></td>
  </tr>
 </table>

 <table border="0" cellspacing="0" dellpadding="0">
  <tr>
   <td width="50px">
    <b>&nbsp;No.</b>
   </td>
   <td width="230px">
    <b>店舗名</b>
   </td>
   <td width="100px">
    <b>最終更新日</b>
   </td>
   <td width="60px"></td>
  </tr>
EOF

	$step = $CFG::step;
	if($FORM{'epage'} == 0) { $FORM{'epage'} = 1; }

	$sop = ($FORM{'epage'} - 1) * $step;
	$eop = ($FORM{'epage'} * $step) - 1;
	$tpage = int($#logs / $step);

	if($#logs % $step != 0){$tpage++}

	for($i = 0;$i <= $#logs;$i++) {
		if(($i >= $sop) && ($i <= $eop)) {
			$oe = $i % 2;
			if($oe == 0){$bg = '#eeeeee';}
			else{$bg = '#ffffff';}
			@temp = split(/,/,$logs[$i]);
			foreach(@temp){
				$_ =~ s/_brake_//g;
				$_ =~ s/_comma_/,/g;
			}
			if(length($temp[$CFG::data{'title'}]) >= 39){
				$temp[$CFG::data{'title'}] = substr($temp[$CFG::data{'title'}],0,36);
				$temp[$CFG::data{'title'}] .= '...';
			}
			print '<tr height="20px" bgcolor="'.$bg.'"><td align="right" style="padding-right:20px;">'.$temp[0].'</td>'."\n";
			print '<td>'.$temp[$CFG::data{'title'}].'</td>'."\n";
			print '<td>'.$temp[$CFG::data{'datenow'}].'</td>'."\n";
			print '<td align="right">'."\n";
			print '<form name="f'.$temp[$CFG::data{'no'}].'" action="'.$script.'" method="post" style="margin:0px;">'."\n";
			print '<input type="hidden" name="pass"  value="'.$FORM{'pass'} .'">'."\n";
			print '<input type="hidden" name="page"  value="'.$FORM{'page'} .'">'."\n";
			print '<input type="hidden" name="epage" value="'.$FORM{'epage'}.'">'."\n";
			print '<input type="hidden" name="mode"  value="edit2">'."\n";
			print '<input type="hidden" name="no"    value="'.$temp[$CFG::data{'no'}].'">'."\n";
			print '<a href="javascript:document.f'.$temp[$CFG::data{'no'}].'.submit();">編集 &gt;&gt;</a>'."\n";
			print '</form>'."\n";
			print '</td>'."\n";
			print '</tr>'."\n";
		}
	}

print <<"EOF";
 </table>

 <table border="0" cellspacing="0" cellpadding="0" width="450px" style="margin:12px 0px;">
  <tr>
   <td height="1px" bgcolor="#cccccc"></td>
  </tr>
 </table>

 <table border="0" cellspacing="0" cellpadding="0" width="450px">
  <tr>
   <td>
EOF

	$np = $FORM{'epage'} + 1;
	$pp = $FORM{'epage'} - 1;

	if($FORM{'epage'} <= 1){
		$prev = '<img src="../img/prev.gif" width="60" height="21">';
	}else{
		$prev = '<a href="javascript:document.pr.submit();">&lt;&lt; prev</a>';
	}

	if($FORM{'epage'} >= $tpage){
		$next = 'next &gt;&gt';
	}else{
		$next = '<a href="javascript:document.ne.submit();">next &gt;&gt;</a>';
	}

print <<"EOF";
    <table border="0" cellspacing="0" cellpadding="0">
     <td>
      <form name="pr" action="$script" method="post" style="margin:0px;">
       <input type="hidden" name="pass" value="$FORM{'pass'}">
       <input type="hidden" name="page" value="$FORM{'page'}">
       <input type="hidden" name="mode" value="edit">
       <input type="hidden" name="epage" value="$pp">
       $prev
      </form>
     </td>
     <td>&nbsp;/&nbsp;</td>
     <td>
      <form name="ne" action="$script" method="post" style="margin:0px;">
       <input type="hidden" name="pass" value="$FORM{'pass'}">
       <input type="hidden" name="page" value="$FORM{'page'}">
       <input type="hidden" name="mode" value="edit">
       <input type="hidden" name="epage" value="$np">
       $next
      </form>
     </td>
    </table>
   </td>
   <td align="right">
    <form name="ret" action="$script" method="post" style="margin:0px;">
     <input type="hidden" name="mode" value="admin">
     <input type="hidden" name="pass" value="$FORM{'pass'}">
     <input type="hidden" name="page" value="$FORM{'page'}">
     <a href="javascript:document.ret.submit();">管理者モードへ戻る &gt;&gt;</a>
    </form>
   </td>
  </tr>
 </table>
</body>
</html>
EOF

	exit();
}

### 編集モード ###
sub edit2()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

	## 編集対照記事のマッチング ##
	for($i = 0;$i <= $#logs;$i++){
		@temp = split(/,/,$logs[$i]);
		if($temp[0] eq $FORM{'no'}){
			@temp2 = @temp;
		}
	}

	## スキンのマッチング ##
	for($i = 0;$i <= $#skins;$i++){
		@temp = split(/,/,$skins[$i]);
		if($temp[0] eq $temp2[1]){
			$skin2 = $temp[0];
		}
	}

	foreach(@temp2){
		$_ =~ s/_comma_/,/g;
		$_ =~ s/_brake_/\n/g;
		$_ =~ s/&quot;/\"/g;
		$_ =~ s/&gt;/>/g;
		$_ =~ s/&lt;/</g;
		$_ =~ s/&amp;/&/g;
	}

	@size1 = split(/-/,$temp2[$CFG::data{'img01size'}]);
	@size2 = split(/-/,$temp2[$CFG::data{'img02size'}]);
	@size3 = split(/-/,$temp2[$CFG::data{'img03size'}]);
	@size4 = split(/-/,$temp2[$CFG::data{'img04size'}]);
	
# add new 2006/10/31 #######################################
	@size5 = split(/-/,$temp2[$CFG::data{'img05size'}]);
	@size6 = split(/-/,$temp2[$CFG::data{'img06size'}]);
	@size7 = split(/-/,$temp2[$CFG::data{'img07size'}]);
	@size8 = split(/-/,$temp2[$CFG::data{'img08size'}]);
	@size9 = split(/-/,$temp2[$CFG::data{'img09size'}]);
	@size10 = split(/-/,$temp2[$CFG::data{'img10size'}]);
	@size11 = split(/-/,$temp2[$CFG::data{'img11size'}]);
	@size12 = split(/-/,$temp2[$CFG::data{'img12size'}]);
############################################################

	# プレビュー画像と削除チェックボックス
	if($temp2[$CFG::data{'img01'}]){
		$preview1 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img01'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img01'}].'" width="48px" height="36px" border="0"></a>';
		$delete1 = '削除<input type="checkbox" name="imgdel1" value="del">';
	}
	if($temp2[$CFG::data{'img02'}]){
		$preview2 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img02'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img02'}].'" width="48px" height="36px" border="0"></a>';
		$delete2 = '削除<input type="checkbox" name="imgdel2" value="del">';
	}
	if($temp2[$CFG::data{'img03'}]){
		$preview3 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img03'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img03'}].'" width="48px" height="36px" border="0"></a>';
		$delete3 = '削除<input type="checkbox" name="imgdel3" value="del">';
	}
	if($temp2[$CFG::data{'img04'}]){
		$preview4 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img04'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img04'}].'" width="48px" height="36px" border="0"></a>';
		$delete4 = '削除<input type="checkbox" name="imgdel4" value="del">';
	}
	
	# add new 2006/10/31
	if($temp2[$CFG::data{'img05'}]){
		$preview5 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img05'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img05'}].'" width="48px" height="36px" border="0"></a>';
		$delete5 = '削除<input type="checkbox" name="imgdel5" value="del">';
	}
	if($temp2[$CFG::data{'img06'}]){
		$preview6 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img06'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img06'}].'" width="48px" height="36px" border="0"></a>';
		$delete6 = '削除<input type="checkbox" name="imgdel6" value="del">';
	}
	if($temp2[$CFG::data{'img07'}]){
		$preview7 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img07'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img07'}].'" width="48px" height="36px" border="0"></a>';
		$delete7 = '削除<input type="checkbox" name="imgdel7" value="del">';
	}
	if($temp2[$CFG::data{'img08'}]){
		$preview8 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img08'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img08'}].'" width="48px" height="36px" border="0"></a>';
		$delete8 = '削除<input type="checkbox" name="imgdel8" value="del">';
	}
	if($temp2[$CFG::data{'img09'}]){
		$preview9 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img09'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img09'}].'" width="48px" height="36px" border="0"></a>';
		$delete9 = '削除<input type="checkbox" name="imgdel9" value="del">';
	}
	if($temp2[$CFG::data{'img10'}]){
		$preview10 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img10'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img10'}].'" width="48px" height="36px" border="0"></a>';
		$delete10 = '削除<input type="checkbox" name="imgdel10" value="del">';
	}
	if($temp2[$CFG::data{'img11'}]){
		$preview11 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img11'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img11'}].'" width="48px" height="36px" border="0"></a>';
		$delete11 = '削除<input type="checkbox" name="imgdel11" value="del">';
	}
	if($temp2[$CFG::data{'img12'}]){
		$preview12 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img12'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img12'}].'" width="48px" height="36px" border="0"></a>';
		$delete12 = '削除<input type="checkbox" name="imgdel12" value="del">';
	}
	$hyoujick01 = ($temp2[$CFG::data{'hyouji'}] =~ /on/)?' checked':'';
	$hyoujick02 = ($temp2[$CFG::data{'hyouji'}] =~ /off/)?' checked':'';

$new .= <<"EOF";
<html>
<head>
<title>管理者モード</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<style type="text/css">
<!--
td {
	font-size:12px;}
.tab {
	padding:4px 6px;
	vertical-align:top;}
.dtab {
	padding-left:48px;}
.f {
	width:180px;}
.form td {}
a:hover {color:red;}
// -->
</style>
<script type="text/javascript"><!--

function delsubmit() {
	document.del.target = "_self";
	document.del.mode.value = "delskin";
	document.del.submit();
}
function preview(name) {
	document.forms[name].action = "$script";
	document.forms[name].encoding = "application/x-www-form-urlencoded";
	document.forms[name].target = "preview";
	document.forms[name].mode.value = "preview";
	document.forms[name].submit();
}
function entsubmit() {
	document.entry.action = "$CFG::UploadCGI";
	document.entry.encoding = "multipart/form-data";
	document.entry.target = "_self";
	document.entry.mode.value = "edit";
	document.entry.submit();
}
// --></script>
</head>

<body>

 <table border="0" cellspacing="0" cellpadding="0" width="600px" style="margin-bottom:12px;">
  <tr>
   <td style="padding-top:20px;">
    <b><font size=3><br>【店舗情報｜東北エリア】 更新管理プログラム</font><br><br><br></b>
   </td>
  </tr>
 </table>

 <table border="0" cellspacing="0" cellpadding="0" width="600px">
  <tr>
   <td style="line-height:150%;">
    ■ スキン型新着情報cgi管理モード<br><br>
    記事の修正を行います。
    <ul style="margin:0px 0px 0px 20px;">
     <li>「編集対象記事のプレビュー ≫」ボタンをクリックすると、当該の記事の編集前のプレビューを見ることができます。
     <li>「記事に使用するスキン」の項でスキンを選択し、「プレビュー」ボタンを押すとスキンのプレビューを見ることができます。
     プレビューで各テキストと画像の入る位置を確認できます。
     <li>各画像について、画像の表\示サイズを指定することができます。<br>
     縦と横のサイズをピクセル数で指定することにより、表\示する画像のサイズを強制的に変更することができます。<br>
     ここに値を指定しない場合、サイズは指定されません。縦横ともに指定なしの場合は原寸表\示、どちらかを指定した場合は縦横比は固定のまま指定したサイズに調整されます。
     <li>記事一覧へ戻るには、ページ下部の「≫ 編集をやめる」をクリックします。
    </ul>
   </td>
  </tr>
 </table>

 <table border="0" cellspacing="1" cellpadding="0" width="450px" style="margin-top:18px;" class="form">
  <tr>
   <td colspan="2" class="tab">
    <table border="0" cellspacing="0" cellpadding="0" width="100%">
     <tr>
      <td>
       <b>記事の投稿</b>
      </td>
      <td align="right">
       <form name="dpre" action="$script" method="post" style="margin:0px;" target="preview">
        <input type="hidden" name="mode" value="docpre">
        <input type="hidden" name="nom" value="$temp2[0]">
        <a href="javascript:document.dpre.submit();">編集対象記事のプレビュー ≫</a>
       </form>
      </td>
     </tr>
    </table>
   </td>
  </tr>

 <form name="entry" action="$CFG::UploadCGI" method="post" enctype="multipart/form-data">
  <input type="hidden" name="mode" value="edit">
  <input type="hidden" name="nom" value="$temp2[$CFG::data{'no'}]">
  <input type="hidden" name="pass" value="$FORM{'pass'}">
  <input type="hidden" name="page" value="$FORM{'page'}">

  <tr>
   <td class="tab" width="200px">
    記事に使用するスキン
   </td>
   <td width="250px" class="tab">
    <select name="skinname" style="width:170px;">
     <option value="">スキンを選択
EOF

	foreach(@skins){
		@temp = split(/,/,$_);
		if($temp[0] eq $skin2){$sel = 'selected';}
		else                  {$sel = '';        }
		$new .= '<option value="'.$temp[0].'" '.$sel.'>'.$temp[0]."\n";
	}

$new .= <<"EOF";
    </select>
    <input type="button" value="プレビュー" onclick="preview('entry');" style="width:60px;">
   </td>
  </tr>
  <tr>
   <td class="tab" colspan="2">
    <table border=0 cellspacing=5 cellpadding=5 width="600px" style="margin-top:3px;">
     <tr>
       <td bgcolor="#e6e6e6" colspan="2">■店舗名　（記入例：SUNHOME 北見栄町店）</td>
	</tr>
	<tr>
       <td class="tab" colspan="2">
       <input type="text" name="title" style="width:350px;" value="$temp2[$CFG::data{'title'}]">
       </td>
	</tr>
     <tr>
       <td bgcolor="#e6e6e6" colspan="2">■都道府県　（記入例：北海道）</td>
	</tr>
	<tr>
       <td class="tab" colspan="2">
	   <input type="text" name="subtitle" style="width:350px;" value="$temp2[$CFG::data{'subtitle'}]">
       </td>
     </tr>
	<tr>
      <td bgcolor="#e6e6e6" colspan="2">■住所　（記入例：090-0832 北見市栄町2-2-1）</td>
	</tr>
	<tr>
      <td class="tab" colspan="2">
       <textarea wrap="soft" name="comment1" style="width:98%;height:25px;">$temp2[$CFG::data{'comment1'}]</textarea>
      </td>
	</tr>
	<tr>
      <td bgcolor="#e6e6e6" colspan="2">■電話番号　（記入例：0157-31-3463）</td>
	</tr>
	<tr>
      <td class="tab" colspan="2">
       <textarea wrap="soft" name="comment2" style="width:350px;height:25px;">$temp2[$CFG::data{'comment2'}]</textarea>
      </td>
	</tr>
	<tr>
      <td bgcolor="#e6e6e6" colspan="2">■FAX番号　（記入例：0157-31-3463）</td>
	</tr>
	<tr>
      <td class="tab" colspan="2">
       <textarea wrap="soft" name="comment3" style="width:350px;height:25px;">$temp2[$CFG::data{'comment3'}]</textarea>
      </td>
	</tr>
	<tr>
    	<td bgcolor="#e6e6e6" colspan="2">■営業時間　（記入例：10:00-25:00 (年中無休) ）</td>
	</tr>
	<tr>
    	<td class="tab" colspan="2">
     	<textarea wrap="soft" name="comment4" style="width:350px;height:25px;">$temp2[$CFG::data{'comment4'}]</textarea>
    	</td>
      </tr>

     <tr>
       <td bgcolor="#e6e6e6" colspan="2">■コメント</td>
	</tr>
	<tr>
       <td class="tab" colspan="2">
       <textarea wrap="soft" name="name" style="width:98%;height:250px;">$temp2[$CFG::data{'name'}]</textarea>
       </td>
	</tr>
	
<!--
	<tr>
       <td bgcolor="#e6e6e6">コメント５&nbsp;&nbsp;__prof__</td>
	</tr>
	<tr>
       <td class="tab">
       <textarea wrap="soft" name="profile" style="width:98%;height:250px;">$temp2[$CFG::data{'profile'}]</textarea>
       </td>
	</tr>
-->
	<tr>
		<td colspan="2">&nbsp;</td>
	</tr>
	<tr>
	
	<tr>
       <td bgcolor="#e6e6e6">■店舗写真</td>
       <td bgcolor="#e6e6e6">■アイコン1</td>
	</tr>
	<tr>
       <td class="tab">
       $preview1<br>
	   <input type="file" name="img01" style="width:250px;"><br>
       <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w1" style="width:40px;" value="$size1[0]"> × 高さ <input type="text" name="h1" style="width:40px;" value="$size1[1]">&nbsp;&nbsp;$delete1</font>
       </td>
       <td class="tab">
       $preview2<br>
	   <input type="file" name="img02" style="width:250px;"><br>
       <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w2" style="width:40px;" value="$size2[0]"> × 高さ <input type="text" name="h2" style="width:40px;" value="$size2[1]">&nbsp;&nbsp;$delete2</font>
       </td>
	</tr>
	
     <tr>  
        <td bgcolor="#e6e6e6">■アイコン2</td>
        <td bgcolor="#e6e6e6">■アイコン3</td>
     </tr>
     <tr>  
        <td class="tab">
        $preview3<br>
        <input type="file" name="img03" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w3" style="width:40px;" value="$size3[0]"> × 高さ <input type="text" name="h3" style="width:40px;" value="$size3[1]">&nbsp;&nbsp;$delete3</font>
        </td>
        <td class="tab">
        $preview4<br>
        <input type="file" name="img04" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w4" style="width:40px;" value="$size3[0]"> × 高さ <input type="text" name="h4" style="width:40px;" value="$size4[1]">&nbsp;&nbsp;$delete4</font>
        </td>
     </tr>
 
 	<tr>  
        <td bgcolor="#e6e6e6">■アイコン4</td>
        <td bgcolor="#e6e6e6">■アイコン5</td>
     </tr>
     <tr>  
        <td class="tab">
        $preview5<br>
        <input type="file" name="img05" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w5" style="width:40px;" value="$size5[0]"> × 高さ <input type="text" name="h5" style="width:40px;" value="$size5[1]">&nbsp;&nbsp;$delete5</font>
        </td>
        <td class="tab">
        $preview6<br>
        <input type="file" name="img06" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w6" style="width:40px;" value="$size6[0]"> × 高さ <input type="text" name="h6" style="width:40px;" value="$size6[1]">&nbsp;&nbsp;$delete6</font>
        </td>
     </tr>
 
 	<tr>  
        <td bgcolor="#e6e6e6">■アイコン6</td>
        <td bgcolor="#e6e6e6">■アイコン7</td>
     </tr>
     <tr>  
        <td class="tab">
        $preview7<br>
        <input type="file" name="img07" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w7" style="width:40px;" value="$size7[0]"> × 高さ <input type="text" name="h7" style="width:40px;" value="$size7[1]">&nbsp;&nbsp;$delete7</font>
        </td>
        <td class="tab">
        $preview8<br>
        <input type="file" name="img08" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w8" style="width:40px;" value="$size8[0]"> × 高さ <input type="text" name="h8" style="width:40px;" value="$size8[1]">&nbsp;&nbsp;$delete8</font>
        </td>
     </tr>
     
     <tr>
       <td bgcolor="#e6e6e6">■アイコン8</td>
       <td bgcolor="#e6e6e6">■アクセスマップ</td>
	 </tr>
     <tr>  
        <td class="tab">
        $preview9<br>
        <input type="file" name="img09" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w9" style="width:40px;" value="$size9[0]"> × 高さ <input type="text" name="h9" style="width:40px;" value="$size9[1]">&nbsp;&nbsp;$delete9</font>
        </td>
        <td class="tab">
        $preview10<br>
        <input type="file" name="img10" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w10" style="width:40px;" value="$size10[0]"> × 高さ <input type="text" name="h10" style="width:40px;" value="$size10[1]">&nbsp;&nbsp;$delete10</font>
        </td>
     </tr>
     
     <tr>
       <td bgcolor="#e6e6e6">■モバイル会員登録用QRコード</td>
       <td bgcolor="#e6e6e6">■1st会員登録用QRコード</td>
	 </tr>
     <tr>  
        <td class="tab">
        $preview11<br>
        <input type="file" name="img11" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w11" style="width:40px;" value="$size11[0]"> × 高さ <input type="text" name="h11" style="width:40px;" value="$size11[1]">&nbsp;&nbsp;$delete11</font>
        </td>
        <td class="tab">
        $preview12<br>
        <input type="file" name="img12" style="width:250px;"><br>
        <font style="font-size:10px;">画像サイズ  横幅 <input type="text" name="w12" style="width:40px;" value="$size12[0]"> × 高さ <input type="text" name="h12" style="width:40px;" value="$size12[1]">&nbsp;&nbsp;$delete12</font>
        </td>
     </tr>
  
  <tr>
       <td class="tab">記事\表\示非\表\示</td>
	</tr>
	<tr>
       <td class="tab">
        <input type="radio" name="hyouji" value="on"$hyoujick01>\表\示　<input type="radio" name="hyouji" value="off"$hyoujick02>非\表\示
       </td>
  </tr>
      
  <tr>
   <td align="right" colspan=2 class="tab" style="background:#cccccc;">
    <input type="button" value="送信" onclick="entsubmit();">
    <input type="reset" value="取消">
   </td>
  </tr>
 </table>

 </form>
 <form name="del" action="upload.cgi" mathod="post" style="margin:0px;">
  <input type="hidden" name="nom" value="$temp2[0]">
  <input type="hidden" name="mode" value="del">
  <input type="hidden" name="pass" value="$FORM{'pass'}">
  <input type="hidden" name="page" value="$FORM{'page'}">

 <table border="0" cellspacing="3" cellpadding="0" width="450px" style="margin-top:6px;">
  <td>
   <a href="javascript:document.del.submit();">× 記事を削除</a>
  </td>
 </table>

 </form>

 <table border="0" cellspacing="3" cellpadding="0" width="450px" style="margin-top:6px;">
  <td align="right">
   <a href="$script?mode=admin&pass=$FORM{'pass'}">≫ 編集をやめる</a>
  </td>
 </table>

</centr>
</body>
</html>
EOF

	print "Content-type: text/html\n\n";
	print $new;

	exit();
}

### スキンの追加ルーチン ###
sub addskin()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

	$errormess = '';
	if($FORM{'skinname'} eq ''){$errormess .= 'スキンの名前が設定されていません<br>'."\n";}
	if($FORM{'skinpass'} eq ''){$errormess .= 'スキンのファイル名が指定されていません<br>'."\n";}

	if($errormess ne ''){&error($errormess);}

	push(@adder,$FORM{'skinname'});
	$skinfile = $CFG::SkinPath.$FORM{'skinpass'};
	push(@adder,$skinfile);

	foreach(@adder){
		$_ =~ s/</&lt;/g;
		$_ =~ s/>/&gt;/g;
		$_ =~ s/_comma_/，/g;
	}

	$addskin = join(",",@adder);

#my $IfRtc = &FileLock($lockmode,$lockfile,$retry,$lockout);;
	open OUT,'>> '.$CFG::SkinFile;
	print OUT $addskin." \n";
	close OUT;
#&unlock;

print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>スキンの登録を完了しました。</title>
</head>
<body>

 <form action="$script" name="ok" mathod="post" style="margin:0px;">
  <input type="hidden" name="mode" value="admin">
  <input type="hidden" name="pass" value="$FORM{'pass'}">
  <input type="hidden" name="page" value="$FORM{'page'}">

 <table border="0" height="100%">
  <td align="center">
   スキンの登録を完了しました<br><br>
   <a href="javascript:document.ok.submit();">管理者モードへ戻る</a>
  </td>
 </table>

 </form>

</body>
</html>
EOF

	exit();
}

#### スキンの削除ルーチン ####
sub delskin()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

	if($FORM{'skinname'} eq ''){&error('スキンが選択されていません');}

	foreach(@skins){
		@temp = split(/,/,$_);
		if($FORM{'skinname'} ne $temp[0]){
			push(@temp2,$_);
		}
	}

#my $IfRtc = &FileLock($lockmode,$lockfile,$retry,$lockout);;
	open OUT ,'> '.$CFG::SkinFile;
	foreach(@temp2){ print OUT "$_";}
	close OUT;
#&unlock;

print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>スキンの削除を完了しました</title>
</head>
<body>

 <form action="$script" name="ok" mathod="post" style="margin:0px;">
  <input type="hidden" name="mode" value="admin">
  <input type="hidden" name="pass" value="$FORM{'pass'}">
  <input type="hidden" name="page" value="$FORM{'page'}">

 <table border="0" height="100%">
  <td align="center">
   スキンの削除を完了しました<br><br>
   <a href="javascript:document.ok.submit();">管理者モードへ戻る</a>
  </td>
 </table>

 </form>

</body>
</html>
EOF

	exit();
}

#### 記事のプレビュー ####
sub docpre()
{
#	$cr_pass = $FORM{'pass'};
#	$mat = &DeCrypt($cr_pass,$password);
#	if($FORM{'pass'} eq '' ){ $mat = 0; }
#	if($mat == 0){ &error('パスワードが違います。'); }

	if($FORM{'page'} eq ''){$FORM{'page'} = 0;}

	for($i = 0;$i <= $#logs;$i++){
		@temp = split(/,/,$logs[$i]);
		if($FORM{'nom'} eq $temp[0]){
			@temp2 = @temp;
		}
	}

	foreach(@temp2){
		$_ =~ s/_comma_/,/g;
		$_ =~ s/_brake_/<br>/g;
		$_ =~ s/&quot;/\"/g;
		#$_ =~ s/&gt;/>/g;
		#$_ =~ s/&lt;/</g;
		$_ =~ s/&amp;/&/g;
	}
	
	$skinname = $temp2[$CFG::data{'skin'}];
	$date     = $temp2[$CFG::data{'datenow'}];
	$name 	  = $temp2[$CFG::data{'name'}];
	$profile  = $temp2[$CFG::data{'profile'}];
	$comment4 = $temp2[$CFG::data{'comment4'}];
	$img1     = $temp2[$CFG::data{'img01'}];
	@size1    = split(/-/,$temp2[$CFG::data{'img01size'}]);
	$title    = $temp2[$CFG::data{'title'}];
	$subtitle    = $temp2[$CFG::data{'subtitle'}];
	$comment1 = $temp2[$CFG::data{'comment1'}];
	$comment2 = $temp2[$CFG::data{'comment2'}];
	$comment3 = $temp2[$CFG::data{'comment3'}];
	$img2     = $temp2[$CFG::data{'img02'}];
	@size2    = split(/-/,$temp2[$CFG::data{'img02size'}]);
	$img3     = $temp2[$CFG::data{'img03'}];
	@size3    = split(/-/,$temp2[$CFG::data{'img03size'}]);
	$img4     = $temp2[$CFG::data{'img04'}];
	@size4    = split(/-/,$temp2[$CFG::data{'img04size'}]);
	if($size1[0]) { $width1  = 'width="'. $size1[0].'px"'; }
	if($size1[1]) { $height1 = 'height="'.$size1[1].'px"'; }
	if($size2[0]) { $width2  = 'width="'. $size2[0].'px"'; }
	if($size2[1]) { $height2 = 'height="'.$size2[1].'px"'; }
	if($size3[0]) { $width3  = 'width="'. $size3[0].'px"'; }
	if($size3[1]) { $height3 = 'height="'.$size3[1].'px"'; }
	if($size4[0]) { $width4  = 'width="'. $size4[0].'px"'; }
	if($size4[1]) { $height4 = 'height="'.$size4[1].'px"'; }

	$viewimg1 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img01'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img01'}].'" '.$width1.' '.$height1.' border="0"></a>';
	$viewimg2 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img02'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img02'}].'" '.$width2.' '.$height2.' border="0"></a>';
	$viewimg3 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img03'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img03'}].'" '.$width3.' '.$height3.' border="0"></a>';
	$viewimg4 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img04'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img04'}].'" '.$width4.' '.$height4.' border="0"></a>';
	
	# add new 2006/10/31 ##########################################################
	$img5     = $temp2[$CFG::data{'img05'}];
	@size5    = split(/-/,$temp2[$CFG::data{'img05size'}]);
	$img6     = $temp2[$CFG::data{'img06'}];
	@size6    = split(/-/,$temp2[$CFG::data{'img06size'}]);
	$img7     = $temp2[$CFG::data{'img07'}];
	@size7    = split(/-/,$temp2[$CFG::data{'img07size'}]);
	$img8     = $temp2[$CFG::data{'img08'}];
	@size8    = split(/-/,$temp2[$CFG::data{'img08size'}]);
	$img9     = $temp2[$CFG::data{'img09'}];
	@size9    = split(/-/,$temp2[$CFG::data{'img09size'}]);
	$img10    = $temp2[$CFG::data{'img10'}];
	@size10   = split(/-/,$temp2[$CFG::data{'img10size'}]);
	$img11    = $temp2[$CFG::data{'img11'}];
	@size11   = split(/-/,$temp2[$CFG::data{'img11size'}]);
	$img12    = $temp2[$CFG::data{'img12'}];
	@size12   = split(/-/,$temp2[$CFG::data{'img12size'}]);
	
	if($size5[0]) { $width5  = 'width="'. $size5[0].'px"'; }
	if($size5[1]) { $height5 = 'height="'.$size5[1].'px"'; }
	if($size6[0]) { $width6  = 'width="'. $size6[0].'px"'; }
	if($size6[1]) { $height6 = 'height="'.$size6[1].'px"'; }
	if($size7[0]) { $width7  = 'width="'. $size7[0].'px"'; }
	if($size7[1]) { $height7 = 'height="'.$size7[1].'px"'; }
	if($size8[0]) { $width8  = 'width="'. $size8[0].'px"'; }
	if($size8[1]) { $height8 = 'height="'.$size8[1].'px"'; }
	if($size9[0]) { $width9  = 'width="'. $size9[0].'px"'; }
	if($size9[1]) { $height9 = 'height="'.$size9[1].'px"'; }
	if($size10[0]) { $width10  = 'width="'. $size10[0].'px"'; }
	if($size10[1]) { $height10 = 'height="'.$size10[1].'px"'; }
	if($size11[0]) { $width11  = 'width="'. $size11[0].'px"'; }
	if($size11[1]) { $height11 = 'height="'.$size11[1].'px"'; }
	if($size12[0]) { $width12  = 'width="'. $size12[0].'px"'; }
	if($size12[1]) { $height12 = 'height="'.$size12[1].'px"'; }

	$viewimg5 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img05'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img05'}].'" '.$width5.' '.$height5.' border="0"></a>';
	$viewimg6 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img06'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img06'}].'" '.$width6.' '.$height6.' border="0"></a>';
	$viewimg7 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img07'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img07'}].'" '.$width7.' '.$height7.' border="0"></a>';
	$viewimg8 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img08'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img08'}].'" '.$width8.' '.$height8.' border="0"></a>';
	$viewimg9 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img09'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img09'}].'" '.$width9.' '.$height9.' border="0"></a>';
	$viewimg10 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img10'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img10'}].'" '.$width10.' '.$height10.' border="0"></a>';
	$viewimg11 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img11'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img11'}].'" '.$width11.' '.$height11.' border="0"></a>';
	$viewimg12 = '<a href="'.$CFG::ImgPath.$temp2[$CFG::data{'img12'}].'" target="imgpreview"><img src="'.$CFG::ImgPath.$temp2[$CFG::data{'img12'}].'" '.$width12.' '.$height12.' border="0"></a>';
###############################################################################
	
	$file = '';

	for($i = 0;$i <= $#skins;$i++){
		@temp_s = split(/,/,$skins[$i]);
		if($skinname eq $temp_s[0]){
			@skinfile = @temp_s;
		}
	}
	### スキンファイルの中身を変数に展開 ###
	open IN ,$skinfile[1];
	while (<IN>) { $file .= $_; }
	close IN;

	if($file eq ''){
		$file  = '<html>'."\n";
		$file .= '<head>'."\n";
		$file .= '<title>スキンが見つかりません</title>'."\n";
		$file .= '</head>'."\n";
		$file .= '<body>'."\n";
		$file .= '<center>'."\n";
		$file .= '<table border="0" width="80%" height="65%">'."\n";
		$file .= '<td><font size="3" color="#ff0000"><b>ERROR!!</font><br><br>'."\n";
		$file .= '<font size=2>スキンファイルが見つかりません。<br>スキンファイルが存在しないか、未登録のスキンです。</font></b>'."\n";
		$file .= '</td>'."\n";
		$file .= '</table>'."\n";
		$file .= '<br><br><br>'."\n";
		$file .= '</body>'."\n";
		$file .= '</html>'."\n";
	}

	$footer  = '<center>'."\n";
	$footer .= '<table border="0" width="80%" style="margin-top:24px;">'."\n";
	$footer .= '<td align=right>'."\n";
	$footer .= '<a href="javascript:window.close()" style="font-size:12px;">'."\n";
	$footer .= 'ウィンドウを閉じる'."\n";
	$footer .= '</a>'."\n";
	$footer .= '</td>'."\n";
	$footer .= '</table>'."\n";
	$footer .= '</center>'."\n";
	$footer .= '</body>'."\n";

	$file =~ s/__comment5__/$name/g;   # new edit 2006/11/4
	$file =~ s/__prof__/$profile/g;
	$file =~ s/__comment4__/$comment4/g;
	$file =~ s/__date__/$date/g;
	$file =~ s/__title__/$title/g;
	$file =~ s/__subtitle__/$subtitle/g;
	$file =~ s/<\/body>/$footer/g;
	$file =~ s/__footer__//g;

	$file =~ s/__comment1__/$comment1/g;
	$file =~ s/__comment2__/$comment2/g;
	$file =~ s/__comment3__/$comment3/g;
	
	if($img1 eq '') {
		$file =~ s/__img1__//g;
	}else{
		$width  = (!($size1[0] =~ /[^0-9]/) && $size1[0]) ? 'width="'. $size1[0].'px"' : '' ;
		$height = (!($size1[1] =~ /[^0-9]/) && $size1[1]) ? 'height="'.$size1[1].'px"' : '' ;
		$img1_tag = '<img src="'.$CFG::ImgPath.$img1.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img1__/$img1_tag/g;
		$file =~ s/__img1__/$viewimg1/g;
	}
	
	if($img2 eq '') {
		$file =~ s/__img2__//g;
	}else{
		$width  = (!($size2[0] =~ /[^0-9]/) && $size2[0]) ? 'width="'. $size2[0].'px"' : '' ;
		$height = (!($size2[1] =~ /[^0-9]/) && $size2[1]) ? 'height="'.$size2[1].'px"' : '' ;
		$img2_tag = '<img src="'.$CFG::ImgPath.$img2.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img1__/$img1_tag/g;
		$file =~ s/__img2__/$viewimg2/g;
	}
	
	if($img3 eq '') {
		$file =~ s/__img3__//g;
	}else{
		$width  = (!($size3[0] =~ /[^0-9]/) && $size3[0]) ? 'width="'.$size3[0].'px"' : '' ;
		$height = (!($size3[1] =~ /[^0-9]/) && $size3[1]) ? 'height="'.$size3[1].'px"' : '' ;
		$img3_tag = '<img src="'.$CFG::ImgPath.$img3.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img1__/$img1_tag/g;
		$file =~ s/__img3__/$viewimg3/g;
	}
	
	if($img4 eq '') {
		$file =~ s/__img4__//g;
	}else{
		$width  = (!($size4[0] =~ /[^0-9]/) && $size4[0]) ? 'width="'.$size4[0].'px"' : '' ;
		$height = (!($size4[1] =~ /[^0-9]/) && $size4[1]) ? 'height="'.$size4[1].'px"' : '' ;
		$img4_tag = '<img src="'.$CFG::ImgPath.$img4.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img1__/$img1_tag/g;
		$file =~ s/__img4__/$viewimg4/g;
	}
	
	# add new 2006/10/31 ###############################################################
	if($img5 eq '') {
		$file =~ s/__img5__//g;
	}else{
		$width  = (!($size5[0] =~ /[^0-9]/) && $size5[0]) ? 'width="'.$size5[0].'px"' : '' ;
		$height = (!($size5[1] =~ /[^0-9]/) && $size5[1]) ? 'height="'.$size5[1].'px"' : '' ;
		$img5_tag = '<img src="'.$CFG::ImgPath.$img5.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img5__/$img5_tag/g;
		$file =~ s/__img5__/$viewimg5/g;
	}
	
	if($img6 eq '') {
		$file =~ s/__img6__//g;
	}else{
		$width  = (!($size6[0] =~ /[^0-9]/) && $size6[0]) ? 'width="'.$size6[0].'px"' : '' ;
		$height = (!($size6[1] =~ /[^0-9]/) && $size6[1]) ? 'height="'.$size6[1].'px"' : '' ;
		$img6_tag = '<img src="'.$CFG::ImgPath.$img6.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img6__/$img6_tag/g;
		$file =~ s/__img6__/$viewimg6/g;
	}
	
	if($img7 eq '') {
		$file =~ s/__img7__//g;
	}else{
		$width  = (!($size7[0] =~ /[^0-9]/) && $size7[0]) ? 'width="'.$size7[0].'px"' : '' ;
		$height = (!($size7[1] =~ /[^0-9]/) && $size7[1]) ? 'height="'.$size7[1].'px"' : '' ;
		$img7_tag = '<img src="'.$CFG::ImgPath.$img7.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img7__/$img7_tag/g;
		$file =~ s/__img7__/$viewimg7/g;
	}
	
	if($img8 eq '') {
		$file =~ s/__img8__//g;
	}else{
		$width  = (!($size8[0] =~ /[^0-9]/) && $size8[0]) ? 'width="'.$size8[0].'px"' : '' ;
		$height = (!($size8[1] =~ /[^0-9]/) && $size8[1]) ? 'height="'.$size8[1].'px"' : '' ;
		$img8_tag = '<img src="'.$CFG::ImgPath.$img8.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img8__/$img8_tag/g;
		$file =~ s/__img8__/$viewimg8/g;
	}
	
	if($img9 eq '') {
		$file =~ s/__img9__//g;
	}else{
		$width  = (!($size9[0] =~ /[^0-9]/) && $size9[0]) ? 'width="'.$size9[0].'px"' : '' ;
		$height = (!($size9[1] =~ /[^0-9]/) && $size9[1]) ? 'height="'.$size9[1].'px"' : '' ;
		$img9_tag = '<img src="'.$CFG::ImgPath.$img9.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img9__/$img9_tag/g;
		$file =~ s/__img9__/$viewimg9/g;
	}
	
	if($img10 eq '') {
		$file =~ s/__img10__//g;
	}else{
		$width  = (!($size10[0] =~ /[^0-9]/) && $size10[0]) ? 'width="'.$size10[0].'px"' : '' ;
		$height = (!($size10[1] =~ /[^0-9]/) && $size10[1]) ? 'height="'.$size10[1].'px"' : '' ;
		$img10_tag = '<img src="'.$CFG::ImgPath.$img10.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img10__/$img10_tag/g;
		$file =~ s/__img10__/$viewimg10/g;
	}
	
	if($img11 eq '') {
		$file =~ s/__img11__//g;
	}else{
		$width  = (!($size11[0] =~ /[^0-9]/) && $size11[0]) ? 'width="'.$size11[0].'px"' : '' ;
		$height = (!($size11[1] =~ /[^0-9]/) && $size11[1]) ? 'height="'.$size11[1].'px"' : '' ;
		$img11_tag = '<img src="'.$CFG::ImgPath.$img11.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img11__/$img11_tag/g;
		$file =~ s/__img11__/$viewimg11/g;
	}
	
	if($img12 eq '') {
		$file =~ s/__img12__//g;
	}else{
		$width  = (!($size12[0] =~ /[^0-9]/) && $size12[0]) ? 'width="'.$size12[0].'px"' : '' ;
		$height = (!($size12[1] =~ /[^0-9]/) && $size12[1]) ? 'height="'.$size12[1].'px"' : '' ;
		$img12_tag = '<img src="'.$CFG::ImgPath.$img12.'" border="0" '.$width.' '.$height.'>'."\n";
#			$file =~ s/__img12__/$img12_tag/g;
		$file =~ s/__img12__/$viewimg12/g;
	}
#########################################################################################
	
	print "Content-type: text/html\n\n";
	print $file;

	exit();
}

#### スキンのプレビュー ####
sub preview()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

	foreach(@skins){
		@temp = split(/,/,$_);
		if($FORM{'skinname'} eq $temp[0]){@temp2 = @temp;}
	}

	$file = '';

	### スキンファイルの中身を変数に展開 ###
#my $IfRtc = &FileLock($lockmode,$lockfile,$retry,$lockout);;
	open IN ,"$temp2[1]";
	while (<IN>) { $file .= $_; }
	close IN;
#$unlock;

	#--- サンプルテキスト ---#
	

	$profile = "プロフィールです。";
	$comment4 = "コメント4<br>\nこのテキストはサンプルです。テキストフィールド４のテキストがここに入ります。<br>\n";
	
	$comment1   = "コメント1<br>\nこのテキストはサンプルです。テキストフィールド１のテキストがここに入ります。<br>\n";
	$comment2   = "コメント2<br>\nこのテキストはサンプルです。テキストフィールド２のテキストがここに入ります。<br>\n";
	$comment3   = "コメント3<br>\nこのテキストはサンプルです。テキストフィールド３のテキストがここに入ります。<br>\n";
	$img1    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像1</td></table>\n";
	$img2    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像2</td></table>\n";
	$img3    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像3</td></table>\n";
	$img4    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像4</td></table>\n";
	
	# add new 2006/10/31
	$name = "コメント5<br>\nこのテキストはサンプルです。テキストフィールド5のテキストがここに入ります。<br>";
	$img5    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像5</td></table>\n";
	$img6    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像6</td></table>\n";
	$img7    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像7</td></table>\n";
	$img8    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像8</td></table>\n";
	$img9    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像9</td></table>\n";
	$img10    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像10</td></table>\n";
	$img11    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像11</td></table>\n";
	$img12    = "<table border=0 cellspacing=0 cellpadding=0 width=160 height=120 bgcolor=#eeeeee><td align=right valign=bottom>画像12</td></table>\n";
	
	
	$date    = "xxxx/xx/xx xxx";
	
	$footer  = '<center>'."\n";
	$footer .= '<table border="0" width="80%" style="margin-top:24px;">'."\n";
	$footer .= '<td align="right">'."\n";
	$footer .= '<a href="javascript:window.close()" style="font-size:12px;">ウィンドウを閉じる</a>'."\n";
	$footer .= '</td>'."\n";
	$footer .= '<table>'."\n";
	$footer .= '</center>'."\n";
	$footer .= '</body>'."\n";
	$subtitle = 'サブタイトル'."\n";
	$file =~ s/__title__/$temp2[0]のプレビュー/g;
	$file =~ s/__subtitle__/$subtitle/g;
	$file =~ s/__comment5__/$name/g;
	$file =~ s/__prof__/$profile/g;
	$file =~ s/__comment4__/$comment4/g;
	$file =~ s/__text3__/$text3/g;
	$file =~ s/__img1__/$img1/g;
	$file =~ s/__img2__/$img2/g;
	$file =~ s/__img3__/$img3/g;
	$file =~ s/__img4__/$img4/g;
	$file =~ s/__date__/$date/g;
	$file =~ s/__comment1__/$comment1/g;
	$file =~ s/__comment2__/$comment2/g;
	$file =~ s/__comment3__/$comment3/g;
	$file =~ s/<\/body>/$footer/;
	$file =~ s/__footer__//g;
	
	# add new 2006/10/31
	$file =~ s/__img5__/$img5/g;
	$file =~ s/__img6__/$img6/g;
	$file =~ s/__img7__/$img7/g;
	$file =~ s/__img8__/$img8/g;
	$file =~ s/__img9__/$img9/g;
	$file =~ s/__img10__/$img10/g;
	$file =~ s/__img11__/$img11/g;
	$file =~ s/__img12__/$img12/g;
	
	
	if(!$file){&error('スキンファイルが見つかりません',1);}

	print "Content-type: text/html\n\n";
	print $file;

	exit();
}

#### パスワード入力 ####
sub pass()
{
print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>パスワード認証</title>
</head>
<body>


 <form name="pass" action="$script" method="post" style="margin:0px;">
  <input type="hidden" name="mode" value="admin">
  <input type="hidden" name="page" value="$FORM{'page'}">
  <input type="password" name="pass" style="width:120px;">

 <table border="0" cellspacing="0" cellpadding="0" height="100%">
  <td>
   <table border="0" cellspacing="0" cellpadding="0" width="300px">
    <tr>
     <td style="font-size:22px;font-family:Times;color:#999999;">
      <b>password check</b>
     </td>
     <td align="right" valign="bottom" style="font-size:12px;color:#999999;">
      パスワード認証
     </td>
    </tr>
    <tr>
     <td height="1px" bgcolor="#cccccc" colspan=2></td>
    </tr>
    <tr>
     <td align="right" colspan=2 style="padding-top:6px;">
      <div align="left" style="font-size:12px;">
       パスワードを入力してください
      </div>
      <br>
      <input type="submit" value="認証">
     </td>
    </tr>
   </table>
  </td>
 </table>

 </form>

</body>
</html>
EOF
exit;}

### オプション設定フォーム
sub optionform()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

$form .= <<"EOF";
<html>
<head>
<title>管理者モード</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<style type="text/css">
<!--
td {
	font-size:12px;}
.tab {
	padding:4px 6px;
	vertical-align:top;}
.dtab {
	padding-left:48px;}
.f {
	width:180px;}
.form td {
	background:#eeeeee;}
	a:hover {color:red;}
// -->
</style>
<script>
<!--
function delsubmit() {
	document.del.target = "_self";
	document.del.mode.value = "delskin";
	document.del.submit();
}
function preview(name) {
	document.forms[name].action = "$script";
	document.forms[name].encoding = "application/x-www-form-urlencoded";
	document.forms[name].target = "preview";
	document.forms[name].mode.value = "preview";
	document.forms[name].submit();
}
-->
</script>
</head>
<body>

 <table border="0" 22cellspacing="0" cellpadding="0" width="600px" style="margin-bottom:12px;">
  <tr>
   <td style="padding-top:20px;">
    <b><font size=3><br>【店舗情報｜東北エリア】 更新管理プログラム</font><br><br><br></b>
   </td>
  </tr>
 </table>

 <table border="0" cellspacing="0" cellpadding="0" width="600px">
  <tr>
   <td style="line-height:150%;">
    ■ スキン型新着情報cgi管理モード<br><br>
    スキンの登録・削除、パスワードの変更等を行います。
    <ul style="margin:0px 0px 0px 20px;">
     <li>スキンを登録するには、スキンの名前とファイル名を指定します。名前はスキン選択のためのセレクトボックスに表示されます。ファイル名にはスキンファイルの名前を指定します。スキンは必ず指定されたディレクトリ（$CFG::SkinPath）においてください。
     <li>スキンを削除するにはセレクトボックスから削除したいスキンを選択し、「抹消」ボタンを押します。「プレビュー」ボタンを押すことで選択しているスキンのプレビューを見ることができます。
     <li>パスワードを変更するには「パスワード変更」の項のテキストボックスに変更後のパスワードを入力して「送信」ボタンを押します。
      パスワードは忘れないように必ずメモをとっておいてください。
     <li>記事一覧へ戻るには、ページ下部の「≫ 編集をやめる」をクリックします。
    </ul>
   </td>
  </tr>
 </table>

 <form action="$script" method="post" style="margin:0;">
  <input type="hidden" name="mode" value="addskin">
  <input type="hidden" name="pass" value="$FORM{'pass'}">
  <input type="hidden" name="page" value="$FORM{'page'}">

 <table border="0" cellspacing="1" cellpadding="0" width="450px" style="margin-top:18px;" class="form" bgcolor="black">
  <tr>
   <td colspan="2" class="tab" style="background:#cccccc;">
    <b>スキンの登録／抹消</b>
   </td>
  </tr>
  <tr>
   <td colspan="2" class="tab" style="padding-bottom:6px;">
    スキンの登録
   </td>
  </tr>
  <tr>
   <td class="tab" width="270px">
    スキンの名称
   </td>
   <td width="180px" class="tab" style="background:white;">
    <input type="text" name="skinname" class="f">
   </td>
  </tr>
  <tr>
   <td class="tab">
    スキンのファイル名
   </td>
   <td class="tab" style="background:white;">
    <input type="text" name="skinpass" class="f">
   </td>
  </tr>
  <tr>
   <td align="right" colspan=2 class="tab" style="background:#cccccc;">
    <input type="submit" value="登録">
    <input type="reset" value="取消">
   </td>
  </tr>

  </form>

  <tr>
   <td height="2px" style="background:white;" colspan="2"></td>
  </tr>

  <form action="$script" method="post" style="margin:0;" name="del">
   <input type="hidden" name="mode" value="delskin">
   <input type="hidden" name="pass" value="$FORM{'pass'}">
   <input type="hidden" name="page" value="$FORM{'page'}">

  <tr>
   <td class="tab" height="24px" colspan="2">
    スキンの登録抹消
   </td>
  </tr>
  <tr>
   <td class="tab">
    登録抹消するスキンの選択
   </td>
   <td class="tab" style="background:white;">
    <select name="skinname" class="f">
     <option value=""> スキン選択
EOF
	foreach(@skins){
		@temp = split(/,/,$_);
		$form .= '<option value="'.$temp[0].'">'.$temp[0]."\n";
	}
$form .= <<"EOF";
    </select>
   </td>
  </tr>
  <tr>
   <td align="right" colspan="2" class="tab" style="background:#cccccc;">
    <input type="button" value="プレビュー" onclick="preview('del');">
    <input type="button" value="抹消" onclick="delsubmit();"><input type="reset" value="取消">
   </td>
  </tr>
 </table>

 </form>
 <form name="pass" action="$script" method="post" style="margin:0px;">
  <input type="hidden" name="mode" value="option2">
  <input type="hidden" name="pass" value="$FORM{'pass'}">
  <input type="hidden" name="page" value="$FORM{'page'}">
  
  
  <table border="0" cellspacing="1" cellpadding="0" width="450px" style="margin-top:18px;" class="form" bgcolor="black">
  <tr>
   <td colspan=2 style="background:#cccccc;" class="tab">
    <b>リストインデックスに関する設定</b>
   </td>
  </tr>
  <tr>
   <td colspan=2 align="right" class="tab" style="background:white;">
    <input type="text" name="step" style="width:50px;" value="$step">１ページに\表\示する件数<br>
    <input type="text" name="column" style="width:50px;" value="$column">横に並べる記事の件数<br>
EOF

    $form .= "<input type=\"radio\" name=\"yokospace\" value=\"1\"";
    if($yokospace eq "1"){ $form .= " checked "; }
    $form .= ">記事と記事の横空間を空ける<br>";
    $form .= "<input type=\"radio\" name=\"yokospace\" value=\"0\"";
    if($yokospace eq "0"){ $form .= " checked "; }
    $form .= ">記事と記事の横空間を空けない<br>";
    
    $form .= "<input type=\"radio\" name=\"tatespace\" value=\"1\"";
    if($tatespace eq "1"){ $form .= " checked "; }
    $form .= ">記事と記事の縦空間を空ける<br>";
    $form .= "<input type=\"radio\" name=\"tatespace\" value=\"0\"";
    if($tatespace eq "0"){ $form .= " checked "; }
    $form .= ">記事と記事の縦空間を空けない<br>";
    
$form .=<<"EOF";
    <input type="submit" value="送信" style="width:60px;">
   </td>
  </tr>
 </table>
 </form>
  
  <form name="pass" action="$script" method="post" style="margin:0px;">
  <input type="hidden" name="mode" value="option">
  <input type="hidden" name="pass" value="$FORM{'pass'}">
  <input type="hidden" name="page" value="$FORM{'page'}">
  <input type="hidden" name="step" value="$step">
  <input type="hidden" name="column" value="$column">

 <table border="0" cellspacing="1" cellpadding="0" width="450px" style="margin-top:18px;" class="form" bgcolor="black">
  <tr>
   <td colspan=2 style="background:#cccccc;" class="tab">
    <b>パスワード変更</b>
   </td>
  </tr>
  <tr>
   <td colspan=2 align="right" class="tab" style="background:white;">
    <input type="password" name="password" style="width:190px;"><input type="submit" value="送信" style="width:60px;">
    <font style="font-size:10px;">※ パスワードは半角英数８文字まで有効</font>
   </td>
  </tr>
 </table>

 </form>

 <table border="0" cellspacing="3" cellpadding="0" width="450px" style="margin-top:6px;">
  <td align="right">
   <a href="$script?mode=admin&pass=$FORM{'pass'}">≫ 編集をやめる</a>
  </td>
 </table>

</body>
</html>
EOF

	print "Content-type: text/html\n\n";
	print $form;

	exit();
}

#### パスワード変更ルーチン
sub option()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

	if($FORM{'password'} eq ''){&error('パスワードが入力されていません');}

	$newpass = &EnCrypt($FORM{'password'});

	my $op2 = "$newpass,$FORM{'step'},$FORM{'column'}";
	open OUT,">$CFG::OptionFile";
	print OUT "$op2";
	close OUT;

print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>パスワードの変更が完了しました。</title>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
</head>
<body>

<form action="$script" name="ok" method="post" style="margin:0px;">
 <input type="hidden" name="mode" value="admin">
 <input type="hidden" name="pass" value="$FORM{'password'}">
 <input type="hidden" name="page" value="$FORM{'page'}">

<table border="0" cellapacing="0" cellpadding="0" width="100%" height="100%">
 <td align="center">
  パスワードの変更を完了しました<br><br>
  <a href="javascript:document.ok.submit();">管理者モードへ戻る</a>
 </td>
</table>

</form>

</body>
</html>
EOF

	exit();
}

#### オプションファイル変更ルーチン
sub option2()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }
	if(!$FORM{'step'}){ $FORM{'step'} = 5; }
	if($FORM{'step'}<1){ $FORM{'step'} = 5; }
	if($FORM{'step'} && $FORM{'step'}=~ /[^0-9\-]+/){ $FORM{'step'} = 5; }
	if(!$FORM{'column'}){ $FORM{'column'} = 1; }
	if($FORM{'column'}<1){ $FORM{'column'} = 1; }
	if($FORM{'column'} && $FORM{'column'}=~ /[^0-9\-]+/){ $FORM{'column'} = 1; }

	##if($FORM{'password'} eq ''){&error('パスワードが入力されていません');}

	##$newpass = &EnCrypt($FORM{'password'});
	
	my $op2 = "$password,$FORM{'step'},$FORM{'column'},$FORM{'yokospace'},$FORM{'tatespace'}";

	open OUT,">$CFG::OptionFile";
	print OUT "$op2";
	close OUT;

print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>リストインデックスに関する設定の変更が完了しました。</title>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
</head>
<body>

<form action="$script" name="ok" method="post" style="margin:0px;">
 <input type="hidden" name="mode" value="admin">
 <input type="hidden" name="pass" value="$FORM{'pass'}">
 <input type="hidden" name="page" value="$FORM{'page'}">

<table border="0" cellapacing="0" cellpadding="0" width="100%" height="100%">
 <td align="center">
  リストインデックスに関する設定の変更が完了しました。<br><br>
  <a href="javascript:document.ok.submit();">管理者モードへ戻る</a>
 </td>
</table>

</form>

</body>
</html>
EOF

	exit();
}


### 記事の順番入れ替え実行
sub orderset {
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }
	
	my @logs = &fileread($CFG::DataFile,1);
	
	#--データ格納ファイルの展開--#
	
	
	if($FORM{'set'} eq "bottom"){
		my $curr;
		foreach(0..$#logs){
			my @tmp = split(/,/,$logs[$_]);
			if($tmp[0] eq $FORM{'code'}){
				$curr = $logs[$_];
				splice(@logs,$_,1);
				push(@logs,$curr);
				last;
			}
		}
	}elsif($FORM{'set'} eq "down"){
		my $curr;
		my $chan;
		foreach(0..$#logs){
			my @tmp = split(/,/,$logs[$_]);
			if($tmp[0] eq $FORM{'code'}){
				$curr = $logs[$_];
				if(($_ + 1) > $#logs){last;}
					$chan = $logs[$_+1];
					$logs[$_+1] = $curr;
					$logs[$_] = $chan;
					last;
			}
		}
	}elsif($FORM{'set'} eq "up"){
		my $curr;
		my $chan;
		foreach(0..$#logs){
			my @tmp = split(/,/,$logs[$_]);
			if($tmp[0] eq $FORM{'code'}){
				$curr = $logs[$_];
				if(($_ - 1) < 0){last;}
					$chan = $logs[$_-1];
					$logs[$_-1] = $curr;
					$logs[$_] = $chan;
					last;
				}
			}
	}elsif($FORM{'set'} eq "top"){
		my $curr;
		foreach(0..$#logs){
			my @tmp = split(/,/,$logs[$_]);
			if($tmp[0] eq $FORM{'code'}){
				$curr = $logs[$_];
				splice(@logs,$_,1);
				unshift(@logs,$curr);
				last;
			}
		}
	}

	&filewrite($CFG::DataFile,\@logs,1);
	
	print "location:".$script."?mode=admin&pass=".$FORM{'pass'}."&page=".$FORM{'page'}."\n\n";
	
	exit;
}


#### エラー ####
sub error()
{
print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>ERROR!!</title>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">
 <td align="center">
  <font style="font-size:20px;color:#ff0000;">error!!</font><br><br>
  <b>$_[0]</b><br><br>
EOF

	if($_[1] eq 1){
		print '<a href="javascript:window.close();">ウィンドウを閉じる</a>'."\n";
	}else{
		print '<a href="javascript:history.back();">戻る</a>'."\n";
	}

print <<"EOF";
 </td>
</table>

</body>
</html>
EOF

	exit();
}

sub reset()
{
	$cr_pass = $FORM{'pass'};
	$mat = &DeCrypt($cr_pass,$password);
	if($FORM{'pass'} eq '' ){ $mat = 0; }
	if($mat == 0){ &error('パスワードが違います。'); }

print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>データを初期化しますか？</title>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
</head>
<body>

<form name="res" action="$script" method="post" style="margin:0px;">
 <input type="hidden" name="mode" value="res2">
 <input type="hidden" name="pass" value="$FORM{'pass'}">

<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">
 <td align="center">
   データの初期化を行います。よろしいですか？<br><br>
   <a href="javascript:document.res.submit();">実行</a><br><br>
   <a href="$script">キャンセル</a><br>
 </td>
</table>

</form>

</body>
</html>
EOF

	exit();
}

sub res2()
{
#my $IfRtc = &FileLock($lockmode,$lockfile,$retry,$lockout);;
	open OUT ,"> $CFG::OptionFile";
	print OUT "";
	close OUT;

	open OUT ,"> $CFG::DataFile";
	print OUT "";
	close OUT;

	open OUT ,"> $CFG::SkinFile";
	print OUT "";
	close OUT;

	open OUT ,"> $CFG::NoFile";
	print OUT "";
	close OUT;

	$index = 'index.html';
	$ind   = '<html>'."\n";
	$ind  .= '<head>'."\n";
	$ind  .= '<title>ERROR!!</title>'."\n";
	$ind  .= '<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">'."\n";
	$ind  .= '</head>'."\n";
	$ind  .= '<body>'."\n";
	$ind  .= '<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">'."\n";
	$ind  .= '<td align="center">'."\n";
	$ind  .= '<font style="font-size:20px;color:#ff0000;">error!!</font><br><br>'."\n";
	$ind  .= '<b>アクセスできませんでした</b><br><br><br>'."\n";
	$ind  .= '<a href="javascript:history.back();">戻る</a>'."\n";
	$ind  .= '</td>'."\n";
	$ind  .= '</table>'."\n";
	$ind  .= '</body>'."\n";
	$ind  .= '</html>'."\n";

	opendir DIR, $CFG::ImgPath;
	@files = grep { !m/^(\.|\.\.)$/g } readdir DIR;
	close DIR;

	$flag = @files;
	if ( $flag ) {
		foreach $file ( @files ) {
			unlink "$CFG::ImgPath$file";
		}
	}

	open OUT ,"> $CFG::ImgPath$index";
	print OUT "$ind";
	close OUT;

	opendir DIR, $CFG::SkinPath;
	@files = grep { !m/^(\.|\.\.)$/g } readdir DIR;
	close DIR;

	$flag = @files;
	if ( $flag ) {
		foreach $file ( @files ) {
			unlink "$skins$file";
		}
	}

	open OUT ,"> $skins$index";
	print OUT "$ind";
	close OUT;

#&unlock;

print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>初期化完了</title>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
</head>
<body>

<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">
 <td align="center">
   データの初期化が完了しました。<br><br>
   <a href="$script">もどる</a><br>
 </td>
</table>

</body>
</html>
EOF

	exit();
}

#===============================================================================
#【説明】デバック関数
#【呼出】&fnDebugParam( %DebugCode );
#【引数】$DebugMode    : ON/OFF デバック表示制御
#        %DebugCode    : パラメータ
#================================================================================
sub fnDebugParam()
{
	my( %DebugCode ) = @_;

	if( $DebugMode eq 'ON' ) {

		print qq(Content-type: text/html\n\n);
		print qq(<META http-equiv="Content-Type" content="text/html; charset=shift_JIS">\n);
		print qq(<META http-equiv="Content-Style-Type" content="text/css">\n);

		print 'debug<HR>'."\n";
		print '<TABLE border="1" bgcolor="#000000">'."\n";
			my @QueryKey = keys %DebugCode;
			foreach ( @QueryKey ) {
				print '<TR><TD><FONT size="2" color="#00FFFF"><B>'.$_.'</B></FONT></TD><TD><FONT size="2" color="#00FFFF"><B>'.$DebugCode{$_}.'</B></FONT></TD></TR>'."\n";
			}
		print '</TABLE>'."\n";
		print '<HR>'."\n";
	}

	return();
}

## ファイルロック用関数 ##
sub lock {
	my $retry = 3;
	if (-e $CFG::LockFile) {
		my $locktime = (stat($lockfile))[9];
		if ($locktime < time - 60) {&unlock;}
	}
	while (!mkdir($CFG::LockFile,0755)) {
		if (--$retry < 0) {&error("現在書き込みできません。<br>しばらくたってからやり直してください。");}
		sleep(1);
	}
	return();
}

#### ファイルロック解除 ####
sub unlock()
{
	#if ($lockmode) {
		rmdir($CFG::LockFile);
	#}
}

sub fileread{

	my($err,@buffer);
	# ファイルチェック
	if(!(-e "$_[0]")){ return;} # ファイル存在チェック
	if(!(-r "$_[0]")){ return;} # パーミッションチェック
	
	# ファイルオープン
	open (IN,"$_[0]") || (return);
	while(<IN>){push(@buffer,$_);}
	close IN;
	
	# 改行コード除去
	if($_[1]){
		foreach(@buffer){
			$_ =~ s/\r\n|\r|\n//g;
		}
	}
	
	# 戻り値
	if($_[2] == 1){
		my $buffer = join("",@buffer);
		return($buffer);
	}else{
		return(@buffer);
	}
	return(1);
}


## 配列をファイルに格納
	# 引数0 ファイルパス
	# 引数1 格納する配列 (\@neme等のリファレンスとして渡す)
	# 引数2 各行末に改行コードを 0).付与しない 1).付与する
	# 引数3 1)バイナリモード
sub filewrite {

my $temp = $_[1]; #配列のリファレンス

my($err);
	# ファイルチェック
#	if(!(-w "$_[0]")){ return(0);} # パーミッションチェック

	# 改行コードの付与
	if($_[2]){
		foreach(@$temp){
			$_ .= "\n";
		}
	}
	
	# ファイルオープン
	&lock;
	open  (OUT,"> $_[0]");
	if($_[3]){binmode(OUT);}
	foreach(@$temp){
		print OUT $_;
	}
	close OUT;
	&unlock;

	return(1);
}
