[secret page]
resource.txtへの追加
グローバル変数定義
my $frozen_frozen = 1;
my $frozen_certified = 2;
my $frozen_secret = 3;
do_read()内の変更
sub do_read {
# yakty add [secret page] start
if(&is_secret($form{mypage}) and not &valid_password($form{mypassword})){
&do_login;
return;
}
# yakty add [secret page] end
&print_header($form{mypage});
&print_content($database{$form{mypage}});
&print_footer($form{mypage});
}
do_write()内の変更
my $willbesecret = ($form{myfrozen} == $frozen_secret); # yakty add [secret page]
if ($form{mymsg}) {
# Walrus mod [write softly] start
# $database{$form{mypage}} = $form{mymsg};
if ($lock_enable) {
#if ($form{mytouch}) { # yakty del [noupdate if nochange]
if ($form{mytouch} and $isChanged) { # yakty add [noupdate if nochange]
# &set_info($form{mypage}, $info_LastModified, '' . localtime); # Walrus del [gmtime offset]
&set_info($form{mypage}, $info_LastModified, '' . gmtime(time + $modifier_time_offset)); # Walrus add [gmtime offset]
&update_recent_changes;
# } # yakty del [secret page]
# yakty add [secret page] start
} elsif($willbesecret) {
&update_recent_changes;
}
# yakty add [secret page] end
#if ($form{mytouch}) { # yakty del [noupdate if nochange]
#if ($form{mytouch} and $isChanged) { # yakty add [noupdate if nochange] # yakty del [secret page]
if (($form{mytouch} and $isChanged) or $willbesecret) { # yakty add [noupdate if nochange] [secret page]
&update_recent_changes;
}
&print_header($form{mypage});
update_recent_changes()内の変更
foreach (@oldupdates) {
/^\- \d\d\d\d\-\d\d\-\d\d \(...\) \d\d:\d\d:\d\d (\S+)/; # date format.
my $name = &unarmor_name($1);
#if (&is_exist_page($name) and ($name ne $form{mypage})) { # yakty del [secret page]
if (not &is_secret($name) and &is_exist_page($name) and ($name ne $form{mypage})) { # yakty add [secret page]
push(@updates, $_);
}
}
#if (&is_exist_page($form{mypage})) { # yakty del [secret page]
if (&is_exist_page($form{mypage}) and $form{myfrozen} != $frozen_secret) { # yakty add [secret page]
unshift(@updates, $update);
}
update_recent_diffs()内の変更
if($form{myfrozen} != $frozen_secret){ # yakty add [secret page]
my $update = "- @{[&get_now]} @{[&armor_name($form{mypage})]}";
my @difftxt = split(/\n/, $diffmsg);
if((@difftxt = grep /^[-+]/, @difftxt)){
$diffmsg = join("\n", @difftxt);
$diffmsg =~ s/^/ /gm;
$contents = $update . "\n" . $diffmsg . "\n";
}
} # yakty add [secret page]
my @txt = split(/\n/, $database{$RecentDiffs});
my $n = 0;
my $skip = 0;
my @diffs;
foreach (@txt){
if(/^\- \d\d\d\d\-\d\d\-\d\d \(...\) \d\d:\d\d:\d\d (\S+)/){
last if(++$n > $maxrecent);
my $name = &unarmor_name($1);
# $skip = 0; # yakty del [secret page]
$skip = (&is_secret($name) or ($name eq $form{mypage} and $form{myfrozen} == $frozen_secret)); # yakty add [secret page]
if($name eq $skippage){
$skip = 1;
$skippage = '';
}
}
next if($skip);
push @diffs, $_;
}
$contents .= join("\n", @diffs);
print_header()内の変更
my $frozen = &is_frozen($page); # yakty add [certified] [secret page]
#if (&is_frozen($page) and $form{mycmd} =~ /^(read|write)$/) { # yakty del [certified] [secret page]
# yakty add [secret page] start
if ($frozen == $frozen_secret and $form{mycmd} =~ /^(read|write)$/) {
$editable = 0;
$admineditable = 1;
$bodyclass = "secret";
} elsif ($frozen == $frozen_frozen and $form{mycmd} =~ /^(read|write)$/) {
# yakty add [secret page] end
#if( $frozen == 1 and $form{mycmd} =~ /^(read|write)$/) { # yakty add [certified]
$editable = 0;
$admineditable = 1;
$bodyclass = "frozen";
# Walrus add [edit admin only] start
print_editform()内の変更
@{[
$mode{admin} ?
# yakty del [certified] [secret page] start
#qq(
#<input type="radio" name="myfrozen" value="1" @{[$frozen ? qq(checked="checked") : ""]}>$resource{frozenbutton}
#<input type="radio" name="myfrozen" value="0" @{[$frozen ? "" : qq(checked="checked")]}>$resource{notfrozenbutton}<br>)
# yakty del [certified] [secret page] end
# yakty add [certtified] [secret page] start
qq(
<input type="radio" name="myfrozen" value="3" @{[($frozen == 3) ? qq(checked="checked") : ""]}>$resource{secretbutton}
<input type="radio" name="myfrozen" value="2" @{[($frozen == 2) ? qq(checked="checked") : ""]}>$resource{certifybutton}
<input type="radio" name="myfrozen" value="1" @{[($frozen == 1) ? qq(checked="checked") : ""]}>$resource{frozenbutton}
<input type="radio" name="myfrozen" value="0" @{[$frozen ? "" : qq(checked="checked")]}>$resource{notfrozenbutton}<br>)
# yakty add [certified] [secret page] end
: ""
]}
frozen_reject()内の変更
sub frozen_reject {
my ($isfrozen) = &get_info($form{mypage}, $info_IsFrozen);
my ($willbefrozen) = $form{myfrozen};
if ($allow_comment_in_frozen and $form{'mycmd'} eq 'comment' and not $willbefrozen) { # yakty add [certified]
#if (not $isfrozen and not $willbefrozen) { # yakty del [certified]
# You need no check.
$form{myfrozen} = $isfrozen; # yakty add [certified]
return 0;
# Walrus add [allow comment in frozen] start
} elsif (not $isfrozen == $frozen_frozen and not $isfrozen == $frozen_secret and not $willbefrozen){ # yakty add [certified] [secret page]
#} elsif ($allow_comment_in_frozen and $form{'mycmd'} eq 'comment' and not $willbefrozen) { # yakty del [certified]
#$form{myfrozen} = $isfrozen; # yakty del [certified]
return 0;
# Walrus add [allow comment in frozen] end
} elsif (valid_password($form{mypassword})) {
# You are admin.
return 0;
} else {
&print_error($resource{passworderror});
return 1;
}
}
do_search()内の変更
sub do_search {
my $word = &escape($form{mymsg});
&print_header($SearchPage);
&print_searchform($word);
my $counter = 0;
my $admin = &valid_password($form{mypassword}); # yakty add [secret page]
foreach my $page (@pages) {
next if (&is_secret($page) and not $admin); # yakty add [secret page]
is_frozen()内の変更
sub is_frozen {
my ($page) = @_;
# yakty del [certified]
#if (&get_info($page, $info_IsFrozen)) {
# return 1;
#} else {
# return 0;
#}
# yakty del [certifled]
return &get_info($page, $info_IsFrozen); # yakty add [certified] [secret page]
}
is_secret()追加
# yakty add [secret page] start
sub is_secret {
my ($page) = @_;
return &is_frozen($page) == $frozen_secret;
}
# yakty add [secret page] end
do_index() 内の変更
- 2006-02-01 (Wed) 21:55:31 追加。
&print_header($IndexPage);
my $admin = &valid_password($form{mypassword}); # yakty add [secret page]
print qq(<ul>);
foreach my $page (sort keys %database) {
my $frozen = &is_frozen($page); # yakty add [secret page]
next if(not $admin and $frozen == $frozen_secret); # yakty add [secret page]