Comment:Plugin/htmlinsert.inc.php

Top > Note > Plugin > htmlinsert.inc.php
Table of Contents

アイデア

SummaryStatusVotePriorityLoadIdea Note
#htmlinsert(hoge) を #hoge() に待ちexist_plugin, do_plugin などの本体関数を改造して誤魔化してやればたぶん可能。plus!、本家、またそれぞれの異なるバージョン用に diff を作りたくないので優先度高から下がって中
ブロックとインラインの区別待ち:HTML/block/hoge でブロックプラグインからのみ、:
HTML/inline/hoge でインラインプラグインからのみ

* div と span 以外が共通の場合、どうやって再利用す
るか。
o :HTML/hoge に共通部分を書いておき,
$htmlinclude(hoge) ? ${htmlinclude=hoge} ? の文字列を
その内容と置換する。
o 3ページ作るのはめんどくさい。
* :HTML/block/hoge, :HTML/inline/hoge を作らなくて
も、勝手に :HTML/hoge の内容にブロックで呼ばれた場合、
<div class="hoge"></div>、インラインで呼ばれた場合
<span =class="hoge"></span> をつける。
o 勝手に・・・?hmmmm
o :HTML/block/hoge のみの場合も勝手に付けるのか?
o <div style="float:right"> としたいだけの場
合に <div></div> で囲まれては困る。ボツ。
* :HTML/common/hoge として作り、その場合勝手に付け
る。:HTML/hoge は現状と同じ、どちらの形式でもそのまま
insert.
o :HTML/block/hoge, :HTML/inline/hoge もその
まま。自己責任。
o common ....複雑化は避けたいが・・・
* アクション型もブロックを呼ぶ
* block -> convert? おそらくプラグインが convert な
のは名残りかなにかで仕方なくと思われるので block?
transitional対応完了案1:transitional オプション形式
-毎回指定しなければならなくなる
案2:取り込まれるファイルに何か記述しておき、それがあれ
ば自動で transitional
-ファイルを少なからず解析しなければならないのが痛い

現状とりあえずオプション方式
iframeで取り込む吟味* <html><body></body></html> を消さなくてよいよう
に。これなら抽出処理もいらない。
* iframe.inc.php のほうで実装?いや、ページ内変数も
可能にしたい。
* オプションはページ内編集用に使用しているのでどう
するか・・・
* iframeinsert.inc.php?
* http でアクセスしなければならないので、htmlinsert
のアクション形式を使用?。・・・・。
key="val" も許す却下-html からコピペの際にいちいち " を消す作業が煩わしいの
で、key="val" のように " " も許す
-しかし key="val,val" のような書き方を許せるわけでもな
く( , で分離される)、誤解を招く恐れがあるためボツとすべ
きか?
-"key=val,val" との混乱も生じる
-・・・・結論:ボツ
添付ファイルを取り込む吟味* アップロード制限=ページ制限?
* プラグイン経由はしないのでダウンロード回数カウン
トアップはされない。
* text/html じゃなかったら?アップロード制限されて
あったファイルならば取り込める。ぐらいだとバイナリファ
イルをいたずらでとりこまれてしまうことがありそう。
* ページ :HTML に添付したものだけ。のような形ならあ
りかもしれない。

コメント

  • htmlinsertディレクトリに入ったファイルを参照させようとしていますが、ブラウザでは表示されるのに、ファイルが見つからない、読み取れないというエラーが起きてしまいます。htmlinsertのディレクトリのパーミッションをいじってもダメでした。 -- Logue? 2004-09-22 (水) 17:19:25
    • すみません。自己解決できました。子Wiki使ってるとその階層のhtmlinsertディレクトリが対象になるんですね。 -- Logue? 2004-09-22 (水) 17:58:58
  • htmlinsert(): The given local file does not exist or is not readable.と存在しないファイル名を書くと、Runtime errorになります。ここはhtmlinsert.inc.phpが入っていないようなので大丈夫ですが。-- hirokasa? 2004-10-16 (土) 00:22:29
    • Plugin/rothtml.inc.php? -- 2004-10-16 (土) 08:45:30
    • kifubbsとhtmlinsert.inc.phpの併用は危険なようです。kifubbsのtext欄に「htmlinsert(): The given local file does not exist or is not readable.」と存在しないファイル名を書くと、Runtime errorになります。#article や#commentの場合その書き込みを削除するのは簡単ですが、kifubbsの場合、記事保存用ディレクトリの中のファイルに書き込まれるのでややこしくなります。 -- hirokasa? 2004-10-16 (土) 11:09:29
    • すみません。学校が始まってから死んでました。Runtime Error の件修正しました。ファイルが読み込めなかったときに pukiwiki/func.php の die_message という関数で意図的に Runtime Error を吐くようにしていました。ただのエラーメッセージのほうがいいですね。 -- sonots 2004-10-22 (金) 14:54:09
    • sonotsさん、ありがとうございます。 -- hirokasa? 2004-10-22 (金) 16:26:01
  • すみません、このプラグインはver1.4.5_1には対応してないのでしょうか? -- 2005-09-07 (水) 11:58:10
    • すみません自己解決しました、htmlinsert[1].inc.phpからhtmlinsert.inc.phpにすると動きました。 -- 2005-09-07 (水) 13:55:50
  • 今まで以下のようなプラグイン?を作って、いちいちFTPでアップロードしてました。FTPを使うのはWIKIらしくないなぁと思ってましたが、このプラグインで解決できました!!感謝!! (^-^ -- toto? 2007-06-21 (木) 03:49:51
    <?php
    function plugin_hogehoge_convert() {
      return <<<EOD
      (ここに目的のhogehoge
    EOD;
    }
    ?>
  • #htmlinsertですが、非常に便利なため大変重宝しております。 変数の安全かのため、 htmlspecialchars() を使っていますが、rawurlencode()で使いたいことがあったので、とりあえず1行だけ処理を改造した別プラグインをつくって、回避しております。 (^^; -- Kjm? 2007-12-13 (木) 21:08:22
    • スクリプトを数十個公開いたしました。仮想プラグイン - 南京ぺディア
    • ※ JW Media Player 関係は上記のようにrawurlencode()対応が必要なため正常に動作しません。 -- Kjm? 2008-05-26 (月) 01:19:10
    • rawurlencode を使いたい場合は確かにありますね。変数指定の際にそれも指定するようにしないといけないかもしれない。${width=425,rawurlencode} とか?でもカンマじゃだめか。どうしましょうかね。オプションか・・・。 -- sonots 2008-05-27 (火) 11:43:48
    • ユーザの立場で考えますと、rawurlencode()する範囲を指定できたら便利そうです。 例えばですが、convmodeを予約語として、指定がない場合は${convmode=}とし、${convmode=raw}と指定されている範囲のみ、function parse_args()にて、rawurlencode()とか。。 -- Kjm? 2008-06-08 (日) 09:51:58
    • それだとデフォルト値と意味がごっちゃになりそうなので、ちゃんと切り分けたほうがよさそうな気がします。 -- sonots 2008-06-08 (Sun) 05:52:45
      • ${convmode=}&${convmode=raw}ですと、大体1ファイルにつき2箇所の修正で済みそうですが、意味が判りにくいのも困りますね。。うーむ。。 -- Kjm? 2008-06-11 (水) 15:45:34
    • では、${$key=$val}の書式を${$key:$enc=$val}にも対応するのは如何でしょうか。 -- 2008-07-02 (水) 03:10:52
      • うーん… -- sonots 2008-07-03 (Thu) 06:39:40
      • ${enc:key=val} のようにしてみました。詳細はマニュアル参照。 -- sonots 2008-07-07 (Mon) 23:39:40
    • おお~、対応ありがとうございます。enc:key=val の方がInterWikiっぽくっていいですね。 -- Kjm? 2008-07-14 (月) 17:07:22


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White