attachref.inc.php

サマリ添付(#attach)とその場への参照(&ref(...);)を同時に行うプラグイン
リビジョン0.14
対応バージョン1.4.3
投稿者sha
投稿日2003-07-29 (TUE) 23:50:07

概要

  • 画面上の「添付」でアップロードすると、その位置にファイルを参照(&ref;)。
  • リンク表示とsubmitボタン表示を選択可。
  • リンクやボタンの表記を変更可。

説明

  • 画面の[添付]リンクを押すと、アップロードフォーマットが出現して、そこでファイルをアップロードすると、[添付]リンクのあった場所に&ref(...);してくれます。とっても便利。画像ギャラリーっぽい雰囲気のページが作れます。
  • これから&ref;で参照しようと思っている場所にいきなり&attachref;と記載しておけばよいので「ページを編集して、ファイル添付し、また&ref;記載のためにページ編集」という手間が省けます。参照をページに埋め込む編集方法に革命をもたらします(かも)
  • 内部でref.inc.phpattach.inc.phpの関数を呼んでいます。
  • XHTML1.1 validation check済み
  • ここで実験してます。→「sha:attachref_addline

使用法

インライン型プラグイン

  • 引数の仕様
    &attachref([<file>][,<refの引数>][,button]){<ボタン名>}; 
    button引数は、<form></form>のsubmitボタン表示。デフォルトでは[添付]文字列によるリンク表示。リンクもボタンも、表示する文字列は<ボタン名>で変更可。
  • 引数の例:
    &attachref;
    &attachref(button){押せ!};
    &attachref(,200x100,right){[画像添付]}; ←<refの引数>の前に","が必須
    &attachref(pukiwiki.png,wrap,button); ←<file>指定も可
    【注意】このインライン型でリンク名を変更する「{...}」引数を使った場合は、1行に1つの&addlineのみ用いてください。1行に複数書くと挿入する場所を間違えます。現在のPukiWikiが原因のようです
    ↑「cvs:make_link.phpのv1.54以降」で対応済み(dev:BugTrack/441参照)。

使用例

添付を促す
ここ→(&attachref;)に添付して下さい。
と書いておけば、
ここ→([添付])に添付して下さい。
のように、[添付]が出現するので、この[添付]を押すだけで添付(upload)でき、そこへ参照(&ref(...);)されます。結果として、
ここ→(<添付ファイルのアイコンや画像>)に添付して下さい。
となります。button引数を末尾につけると、ボタン表示となりますが、その前後で改行してしまいます。
簡易画像ギャラリー
例えば、以下のようなテーブルを用意すると、ボタンを押した、その枠に画像を添付することも出来ます。ボタンを押すと固定文字列のパターンを追加する自作プラグイン/addline.inc.phpと併用すると、画像を添付する枠を増やすことが可能になりますので、より便利です。また、自作プラグイン/areaedit.inc.phpを利用すると画像に氏名やコメントを付与することができます。
|&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]
あらかじめ、&refの画像に対する引数を「,zoom,90x90」のように指定しておくと、画像を添付したときに、サムネール画像として表示されます。画像をクリックするとオリジナルサイズの画像が見れるので、まさに簡易画像ギャラリーになってますよね。&areaeditの引数に「preview:2」を指定しておくと、文字列編集時に直前の行までを表示するので、添付した画像を見ながら文字列を記入できます。

ダウンロード

ここに添付しました。御利用下さい。

  • fileattachref.inc.php.14 ←提供中
    リビジョン内容
    v0.14XHTML1.1 validation check済み
    v0.13#attachのパスワード機能対応。細かい修正
    v0.12debug/ページ名が文字化け
    v0.11debug/コメント行「//...」対応
    v0.10引数位置無視。debug用秘密引数
    v0.9debug/リンクのaltから"<...>"を削除。リンク名に&heart;が挿入可能に
    v0.8debug/v0.7で参照できなくなっていた。正規表現の改善
    v0.7ボタン名やリンク名の指定
    v0.6気になったところの修正。動作はv0.5と同じ
    v0.5debug/整形済みテキスト内の&attachref;を無視
    v0.4リンク型表示に対応
    v0.3debug/なんだっけ?
    v0.2&ref;機能を内蔵
    v0.1attach.inc.phpとpaint.inc.phpをぐちゃぐちゃといじって新規作成
  • <form></form>で実装されているせいか、どうしても前の文字列から「attach」ボタンが改行した位置についてしまいます。そこで、それを誤魔化すために、上の例のようにテーブル内に置くことにしましょう。テーブルとセットじゃないと、なんか見栄えがよろしくありません。これは仕様です。しょうがありません。ご注意を。←attachref.inc.php.4から改善

アンケート

  • このプラグインを使用していますか?一人1回のみ投票して下さい。
    選択肢投票
    使用している193
  • &attachref;プラグインに満足しておりますか?
    選択肢投票
    はい107
    いいえ27
  • 「いいえ」に投票した方に質問です。
    どのような修正を加えれば、よくなると思いますか?下記のコメントに記入して下さい。

コメント

  • sha 2003-07-30 (WED) 13:32:52

    これと同様に、指定の位置に、テキストを後から挿入できるインライン型プラグインも欲しいですね。

    • sha 2003-07-30 (WED) 14:13:02

      comment.inc.phpのインライン型プラグインがあればいいんですよ。入力フィールドはボタンを押したら出てくる仕様がいいですね。

  • sha 2003-07-31 (THU) 16:15:54

    attachref.inc.php.2にて、ファイルが存在しないときに"file not found"と[attach]ボタンを表示する機能を追加しました。

  • sha 2003-07-31 (THU) 22:06:46

    debugした。attachref.inc.php.3へupdate。

  • sha 2003-08-01 (FRI) 02:50:33

    attachref.inc.php.4へupdate

  • sha 2003-08-01 (FRI) 03:04:49

    バグ発見。整形済みテキストの中に、&attachref;とか記述しておくと、その後に記述された&attachref;で添付を行うときに余分にカウントされて、参照する位置を間違える。これはどう対処したらよいのでしょうか?

    • sha 2003-08-01 (FRI) 03:16:26

      attachref.inc.php.5にて対処。

  • nao-pon 2003-08-02 (SAT) 11:03:15

    お~これは便利ですね。早速 なおきの部屋:テスト/ギャラリー でテスト中です。

  • nao-pon 2003-08-02 (SAT) 11:19:01

    99行目
    $s_args = ",".trim(join(",", $args));
    じゃないと削除後の再投稿時にref 用のパラメータが上手く渡らない感じ。

    • sha 2003-08-02 (SAT) 13:32:50

      あれ?その動作も確認しておいたんだけどなぁ。99行目をそのように変更してしまうと、ファイルを添付したときに、新ファイル名と旧ファイル名が並んでしまったりしませんか?状況をもう少し詳細に教えて下さいますか?

    • nao-pon 2003-08-02 (SAT) 13:35:57

      ちがった・・・、ちょうど気付いたところでした。
      88行目 $dispattach = 1; の下に
      array_unshift($args,"");
      を追加でいいみたい。

    • nao-pon 2003-08-02 (SAT) 13:38:27

      あ"~しまった!私の環境では、refが違うために、ちょっといじったのでそのせいでした。忘れちゃってください。すみません。 :p

    • sha 2003-08-02 (SAT) 14:04:01

      了解しました。ちなみに、<refの引数>の前に「,」が必要でしたので、上の「使用法」をそのように書き換えておきました。それを書いたときは、<file>も<refの引数>のつもりでしたが分かりにくいので分離しました。

  • sha 2003-08-02 (SAT) 14:41:26

    attachref.inc.php.6にupdate。気になったところの修正。動作はv0.5(attachref.inc.php.5)と同じ。

  • sha 2003-08-03 (SUN) 15:56:58

    attachref.inc.php.7で、リンクやボタンの文字列を変更可能に。

    • sha 2003-08-03 (SUN) 18:15:00

      バグ発見。参照ができなくなってるっ!

    • sha 2003-08-03 (SUN) 19:20:33

      attachref.inc.php.8で対応。いやぁ、ほんとうに正規表現って難しい。

    • sha 2003-08-03 (SUN) 20:07:57

      リンク名に&heart;を入れると誤動作。attachref.inc.php.9で対応。

  • kawara 2003-12-03 (WED) 16:35:24

    最近 PukiWiki をバージョンアップしたので、あわせて attachref も addline とあわせて導入してみました。便利です~、有益なプラグイン感謝です。

    • sha 2003-12-06 (SAT) 01:22:44

      どう致しまして。使っていただき感謝です。

  • yoshiii? 2004-02-27 (FRI) 15:38:21

    これは便利です。感動しました。画像メモページを作成するのに使ってます。

  • Logue 2004-07-18 (SUN) 01:29:20

    主にゲームの日記として使ってるんで、ブロック型としても使えると便利なんですけど。(大きいサイズの画像をアップしたとき不便)

    • 検討してみます。しばらくお待ち下さい。 -- sha 2004-08-25 (水) 02:10:52
  • 上記の「使用例」の簡易画像ギャラリーにareaedit.inc.phpを併用して、画像にコメントなどを付与できる例を付け加えました。こんな風にもご利用ください。 -- sha 2004-08-25 (水) 02:12:01
  • とても便利ですね!私もLogueさんと同じように是非ブロック型で使えるようになってほしいと思っております!何卒よろしくお願いします! -- kumakichi? 2004-12-07 (火) 15:04:23
    • 了解しました。多忙につき年度が替わるまでは少なくともお待ちください。申し訳ありません。 -- sha 2005-02-23 (水) 00:42:36
  • 質問箱3/99 -- 2005-06-26 (日) 13:21:46
  • ref の引数である around を指定してもテキストの回り込みが行われないみたいですが、これは仕様でしょうか? -- mm? 2005-10-19 (水) 10:33:44
  • 画像を添付した際に、&attachref();内にファイル名しか書かれない仕様を、ページ名付きのファイル名でかかれるように修正したいです。 -- rg0020? 2005-12-24 (土) 16:48:43
    • その心は?ページ名付きで書くとリネームしたときに面倒じゃない? -- 2005-12-25 (日) 09:18:08
  • 添付するのにパスワードが必要な設定になっていると、添付出来ません。パスワードにも対応して欲しいです。 -- zato? 2006-03-08 (水) 14:57:47
    • PukiWiki 1.4.7で動作確認しました。ただし、attach.inc.php内のファイルアップロード時のパスワード設定を外す必要があるようです。 -- nobunora? 2006-10-13 (金) 10:34:05
    • 上にもリンクだけ書いてますがアップロード時にパスワードが掛かっていると正常に動かない問題はこっちで解決されてます -- 2007-03-08 (木) 01:37:47
  • 初心者でホントに申し訳ないんですが、導入の段階でつまづいてます。attachref.inc.php.14をダウンロードして.14を削除して/pluginに放り込めばいいのではないのですか? -- nk? 2006-10-05 (木) 11:37:57
  • 一つのページに複数の&attachref();を配置したとき、たとえば3個目の[添付]に対してuploadをしても、ページ更新後には一つめの位置に埋め込まれるようです。pukiwiki-1.4.7_notb_utf8.tar.gzにて。 -- anonyman? 2007-02-09 (金) 01:50:49
  • 初心者質問で申し訳ありませんが、ファイルはアップロードせずに、ファイルが存在するローカルパスだけ取得することはできますか? -- 2007-04-04 (水) 14:27:28
  • LivedoorWikiの自サイトから移植時に、URLで登録し、その後「このファイルは他人の著作物です。」を外した際に、URLから実ファイル呼び出しに自動的に書き換えて欲しいです。 -- Ujiki.oO 2007-09-06 (木) 12:23:11
  • FLVファイルなどを添付する際に、サムネイル静止画を同時に指定し、サムネイル静止画像とファイルを関連付けられたらと願います。 -- Ujiki.oO 2007-09-08 (土) 06:18:24
  • ieで画像以外の添付をすると、うまく動作しません。phpドキュメントを保存するような感じになってしまいます。 -- mino? 2007-10-15 (月) 17:26:05
  • pukiwiki1.4.7無印上で使用していますが、table_edit2プラグインを使用した表の内部でattachrefプラグインを使うと添付で画像を取り込んだ場合、違う場所に張り込まれてしまいます。無印で使っているのが悪いのか、プラグインのどちらかが悪いのかわかりませんが、一応報告申し上げます。 -- 2009-02-16 (月) 05:06:47
    • table_edit2の件を書き込んだものですが、attachrefは複数行プラグイン内部に使われることを想定されていますか・・・って返事もらえないのかな。 -- 2009-02-22 (日) 10:16:17
    • table_edit2 プラグイン作者のページ、表組編集支援プラグイン - taru memo( http://taru.s223.xrea.com/index.php?PukiWiki%2Fmake%2Ftable_edit2.inc.php ) のコメントの最後の方に同じ質問が挙がってますよ。それによると、

      こちらの再現テストがあまかったみたいです。原因がわかりました。pukiwikiの計算実行順序がライン>ブロックとなっているためtable_edit2内部のインラインプラグインが後回しになります。このためブロック外のattachrefが先にカウント計算され、後にブロック内(table_edit2に渡されたデーター)のattachrefがカウント計算されるための結果です。
      対策としてはattachrefが含まれる文章などもtable_edit2で括ってしまう*1事で回避できると思います。また、attachrefを複数行プラグイン内部に使われる事も考慮したプログラムに改造しても良いかもしれません。 -- taru 2009-02-22 (日) 03:44:10

      だそうです。PukiWiki も、PukiWiki Plus! も、複数行プラグインのロジックは同じなので、同じような解決法しかない・・・のかな? -- 2009-02-22 (日) 16:57:04
    • 関連: dev:BugTrack2/84 -- 2009-05-11 (月) 13:55:33
  • 以前refファイル名を「ページ名付きのファイル名」にしてほしいという要望があり、用途が分からないため却下されていましたが、実は私もほしいです。理由はMenuBar内にattachrefをおきたいためです。 -- miha? 2009-07-09 (木) 18:33:18
  • PukiWiki 1.4.7でattachrefを使いたいとおもい導入いたしましたが、、アップロード時に管理者パスワードが一致しません。とでてアプウロードできません。なにかの設定ミスかとおもいますが、どういったところをチョックしたらいいですか? -- oarara? 2009-11-04 (水) 23:30:28
    • 質問箱3/99 を確認してください。(同じ質問が過去にもあったし、「説明」にリンクを書いておいた方がいいのかな?) -- 2009-11-05 (木) 00:22:09
  • #refのwrapコマンドが反応してくれません。私だけ? &attachref([画像名],wrap,nolink);to -- koyama? 2010-07-15 (木) 11:08:02
    • コメント切れた(;-;) nolinkは反応してくれてるんですけど。 -- koyama? 2010-07-15 (木) 11:08:45
    • 回り込み表示されないですT_T ・・・もう修正される見込みは無いのでしょうか?・・・ -- 2010-08-14 (土) 17:06:48
    • &を#にしたら出来ました(恥 -- 2010-08-14 (土) 18:18:18
  • &attachref; → &attachref(./添付ファイル名.jpg); になりますが、できれば&attachref(./添付ファイル名.jpg,nolink); ,nolinkを自動で入れられるように設定できたらもっといいと思いました 後から,nolink付け足して回るのが大変です -- 2011-11-09 (水) 08:25:40
    • そのための引数の例の3番目じゃないの?&attachref(,200x100,right){[画像添付]}; → &attachref(./添付ファイル名.jpg,200x100,right){[画像添付]}; -- 2011-11-09 (水) 22:49:26
  • attachref.inc.php.14をpass無し設定で使用しようとしたらPass入れる所が無いのにUploadしようとしたら「管理者パスワードが一致しません」と言われUplodadできていません。なぜでしょうか・・・ -- bom? 2012-05-18 (金) 15:14:24
    • attachref.inc.php.14をpass無し設定で使用しようとしたらPass入れる所が無いのにUploadしようとしたら「管理者パスワードが一致しません」と言われUplodadできていません。なぜでしょうか・・・ -- bom? 2012-05-18 (金) 15:26:41
    • すみません、自己解決しました。attachの方のPass設定が原因でした。申し訳ありません。 -- bom? 2012-05-18 (金) 15:27:31
  • &attachref(,nolink); にして使っています。一つの表の中に複数のセルがあり それらに見出しセルと&attachref(,nolink);セルで並んでいる場合 挿入したいところではなく次のところにアップロードしたファイルが載ってしまうのは何故でしょうか? -- 2012-05-27 (日) 04:04:12
    • |~画像1|&attachref(,nolink);|~画像2|&attachref(,nolink);| これで画像1のほうに貼ると2のほうに 2に貼ると下の行の3にといった感じです 対策お願いします -- 2012-05-27 (日) 04:13:42
      • wikiテキスト → HTMLへ変換する時の内部処理の構造上、使い方によっては割り当てられる番号がwikiテキストで出てくる順番と一致しない場合があるようです。前のほうのコメントでtable_edit2との併用時に問題が~という話があるのも同じような理由です。
        本体を触らずにプラグインだけでどうにかするのはかなりきついかと。見出しと同じように固有のIDを割り振って~という方法がお手軽そうですが、&attachref(,nolink);を書き込み時に自動で固有ID割り当てしたいとなると本体に手を加えないとダメですし。 -- 2012-05-27 (日) 21:52:25
    • |~画像1|&attachref(,nolink);&attachref(,nolink);|~画像2|&attachref(,nolink);&attachref(,nolink);| であとから消してやってたのですが 先ほどから急に次に貼り付けられなくなりました 何が起こったのでしょうか -- 2012-05-27 (日) 22:24:54
    • 一時的な問題だった見たい  やっぱり次の&attachref(,nolink);に貼り付けられる・・・ -- 2012-05-29 (火) 10:28:35
  • PHP7環境で動かなくなってしまってますね。PHP7からsplit関数が削除されたのが原因で、attachref.inc.php.14の202行目辺りの $args = split(… のsplitをexplodeに置き換えたら、期待通りの動作をしてくれました。 -- ペナー? 2016-06-28 (火) 05:11:53

*1 table_edit2で括る範囲に文章やプラグインを入れても処理するように作っています。

添付ファイル: file光.bmp 1789件 [詳細] fileattachref.inc.php.14 12607件 [詳細]

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

PukiWiki 1.5.1+ © 2001-2016 PukiWiki Development Team. Powered by PHP 5.6.38-0+deb8u1. HTML convert time: 0.574 sec.

OSDN