../
plugin/comment.inc.php †
PukiWiki 1.4.7 以降に同梱されている、r1.36 基準に書いてあります
- メッセージが空の時、閲覧制限をチェックしてから本文を表示する*1
- 25行目あたりと35行目あたり
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')) {
- 編集を制限しているページへの投稿受付を禁止したい場合
- 編集を制限していない凍結ページへの投稿は、これまで通り認める場合
- 35行目あたり
$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')) {
- 凍結しているページへの投稿受付も禁止したい場合
- 35行目あたり
$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')) {
- 90行目のあたり(凍結しているページは、投稿フォームも表示しない)
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']]++;
- 投稿の書き込みが終わった後に、そのページの閲覧が制限されているかのチェックをする*2
- 130行目あたり
$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を入れます。