- 追加された行はこの色です。
- 削除された行はこの色です。
[[../]]
* 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 = '';
}