PukiWiki 1.4.7 以降に同梱されている、r1.36 基準に書いてあります
function plugin_comment_action() { global $script, $vars, $now, $_title_updated, $_no_name; global $_msg_comment_collided, $_title_comment_collided; if (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing'); - if (! isset($vars['msg'])) return array('msg'=>'', 'body'=>''); // Do nothing + if (! isset($vars['msg'])) { + check_readable($vars['refer'], true, true); + return array('msg'=>'','body'=>''); + } $vars['msg'] = str_replace("\n", '', $vars['msg']); // Cut LFs $head = ''; $match = array(); if (preg_match('/^(-{1,2})-*\s*(.*)/', $vars['msg'], $match)) { $head = & $match[1]; $vars['msg'] = & $match[2]; } - if ($vars['msg'] == '') return array('msg'=>'', 'body'=>''); // Do nothing + if ($post['msg'] == '') { + check_readable($vars['refer'], true, true); + return array('msg'=>'','body'=>''); + } $comment = str_replace('$msg', $vars['msg'], PLUGIN_COMMENT_FORMAT_MSG); if(isset($vars['name']) || ($vars['nodate'] != '1')) {
$vars['msg'] = & $match[2]; } if ($vars['msg'] == '') return array('msg'=>'', 'body'=>''); // Do nothing + edit_auth($vars['refer'], true, true); + $comment = str_replace('$msg', $vars['msg'], PLUGIN_COMMENT_FORMAT_MSG); if(isset($vars['name']) || ($vars['nodate'] != '1')) {
$vars['msg'] = & $match[2]; } if ($vars['msg'] == '') return array('msg'=>'', 'body'=>''); // Do nothing + check_editable($vars['refer'], true, true); + $comment = str_replace('$msg', $vars['msg'], PLUGIN_COMMENT_FORMAT_MSG); if(isset($vars['name']) || ($vars['nodate'] != '1')) {
static $numbers = array(); static $comment_cols = PLUGIN_COMMENT_SIZE_MSG; - if (PKWK_READONLY) return ''; // Show nothing + if (PKWK_READONLY || is_freeze($vars['page'])) return ''; // Show nothing if (! isset($numbers[$vars['page']])) $numbers[$vars['page']] = 0; $comment_no = $numbers[$vars['page']]++;
$body = ''; if (md5(@join('', get_source($vars['refer']))) != $vars['digest']) { $title = $_title_comment_collided; $body = $_msg_comment_collided . make_pagelink($vars['refer']); } page_write($vars['refer'], $postdata); + if ($body == '') check_readable($vars['refer'], true, true); + $retvars['msg'] = $title; $retvars['body'] = $body; return $retvars; }
--- comment.inc.php (revision 19) +++ comment.inc.php (working copy) @@ -118,7 +118,8 @@ } else { - $nametags = $_btn_name.'<input type="text" name="name" size="'.COMMENT_NAME_COLS."\" />\n"; + $logname = htmlspecialchars($_SERVER['PHP_AUTH_USER'] ? $_SERVER['PHP_AUTH_USER'] : guest); + $nametags = $_btn_name.'<input type="text" name="name" size="'.COMMENT_NAME_COLS."\" value=\"$logname\" />\n"; } $nodate = in_array('nodate',$options) ? '1' : '0';
認証じゃありません。ログインしていたら名前欄にログインIDを入れます。