[ 新規 ] [ 検索 | 一覧 | 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}) {


01833