一行コメント欄の名前、および管理者パスワードをクッキーで保存します。
[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 => $expires, -path => $path); print qq(Set-Cookie: $ck\n); } # yakty add [use cookie] end