サマリ | 添付(#attach)とその場への参照(&ref(...);)を同時に行うプラグイン |
---|---|
リビジョン | 0.14, 0.16 |
対応バージョン | 1.5.x, 1.4.3 |
投稿者 | sha |
投稿日 | 2003-07-29 (TUE) 23:50:07 |
インライン型プラグイン
&attachref([<file>][,<refの引数>][,button]){<ボタン名>};button引数は、<form></form>のsubmitボタン表示。デフォルトでは[添付]文字列によるリンク表示。リンクもボタンも、表示する文字列は<ボタン名>で変更可。
&attachref; &attachref(button){押せ!}; &attachref(,200x100,right){[画像添付]}; ←<refの引数>の前に","が必須 &attachref(pukiwiki.png,wrap,button); ←<file>指定も可
ここ→(&attachref;)に添付して下さい。と書いておけば、
ここ→([添付])に添付して下さい。のように、[添付]が出現するので、この[添付]を押すだけで添付(upload)でき、そこへ参照(&ref(...);)されます。結果として、
ここ→(<添付ファイルのアイコンや画像>)に添付して下さい。となります。button引数を末尾につけると、ボタン表示となりますが、その前後で改行してしまいます。
|&attachref(,zoom,90x90){画像添付};|&attachref(,zoom,90x90);| |氏名:&areaedit(preview:2){shaです};|氏名:&areaedit(preview:2);| |&attachref(,zoom,90x90){画像添付};|&attachref(,zoom,90x90);| |氏名:&areaedit(preview:2){shaです};|氏名:&areaedit(preview:2);| |&attachref(,zoom,90x90){画像添付};|&attachref(,zoom,90x90);| |氏名:&areaedit(preview:2){shaです};|氏名:&areaedit(preview:2);|と書くと、下記のように表示されます。
画像添付 | [添付] |
氏名:shaです[e] | 氏名:[e] |
画像添付 | [添付] |
氏名:shaです[e] | 氏名:[e] |
画像添付 | [添付] |
氏名:shaです[e] | 氏名:[e] |
ここに添付しました。御利用下さい。
リビジョン | 内容 |
v0.16 (非公式) | PHP8 ミス等二ヶ所修正 |
v0.15 (非公式) | PHP7 Split関数終了によりexplode関数に変更 |
v0.14 | XHTML1.1 validation check済み |
v0.13 | #attachのパスワード機能対応。細かい修正 |
v0.12 | debug/ページ名が文字化け |
v0.11 | debug/コメント行「//...」対応 |
v0.10 | 引数位置無視。debug用秘密引数 |
v0.9 | debug/リンクのaltから"<...>"を削除。リンク名に&heart;が挿入可能に |
v0.8 | debug/v0.7で参照できなくなっていた。正規表現の改善 |
v0.7 | ボタン名やリンク名の指定 |
v0.6 | 気になったところの修正。動作はv0.5と同じ |
v0.5 | debug/整形済みテキスト内の&attachref;を無視 |
v0.4 | リンク型表示に対応 |
v0.3 | debug/なんだっけ? |
v0.2 | &ref;機能を内蔵 |
v0.1 | attach.inc.phpとpaint.inc.phpをぐちゃぐちゃといじって新規作成 |
選択肢 | 投票 |
使用している | 193 |
選択肢 | 投票 |
はい | 107 |
いいえ | 27 |
これと同様に、指定の位置に、テキストを後から挿入できるインライン型プラグインも欲しいですね。
comment.inc.phpのインライン型プラグインがあればいいんですよ。入力フィールドはボタンを押したら出てくる仕様がいいですね。
attachref.inc.php.2にて、ファイルが存在しないときに"file not found"と[attach]ボタンを表示する機能を追加しました。
debugした。attachref.inc.php.3へupdate。
attachref.inc.php.4へupdate
バグ発見。整形済みテキストの中に、&attachref;とか記述しておくと、その後に記述された&attachref;で添付を行うときに余分にカウントされて、参照する位置を間違える。これはどう対処したらよいのでしょうか?
attachref.inc.php.5にて対処。
お~これは便利ですね。早速 なおきの部屋:テスト/ギャラリー でテスト中です。
99行目
$s_args = ",".trim(join(",", $args));
じゃないと削除後の再投稿時にref 用のパラメータが上手く渡らない感じ。
あれ?その動作も確認しておいたんだけどなぁ。99行目をそのように変更してしまうと、ファイルを添付したときに、新ファイル名と旧ファイル名が並んでしまったりしませんか?状況をもう少し詳細に教えて下さいますか?
ちがった・・・、ちょうど気付いたところでした。
88行目 $dispattach = 1; の下に
array_unshift($args,"");
を追加でいいみたい。
あ"~しまった!私の環境では、refが違うために、ちょっといじったのでそのせいでした。忘れちゃってください。すみません。 :p
了解しました。ちなみに、<refの引数>の前に「,」が必要でしたので、上の「使用法」をそのように書き換えておきました。それを書いたときは、<file>も<refの引数>のつもりでしたが分かりにくいので分離しました。
attachref.inc.php.6にupdate。気になったところの修正。動作はv0.5(attachref.inc.php.5)と同じ。
attachref.inc.php.7で、リンクやボタンの文字列を変更可能に。
最近 PukiWiki をバージョンアップしたので、あわせて attachref も addline とあわせて導入してみました。便利です~、有益なプラグイン感謝です。
どう致しまして。使っていただき感謝です。
これは便利です。感動しました。画像メモページを作成するのに使ってます。
主にゲームの日記として使ってるんで、ブロック型としても使えると便利なんですけど。(大きいサイズの画像をアップしたとき不便)
だそうです。PukiWiki も、PukiWiki Plus! も、複数行プラグインのロジックは同じなので、同じような解決法しかない・・・のかな? -- 2009-02-22 (日) 16:57:04こちらの再現テストがあまかったみたいです。原因がわかりました。pukiwikiの計算実行順序がライン>ブロックとなっているためtable_edit2内部のインラインプラグインが後回しになります。このためブロック外のattachrefが先にカウント計算され、後にブロック内(table_edit2に渡されたデーター)のattachrefがカウント計算されるための結果です。
対策としてはattachrefが含まれる文章などもtable_edit2で括ってしまう*1事で回避できると思います。また、attachrefを複数行プラグイン内部に使われる事も考慮したプログラムに改造しても良いかもしれません。 -- taru 2009-02-22 (日) 03:44:10