[ 新規 ] [ 検索 | 一覧 | FrontPage ] [ 履歴 (RSS) | 差分履歴 (RSS) ] [ ログイン ]
【PR】Amazon | SL-C3000 | SL-C1000(3/18発売!) | SL-C860 | SL-6000W | SL-6000L | SL-6000N

WalWiki/カスタマイズ/非公開ページ

差分表示


編集前の状態に戻します。
*[secret page]
** resource.txtへの追加

,secretbutton,非公開にする

** グローバル変数定義

 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]


03016