凍結したページで添付を行うと
と遷移しますが、凍結ページであれば
を最初に出すべきではないでしょうか?
添付が出来ない旨のメッセージを表示するタイミングが、アップロードフォームで「アップロード」を押下した後のタイミングであること。 凍結ページであれば、凍結解除を行い、再度、アップロードフォームより、ファイルの選択からアップロードボタン押下の操作をしないといけないため、ユーザに優しくない。
現状の動作
アップロードフォームを出力する時点で、対象ページが凍結ページなのか、$canteditなのか判定ができるため、
function attach_form($page) { - global $script, $vars, $_attach_messages; + global $script, $vars, $_attach_messages, $_title_cannotedit, $_msg_unfreeze; $r_page = rawurlencode($page); $s_page = htmlspecialchars($page); $navi = <<<EOD <span class="small"> [<a href="$script?plugin=attach&pcmd=list&refer=$r_page">{$_attach_messages['msg_list']}</a>] [<a href="$script?plugin=attach&pcmd=list">{$_attach_messages['msg_listall']}</a>] </span><br /> EOD; if (! ini_get('file_uploads')) return '#attach(): file_uploads disabled<br />' . $navi; if (! is_page($page)) return '#attach(): No such page<br />' . $navi; + if (is_freeze($page)) return $navi .'<p>'.str_replace('$1', make_search($page), $_title_cannotedit). + '(<a href="' . $script . '?cmd=unfreeze&page=' . + rawurlencode($page) . '">' . $_msg_unfreeze . '</a>)</p>'; $maxsize = PLUGIN_ATTACH_MAX_FILESIZE; $msg_maxsize = sprintf($_attach_messages['msg_maxsize'], number_format($maxsize/1024) . 'KB');
line 79- function plugin_attach_action() { global $vars, $_attach_messages; // Backward compatible if (isset($vars['openfile'])) { $vars['file'] = $vars['openfile']; $vars['pcmd'] = 'open'; } if (isset($vars['delfile'])) { $vars['file'] = $vars['delfile']; $vars['pcmd'] = 'delete'; } $pcmd = isset($vars['pcmd']) ? $vars['pcmd'] : ''; $refer = isset($vars['refer']) ? $vars['refer'] : ''; $pass = isset($vars['pass']) ? $vars['pass'] : NULL; $page = isset($vars['page']) ? $vars['page'] : ''; + + if ($page !='' && is_cantedit($page)) $pcmd = 'list'; if ($refer != '' && is_pagename($refer)) { if(in_array($pcmd, array('info', 'open', 'list'))) { check_readable($refer); } else { check_editable($refer); } }