ifreadable.inc.php †
どのようなプラグインか? †
指定されたページを閲覧する権限がある場合のみ表示されるようにする。オプションにより、編集権限を加えたり、結果を逆転させることができる。
使い方 †
&ifreadable(ページ名[, オプション]){Wiki文字列};
#ifreadable(ページ名[, オプション]){{
Wiki文字列
}}
- ページ名
- 閲覧権限を調べるページ名を指定する。
- オプション
- 次のオプションを使用できる。
editable | 編集権限も調べる。 |
---|
noreadable | 閲覧権限を調べない。 |
---|
not | 結果を逆転する。つまり、閲覧権限がないときに、「Wiki文字列」が表示されるようになる。 |
---|
- Wiki文字列
- 「ページ名」で指定されたページの閲覧権限があるときに表示するWiki文字列。
次のようにすると、指定したページが閲覧できる時とできない時で表示法を変更することができる。
&ifreadable(テストページ){[[テストページ]]を閲覧できます。};
&ifreadable(テストページ,not){テストページを閲覧できません。};
ダウンロード †
たいしたことが無いので、ソースコードを以下に貼り付けておきます。「ifreadable.inc.php」という名前のファイルに、適当な文字コード(大抵はEUCかな?)で保存してください。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| <?php
//ifreadable.inc.php
//Version 0.0.1
//作成者:どぼん!
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;
}
?>
|
ライセンス †
GPL
コメント †