ページの作成時、長すぎる名前のページを作成できないようにします。[ページの更新]のタイミングでエラーにするのではなく、編集自体をさせないようにします。
1.4.7 UTF-8版からの差分
--- ../../../pukiwiki2/public/plugin/edit.inc.php Sun Feb 13 11:01:19 2011 +++ edit.inc.php Sun Mar 6 22:35:31 2011 @@ -28,6 +28,29 @@ } $postdata = @join('', get_source($page)); + if ($postdata == '') + { + // Check Page name length + $filename_max_length = 250; + + $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: " . htmlspecialchars($page) . "<br/>\n" . + "Filename: $filename<br>\n" . + "Filename length: $filename_length<br/>\n" . + "Filename limit: $filename_max_length<br/>\n"; + // 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));