[[../]]

* plugin/comment.inc.php [#vf574a16]
PukiWiki 1.4.7 以降に同梱されている、r1.36 基準に書いてあります

-メッセージが空の時、閲覧制限をチェックしてから本文を表示する((lib/pukiwiki.php へ返す配列のキー'body' の値が空文字なので、lib/pukiwiki.php が自動ロードする))
--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')) {


-投稿の書き込みが終わった後に、そのページの閲覧が制限されているかのチェックをする((自動ロードされる場合のみ))
--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;
  }


-----
**昔のおまけ [#if8d3f17]
 --- 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を入れます。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.066 sec.

OSDN