../

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を入れます。


*1 lib/pukiwiki.php へ返す配列のキー'body' の値が空文字なので、lib/pukiwiki.php が自動ロードする
*2 自動ロードされる場合のみ

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-07-14 (火) 20:07:52
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.161 sec.

OSDN