iframe_ref.inc.php

サマリ添付ファイルをiframe内表示する
リビジョン0.2
対応バージョン1.4.6
投稿者h1suzuki
投稿日2006-06-10 (土) 23:13:08

概要

PukiWikiに添付されたファイルはリンクや張り込み画像として表示できますが、iframe内に表示するプラグインを作りました。 PukiWikiにぺたぺた色々貼りたいけど、wikiで書き直すのは面倒。Officeで作ったhtmlや昔のHPのhtmlファイル、べたテキストをそのままwikiページに貼り付ける事ができます。(他に同様のプラグインありましたらご容赦ください) ライセンスはGPL2です。

ダウンロード

以下のソースをファイルにコピペして、PukiWikiのpluginディレクトリに iframe_ref.inc.php という名前で保存してください。read権がついている必要があります。

ソース

<?php
//////////////////////////////////////////////////////////////////////
// iframe_ref.inc.php
//       by h1suzuki
// 添付のファイルを <iframe>...</iframe> 内に表示する。

// [更新履歴]
// 2006-06-06 version 0.1 [初版]
// 2006-06-10 version 0.2 widthなどのオプションを扱えるようにする

define('PLUGIN_IFRAME_REF_USAGE',
        '#iframe_ref(fname,[width,height,mwidth,mheight,border])');
define('PLUGIN_IFRAME_REF_MIME_CHECK',0);

function plugin_iframe_ref_convert()
{
        global $vars;

        if (func_num_args()<1) return PLUGIN_IFRAME_REF_USAGE;

        $args = func_get_args();

        // sanity checks.
        $filename = UPLOAD_DIR.encode($vars[page]).'_'.encode($args[0]);
        if (!is_readable($filename))
                return htmlspecialchars($args[0]). ' is not found.';

        if (PLUGIN_IFRAME_REF_MIME_CHECK && extension_loaded('mime_magic')) {
                if (is_readable('mime_magic.magicfile')) {
                        if (!preg_match('/html\/.*$/',
                                mime_content_type($fname)))
                        return ' is not a html file.';
                }
        }

        $w = "90%";
        $h = "300";
        $mw = "0";
        $mh = "0";
        $b = "0";

        if (!is_null($args[1]) && ereg("[0-9]{1,3}%?",$args[1]))
                $w = $args[1];
        if (!is_null($args[2]) && ereg("[0-9]{1,3}%?",$args[2]))
                $h = $args[2];
        if (!is_null($args[3]) && ereg("[0-9]{1,2}",$args[3]))
                $mw = intval($args[3]);
        if (!is_null($args[4]) && ereg("[0-9]{1,2}",$args[4]))
                $mh = intval($args[4]);
        if (!is_null($args[5]) && ereg("[0-1]",$args[5]))
                $b = intval($args[5]);

//      echo "w=",$w,",h=",$h,",mw=",$mw,",mh=",$mh,",b=",$b;

        require_once(PLUGIN_DIR.'ref.inc.php');
        $param = plugin_ref_inline($args[0],"noicon","noimg");
        $param = str_replace("<a href=",
            "<iframe width=\"".$w."\" height=\"".$h."\" ".
            "frameborder=\"".$b."\" ".
            "marginwidth=\"".$mw."\" marginheight=\"".$mh."\" ".
            "lang=\"ja\" src=",$param);
        $param = str_replace("</a>","</iframe>",$param);
        return $param;
}
?>

使い方

書式

#iframe_ref(添付ファイル名[,width,height,mwidth,mheight,border])

使い方

tenpu.htmlを添付ファイルとしてページに添付後、

#iframe_ref(tenpu.html)

もしくは

#iframe_ref(tenpu.html,100%,300,0,0,1)

などで iframe ウィンドウ内に添付ファイル tenpu.html の内容がインライン表示されます。

コメント


*1 だと、ただ編集可能な状態では動作しなくなるだけで、安全性は全く変わらない

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-21 (火) 23:42:13
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.271 sec.

SourceForge