popup.inc.php

サマリポップアップヘルプを表示する
リビジョン1.0
対応バージョン1.4.4
投稿者tomo
投稿日2005-03-16 (水) 12:22:36

ある文字列にポップアップヘルプをつけることができるようになります。これを使うことによって、ユーザーはより使いやすくなると思います。

インストール

filepopup.inc.php.2 拡張子を .php にリネームしてください。
filepopup.css
filepopup.js
をダウンロードして、popup.inc.php は plugin へ、popup.css と popup.js は skin へ入れてください。そして、pukiwiki.skin.ja.php を開いて meta の中に popup.css と popup.js をインクルードすることを記述します。

<link rel="stylesheet" href="skin/popup.css" type="text/css" media="screen" charset="Shift_JIS" />
<script type="text/javascript" src="skin/popup.js"></script>

次に body タグのすぐ下に

<script type="text/javascript">
<!--
if (document.layers)
{
	document.write('<layer class="popup_style"></layer>');
}
else if (document.all)
{
	document.write('<div id="popupLayer" class="popup_style"></div>');
}
else if (document.getElementById)
{
	document.write('<div id="popupLayer" class="popup_style"></div>');
}
-->
</script>

と書いて、保存します。これでインストール完了です。 あとは

これは&popup(popup プラグイン,ポップアップヘルプを表示するための PukiWiki プラグイン);を使ったテストです。

のように書くことで「popup プラグイン」にポップアップヘルプが付きます。

こんな感じ。
image.png

構文

&popup(text, help[, option]);

option に image 、help にイメージの URL を指定すると画像のポップアップヘルプを表示することができます。それ以外は option は不要です。 あと、JavaScript を使っている関係で help にシングルコーテーションを含めることはできません。

コメント

  • XSSの脆弱性があるわけですが、(同じtomoさんの)html.inc.phpと同様に、やはりサニタイズしないのは仕様でしょうか*1。であれば、一般に公開しているサイトではReadonlyにでもしない限りこのプラグインを使用すべきでないことを明記したほうが良いと思います。凍結や編集認証だけでは危険ですし、閲覧と編集認証を両方かけても十分に危険性は残ります。 -- 2005-03-17 (木) 01:30:10
  • 脆弱性の対応策はどのようにすればよいのでしょうか。html タグを取り除くとかですか? -- tomo 2005-03-17 (木) 10:42:14
  • この辺が参考になるかと思います。dev:BugTrack/161 -- teanan 2005-03-18 (金) 03:47:04
  • htmlspecialchars をはさみました。これでOKですかね? -- tomo 2005-03-19 (土) 16:28:59
    • $option変数もhtmlspecialcharsを通してやってください。 -- 2005-03-20 (日) 00:17:41

*1 パラメータ名に「html」とあるし。

添付ファイル: filepopup.inc.php.2 1795件 [詳細] fileimage.png 2463件 [詳細] filepopup.js 1731件 [詳細] filepopup.inc.php 824件 [詳細] filepopup.css 1506件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-12-22 (火) 12:52:57
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.301 sec.

OSDN