[[../]]

* plugin/paint.inc.php [#s671fdf0]
PukiWiki 1.4.5 以降に同梱されている、r1.18 基準に書いてあります

-編集が制限されているページへの投稿を禁止したい場合
--75行目のあたり
--編集を制限していない凍結ページへの投稿は、これまで通り認める場合
---75行目のあたり
  		if (!exist_plugin('attach') or !function_exists('attach_upload'))
  		{
  			return array('msg'=>'attach.inc.php not found or not correct version.');
  		}
  
 +		edit_auth($vars['refer'], true, true);
 +
  		$retval = attach_upload($file,$vars['refer'],TRUE);
  		if ($retval['result'] == TRUE)
  		{
  			$retval = paint_insert_ref($file['name']);
  		}
  	}
  	else
--凍結しているページへの投稿受付も禁止したい場合
---75行目のあたり
  		if (!exist_plugin('attach') or !function_exists('attach_upload'))
  		{
  			return array('msg'=>'attach.inc.php not found or not correct version.');
  		}
  
 +		check_editable($vars['refer'], true, true);
 +
  		$retval = attach_upload($file,$vars['refer'],TRUE);
  		if ($retval['result'] == TRUE)
  		{
  			$retval = paint_insert_ref($file['name']);
  		}
  	}
  	else
---160行目のあたり(凍結しているページは、投稿フォームも表示しない)
 	global $_paint_messages;
 	static $numbers = array();
 
 -	if (PKWK_READONLY) return ''; // Show nothing
 +	if (PKWK_READONLY || is_freeze($vars['page'])) return ''; // Show nothing
 
 	if (!array_key_exists($vars['page'],$numbers))
 	{

-attach プラグインが見つからないときに、チェックなしで本文が自動でロードされるのを防止((エラーメッセージが、「attach プラグインが見つからない~」から、「閲覧できない~」に変わってもかまわないなら、check_readable を使う方法もあり))
--75行目のあたり
  		$file['name'] = $attachname;
  
  		if (!exist_plugin('attach') or !function_exists('attach_upload'))
  		{
 -			return array('msg'=>'attach.inc.php not found or not correct version.');
 +			return array(
 +				'msg' =>'attach.inc.php not found or not correct version.',
 +				'body'=>'attach.inc.php not found or not correct version.'
 +			);
  		}
  
  		$retval = attach_upload($file,$vars['refer'],TRUE);

-エラーメッセージを残しつつ、チェックなしで本文が自動でロードされるのを防止((attach プラグイン からのエラーメッセージが消えてもいいなら、else if の部分は追加しなくてよい))
--75行目のあたり
  		$retval = attach_upload($file,$vars['refer'],TRUE);
  		if ($retval['result'] == TRUE)
  		{
  			$retval = paint_insert_ref($file['name']);
  		}
 +		else if (isset($retval['msg']))
 +		{
 +			$retval['body'] = str_replace('$1',
 +					 htmlspecialchars(strip_bracket($vars['refer'])), $retval['msg']);
 +		}
 +
 +		if (! isset($retval['body']) || $retval['body'] == '')
 +		{
 +			check_readable($vars['refer'], true, false);
 +		}
  	}
  	else

-ウインドウモード時に、閲覧制限を確認してから本文をロードする
--100行目のあたり
  		//ウインドウモード :)
  		if ($w < 50 and $h < 50)
  		{
  			$w = $h = 0;
  			$retval['msg'] = '';
  			$vars['page'] = $vars['refer'];
  			$vars['cmd'] = 'read';
 -			$retval['body'] = convert_html(get_source($vars['refer']));
 +			if (check_readable($vars['refer'], true, false))
 +			{
 +				$retval['body'] = convert_html(get_source($vars['refer']));
 +			}
  			$link = '';
  		}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新の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.053 sec.

OSDN