[[PukiWiki/1.4/ちょっと便利に]] **概要 [#kcf556a5] ページの作成時、長すぎるページを作成できないようにします。[ページの更新]のタイミングでエラーにするのではなく、編集自体をさせないようにします。 - すでに存在するページについては編集可能 - PukiWikiがEUC-JP版の場合、UTF-8換算したときの長さで制限 -- UTF-8に移行したときに変換できないページを作成してしまわないため - 添付ファイルについては未対応 **差分 [#r80f8a09] 1.4.7 UTF-8版からの差分 --- ../../../pukiwiki/public/plugin/edit.inc.php Sun Feb 13 11:01:19 2011 +++ edit.inc.php Sun Mar 6 22:01:59 2011 @@ -28,6 +28,31 @@ } $postdata = @join('', get_source($page)); + { + // Check Page name length + if ($postdata == '') + { + $filename_max_length = 254; + + $filename = encode($page) . '.txt'; + if (! defined('PKWK_UTF8_ENABLE')) + { + $utf8page = mb_convert_encoding($page, 'UTF-8', 'EUC-JP'); + $filename = encode($utf8page) . '.txt'; + } + $filename_length = strlen($filename); + if ($filename_length > $filename_max_length) + { + $msg = "<b>Error: Filename too long.</b><br>\n" . + "Page name: $page<br>\n" . + "Filename: $filename<br>\n" . + "Filename limit: $filename_max_length<br>\n" . + "Filename length: $filename_length"; + // Filename too long + return array('msg'=>$_title_edit, 'body'=>$msg); + } + } + } if ($postdata == '') $postdata = auto_template($page); return array('msg'=>$_title_edit, 'body'=>edit_form($page, $postdata)); **コメント [#fa6836f4] #comment