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

WalWiki/カスタマイズ/do_adminedit()リファクタリング

編集

do_adminedit()のリファクタリング

[refactoring adminedit]

編集

do_edit()に機能を追加するとdo_adminedit()にも同じコードを追加しなければいけないので、
この2つの関数を統合します。

do_edit()内の変更

編集
sub do_edit {
    my ($admin) = @_;                                                  # yakty add [refactoring adminedit]
    # Walrus add [edit admin only] start
    if ($edit_admin_only) {
        # yakty del [refactoring adminedit] start
        #&do_adminedit;
        #return;
        # yakty del [refactoring adminedit] end
        $admin = 1;    # yakty add [refactoring adminedit]
    }
    # Walrus add [edit admin only] end
    #} elsif (&is_frozen($page)) {                                     # yakty del [certified]
    #} elsif (&is_frozen($page) == $frozen_frozen) {                   # yakty add [certified] # yakty del [refactoring adminedit]
    } elsif (not $admin and &is_frozen($page) == $frozen_frozen) {     # yakty add [certified] # yakty add [refactoring adminedit]

↓数カ所ある下記部分を変更。

        #&print_editform($mymsg, &get_info($page, $info_LastModified), admin=>0);                       # yakty del [refactoring adminedit]
        &print_editform($mymsg, &get_info($page, $info_LastModified), admin=>$admin);                   # yakty add [refactoring adminedit]

do_adminedit()内の変更

編集

do_adminedit()内の処理を全て削除して、do_edit()に1を渡してコールする。

sub do_adminedit {
    &do_edit(1);    # yakty add [refactoring adminedit]
}

print_editform()内の変更

編集

do_adminedit()内で表示していたpasswordneededのメッセージをここで表示するように変更。

sub print_editform {
    my ($mymsg, $lastmodified, %mode) = @_;
    my $frozen = &is_frozen($form{mypage});

    &print_message($resource{passwordneeded}) if($mode{admin});    # yakty add [refactoring adminedit]

    if ($form{mypreview}) {

01516