差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行はこのように表示します。
一行コメント欄の名前、および管理者パスワードをクッキーで保存します。
*[use cookie]
-2003-07-14 (Mon) 17:19:17 ちょっと実装を変更
**グローバル変数定義
クッキーに保存するフォームの変数名
my @cookie_list = ('mypassword','myname'); # yakty add [use cookie]
クッキーの保持期限
my $cookie_expires = '+1M'; # yakty add [use cookie]
**init_form()内の変更
sub init_form {
if (param()) {
foreach my $var (param()) {
$form{$var} = param($var);
}
} else {
$ENV{QUERY_STRING} = $FrontPage;
}
&init_cookie; # yakty add[use cookie]
**embedded_to_html()内の変更
-2003-08-14 (Thu) 16:32:44 $form{myname}をエスケープするように修正
sub embedded_to_html {
my ($embedded) = @_;
my $escapedmypage = &escape($form{mypage});
my $escapedmyname = &escape($form{myname}); # yakty add [use cookie]
if ($embedded eq $embed_comment or $embedded eq $embed_rcomment) {
my $lastmodified = &get_info($form{mypage}, $info_LastModified);
$comment_no++; # yakty add [multi comment]
return <<"EOD";
@{[sprintf(qq(<a name="#c%d"> </a>), $comment_no)]}<!-- yakty add [jump to part] -->
<form action="$url_xcg" method="post"><!-- yakty mod [for XREA] -->
<input type="hidden" name="mycmd" value="comment">
<input type="hidden" name="mypage" value="$escapedmypage">
<input type="hidden" name="myLastModified" value="$lastmodified">
<input type="hidden" name="mytouch" value="on">
<input type="hidden" name="mycmtno" value="$comment_no"><!-- yakty add [multi comment] -->
$resource{yourname}
<input type="text" name="myname" value="$escapedmyname" size="10"><!-- yakty mod [use cookie] -->
<input type="text" name="mymsg" value="" size="80">
<input type="submit" value="$resource{commentbutton}">
</form>
**init_cookie()追加
-2003-07-16 (Wed) 11:42:28 クッキーを削除できる様に処理を変更。
-2003-08-20 (Wed) 18:53:25 set_cookie()の実装変更に伴う変更。
# yakty add [use cookie] start
sub init_cookie {
my $path = $ENV{'SCRIPT_NAME'};
$path =~ s|[^/]+$||;
foreach (@cookie_list){
if(defined($form{$_})){
&set_cookie($_, $form{$_}, path => $path);
} else {
$form{$_} = cookie(-name => $_);
}
}
}
# yakty add [use cookie] end
**set_cookie()追加
-2003-08-20 (Wed) 18:54:01 実装を変更。
# yakty add [use cookie] start
sub set_cookie {
#my ($name, $value, $path) = @_;
my ($name, $value, %option) = @_;
my $path = $option{'path'};
if(length($path) == 0){
$path = $ENV{'SCRIPT_NAME'};
$path =~ s|[^/]+$||;
}
my $expires = ($option{'expires'}) ? $option{'expires'} : $cookie_expires;
my $ck = cookie(
-name => $name,
-value => $value,
-expires => $cookie_expires,
-expires => $expires,
-path => $path);
print qq(Set-Cookie: $ck\n);
}
# yakty add [use cookie] end
03212