- 追加された行はこの色です。
- 削除された行はこの色です。
*ifreadable.inc.php [#c37bb50c]
指定されたページを閲覧する権限がある場合のみ表示されるようにする。オプションにより、編集権限を加えたり、結果を逆転させることができる。
**使い方 [#d38b0949]
&ifreadable(ページ名[, オプション]){Wiki文字列};
#ifreadable(ページ名[, オプション]){{
Wiki文字列
}}
:ページ名|閲覧権限を調べるページ名を指定する。
:オプション|次のオプションを使用できる。
|~editable|編集権限も調べる。|
|~noreadable|閲覧権限を調べない。|
|~not|結果を逆転する。つまり、閲覧権限がないときに、「Wiki文字列」が表示されるようになる。|
:Wiki文字列|「ページ名」で指定されたページの閲覧権限があるときに表示するWiki文字列。
**例 [#q6768567]
次のようにすると、指定したページが閲覧できる時とできない時で表示法を変更することができる。
&ifreadable(テストページ){[[テストページ]]を閲覧できます。};
&ifreadable(テストページ,not){テストページを閲覧できません。};
**ダウンロード [#y52603d6]
ソースコードを以下に貼り付けておきます。
#code(php){{
<?php
//作成者:どぼん!
function plugin_ifreadable_convert()
{
$args = func_get_args();
$str = array_pop($args);
if (plugin_ifreadable_check($args))
return convert_html(str_replace("\r", "\r\n", $str));
else
return '';
}
function plugin_ifreadable_inline()
{
$args = func_get_args();
$str = array_pop($args);
if (plugin_ifreadable_check($args))
return $str;
else
return '';
}
function plugin_ifreadable_check($args)
{
$not_option = in_array('not', $args);
return plugin_ifreadable_check_readable($args) xor $not_option;
}
function plugin_ifreadable_check_readable($args)
{
$page = array_shift($args);
if (empty($page))
return false;
$check_readable = !in_array('noreadable', $args);
$check_editable = in_array('editable', $args);
if ($check_readable && !check_readable($page, false, false))
return false;
if ($check_editable && !check_editable($page, false, false))
return false;
return true;
}
?>
}}
#pageinfo([[:Category/PukiWiki]],2006-06-24 (土) 03:27:03,DOBON!,2006-06-24 (土) 03:27:03,DOBON!)