トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BugTrack-plugin/261

ページの作成や編集にはユーザ登録が必要です。

直リンク画像表示プラグイン

  • 投稿者: KG
  • カテゴリ: 新規
  • 優先度: 普通
  • 状態: 提案
  • 日時: 2006年02月28日 02時09分11秒

  インストール方法

  • 添付ファイルを解凍し、各ディレクトリに展開してください。また、プラグイン設定画面で image を有効にしてください。
  • また、setup.dat ファイルへ以下の設定(例)を追加します。
# 画像ファイルを保存するディレクトリ
image_dir = ./image
# 画像ファイルを表示するURI
image_uri = /fswiki/image
  • さらに、上記 image_dir に相当するディレクトリを作成します。
  • image_dir へのuriパス(image_uri)に対してアクセス権限を設定します。

ダウンロード

  利用方法

image

添付した画像ファイルを表示します。

{{image ファイル名[,ページ名[,代替テキスト[,WIDTHxHEIGHT]]]}}

{{image ファイル名[,ページ名[,オプション,...]}} 

ページ名を指定することで、別のページに添付されたファイルを参照することもできます。

オプションへ指定可能な値は以下の通りです。

  • alt:振替テキスト - 画像ファイルに任意の alt 属性を付加
  • size:WIDTHxHEIGHT - 画像の表示サイズの指定(% or px)
  • float:left or right - テキストの回りこみ指定
  • thumbnail:縮小画像ファイル名 - 縮小画像を表示し、画像ファイルへのリンクが作成されます。

例)サイズを指定した場合は、画像ファイルへの直リンクも作成されます。

{{image sample.jpg,,alt:サンプル,size:50%,float:left}}

例)縮小画像を指定した場合は、縮小画像が表示されてファイル名で指定したファイルへのリンクとなります。これらの画像は同一ページに存在する必要があります。

{{image sample.jpg,,alt:サンプル,thumbnail:sample_s.jpg}}
image_files

表示中のページに添付されている画像ファイルを一覧表示します。FooterやMenuに記述しておくと便利です。

{{image_files}}

Menuに記述する場合など、vオプションをつけると縦に表示することができます。

{{image_files v}}
image_form

画像ファイルを添付するためのフォームを表示します。

{{image_form}}

添付した画像ファイルはフォームの上に一覧表示されます。同じ名前の画像ファイルを添付すると上書きされます。 nolistオプションをつけると一覧表示を行いません。

{{image_form nolist}}

  プラグイン開発者向け情報

plugin::image::Image モジュール内に以下の関数を用意しています。これらを利用することで、表示用に添付された画像ファイルのファイル名、リンク等を取得することが出来ます。

create_image_filename($wiki, $page, $file)
指定されたパラメータを与えることで、画像ファイルへのフルパス名を取得することが出来ます。
  • パラメータ
    • $wiki - Wikiオブジェクト
    • $page - 画像ファイルが添付してあるページ名
    • $file - 画像ファイル名
  • 戻り値
    • 画像ファイルへのフルパス名
create_image_url($wiki, $page, $file)
指定されたパラメータを与えることで、画像ファイルへのURLを取得することが出来ます。
  • パラメータ
    • $wiki - Wikiオブジェクト
    • $page - 画像ファイルが添付してあるページ名
    • $file - 画像ファイル名
  • 戻り値
    • 画像ファイルへのURL
url_encode($retstr)
指定された文字列をエンコードします。 &Util::url_encode()とほぼ同じだが、"."もエンコードしない値が戻ります。
  • パラメータ
    • $retstr - 文字列
  • 戻り値
    • エンコード文字列

 画像ファイル移行用ツールについて・・・

管理者メニューから「添付画像メンテナンス」を選択してご利用ください。

動作モードとして次の2つのモードがあります。

  • attach_dir から image_dir への移動モード(デフォルト)
  • image_dir から attach_dir への移動モード

画像ファイル一覧が表示されますので、移行対象となるファイルにチェックをします。「移動」ボタンを押すことで、ファイルの移動が行われます。移動結果は遷移先の画面にて確認できます。

  • attach_dir 内のファイルを image_dir で指定したフォルダーにエンコード方法を変更しつつ移動させることが出来ます(image_dir から attach_dir も可)。
  • ただし、ページ内の画像ファイル表示プラグイン関連(ref_image or img など)の定義部分は変更しませんので、手動にて image プラグインへ変更する必要があります。
  • ref_image および img プラグインの指定は、移行ツール内にて、使用しているかどうかのチェックを行っています(同一ページ内のみチェックしています)。
  • 画像表示プラグインの使用部分の修正をサポートする為に、一覧表示ではページの表示/編集へのリンクも表示しています。
  • 画像ファイル一覧はフィルタリング(gif,jpg,jpeg,png,bmp)しています。

当方の環境にて十分な動作チェックは行いましたが、全てのサーバーにて対応できるかどうかはわかりませんので、ご利用に関しては 自己責任 にてお願いします。

  変更履歴

2006/02/28 - image_20060228.zip(766)
  • 新規作成
2006/03/01 - 削除
  • 画像ファイル移行用ツールを作成
2006/03/02 - AdminImageSwitch_20060302.zip(722)
  • エンコード関連の修正
2006/03/03 - image_20060303.zip(699)
  • 書式変更の為、緊急リリース
    • ファイル名、ページ名以外のオプションとなる部分の指定方法を変更しました。
2006/03/21 - image_20060321.zip(694)
  • テンプレートのみ修正
2006/03/22 - image_20060322.zip(702)
  • ImageHandler.pm, image_form.tmpl を修正
  • ファイル名とファイルハンドルの配列内の差異を考慮するように修正。
2006/04/03 - AdminImageSwitch_20060403.zip(1019)
  • ちょこっとバグ修正
2006/04/25 - image_20060425.zip(708)
  • 縮小画像ファイル指定オプション(thumbnail)を追加しました。
2006/07/04 - image_20060704.zip(1380)
  • JavaScript有効時のみ「+」「−」ボタンを表示するように修正。
  • fswiki 3.6.2のattachプラグインへの修正を一部反映。
2014/08/25 - image_20140825.zip(185)
  • 複数添付時の添付領域増減スクリプト修正(増減時にファイル設定済の領域保護)
  • 複数削除対応(_ex_attach相当)
  • fswiki 3.6.3のattachプラグインへの修正を一部反映。
2015/02/14 - image_20150214.zip(199)
  • 配列変数をdefinedで判定していた箇所の修正
2015/03/02 - image_20150302.zip(231)
  • 2015/02/14修正が間違っていた為、再度修正しました。

 コメント

  • 画像ファイル移行用ツールを公開しました。 - KG (2006年03月01日 17時23分40秒)
  • かなり早くなり重宝しそうですが、pdf出力で画像が出なくなるように見えます。pdfは未対応となりますでしょうか?あと移行ツールですが、ページのエンコードがされていないため、移行画面からの編集はエラーとなるように見えます。 - TOYO (2006年03月02日 12時53分30秒)
  • 「画像移行ツール」のエンコード周りを修正しました。 - KG (2006年03月02日 13時42分22秒)
  • PDF対応は、現行の inline 版の仕様では難しいです。 paragraph 版を作成すれば容易に対応できます(動作確認済み)。どうしましょう・・・。インライン版とパラグラフ版とで分けますかねぇ。 - KG (2006年03月02日 15時45分18秒)
  • 画像移行ツールに関して、正常に動作することが確認できました。ありがとうございます。pdf対応はあればよさそうですが使う方しだいですかね。印刷スタイルでとりあえずは問題ないので活用させていただきます。 - TOYO (2006年03月02日 23時00分51秒)
  • 実はインライン版も、もう少しでPDF対応できそうなのです。まぁその為には Parser.pm に2行ほどコードを追加しないといけませんが・・・、これが結構トリッキーな改造になってしまいます。で、その修正を加えた パーサーを利用することで、画像表示できるところまでは完成しましたが、インライン処理の中でちょっと追いきれないところがあって・・・Hashリファレンス文字列が一緒に出力されてしまうのです。これさえ解決すれば、PDF対応版としてリリースしたいと思います。 - KG (2006年03月02日 23時35分28秒)
  • すいません、機能拡張しやすいように image プラグインのパラメータ指定方法を変更しました。ファイル名、ページ名部分の順序は変わりませんので殆どの方は影響ないかもしれませんが・・・。 - KG (2006年03月03日 19時19分49秒)
  • それと、PDF対応は一部機能制限はありますが可能です。但し、先に書いているように Parser.pm への2行追加が必要となります。また、現行の image プラグインは HTML形式のプラグインですが、PDF対応版は WIKI形式にする必要があります。さらに、表示位置がずれます・・・というあまり好ましくない状況です。それでも構わないという方がいらっしゃったら公開したいと思います。。。っていませんよね。 - KG (2006年03月03日 19時21分20秒)
  • image_formの複数ファイル添付がうまく機能しないようですが... - kasai (2006年03月21日 20時30分55秒)
  • えっ、そうですか。後で見直しておきます。 - KG (2006年03月21日 20時48分39秒)
  • +/−ボタンクリック時の関数呼出が attach のものになっていましたので修正しました。 - KG (2006年03月21日 22時28分21秒)
  • 画像掲示板のように使えるようさっそく改造させていただいております。http://gameholics.net/wiki/で経過報告させていただきます。 - 近江屋 (2006年03月22日 08時58分39秒)
  • KGさん,さっそくの対応感謝です.ですが,やっぱりSoftware Error: Can't use an undefined value as a symbol reference at plugin/image/ImageHandler.pm line 70. と出まして機能しません.ウチだけですかね.上のhttp://gameholics.net/wiki/で試したら複数ファイル添付ができましたし. - kasai (2006年03月22日 10時53分37秒)
  • たびたび失礼しますが,image pluginを使用しているページをリネーム・コピーしようとすると,Software Error: Undefined subroutine &plugin::image::ImageHandler::copy called at plugin/image/ImageHandler.pm line 197. と言われます.まずはご報告まで. - kasai (2006年03月22日 11時00分47秒)
  • すみません。3月21日リリースの修正バージョンに含まれるバグに気がついたのにドコにも報告を書き込んでませんでした。image_form.tmplの34行目の<!--TMPL_VAR NAME="PAGE"-->を<!--TMPL_VAR NAME="COUNT"-->と修正しています。 - 近江屋 (2006年03月22日 11時08分25秒)
  • kasaiさん、近江屋さんご報告ありがとうございます。ご指摘の部分をそれぞれ修正しました。 - KG (2006年03月22日 11時28分22秒)
  • kasaiさん、Software Error の件については現象確認が出来ましたので、しばらく試行錯誤してみます。 - KG (2006年03月22日 11時54分03秒)
  • Software Error が発生するバグを修正しました。もしかしたら、発生状況が異なるかもしれないので、テストの方、よろしくお願いします。>kasaiさん - KG (2006年03月22日 13時37分13秒)
  • 3/22のファイルを上書きしていますので、13:30以前にダウンロードされた方は再度ダウンロードしてください。 - KG (2006年03月22日 13時38分14秒)
  • ページのリネーム・コピーはOKです.感謝.ただ,私のことろでは複数ファイル添付の際,エラーは出なくなりましたが,2個添付してもimage_filesでチェックすると最初のファイルしか実際には添付されていないようですが.Perlのバージョンか何かのせいですか? - kasai (2006年03月22日 14時10分53秒)
  • CGI.pm のバージョンの可能性が高いです。こちら より最新のCGI.pmをダウンロードし、fswiki/lib ディレクトリ内に置いてテストして見てください。 - KG (2006年03月22日 14時33分17秒)
  • 最新すぎると,また別の問題があったので,CGI.pm-2.77を lib ディレクトリにおいたらOKでした!ご推察どおり,バージョンが古い (Vine 2.6r4, CGI.pm-2.752) のが原因だったようです. - kasai (2006年03月22日 15時23分23秒)
  • 便乗してお尋ねします.image_formやattachのファイル名が入るboxの横幅をもう少し長くしたいときは,どのようにすればよいでしょうか? - kasai (2006年03月23日 17時49分58秒)
  • 複数ファイル添付拡張を利用されているのでしたら、それぞれtmplディレクトリ内の image_form.tmpl, attach.tmpl を修正することで変更することが出来ます。この場合の修正箇所は、 <input type="file" name="file"> と記述されている部分を <input type="file" name="file" size="50"> というように size="xxx" を追加します。注意点としては、form タグ内と javascript 内の2箇所を修正する必要があるというところです。また、複数添付ファイル拡張を利用されていないのでしたら、attach に関しては attachプラグインディレクトリ内にある Attach.pm 内の同様の箇所を 同じように修正することでできるようになります。 - KG (2006年03月23日 20時14分44秒)
  • sizeの追加で,できました.重ね重ね感謝です! - kasai (2006年03月23日 22時20分45秒)
  • JavaScript利用可の時のみ「+」「−」ボタンを表示するように修正しました。また、fswiki 3.6.2までのattachプラグインへの修正を一部反映しました。 - KG (2006年07月04日 12時59分47秒)
  • ページ名に'-'や'_'など入ったり日本語名ページだったりすると、画像が表示できないです。保存されたファイル名とリンクで比較すると、リンク側に余計なコードが入っているように見えます。 - rten (2006年07月08日 14時41分43秒)
  • なお、attachとref_imageによる場合問題がおきません。URLエンコードする際何か要因になるものはありますか? - rten (2006年07月08日 17時54分46秒)
  • 再現できません。もしよろしければ、問題の起こるページ名と画像ファイル名を教えていただけないでしょうか? - KG (2006年07月08日 21時52分12秒)
  • 日本語ページ名のサンプルです → http://banbatakadaya.com/cgi-bin/wiki/wiki.cgi?page=%A5%C6%A5%B9%A5%C8%A5%DA%A1%BC%A5%B8 - rten (2006年07月08日 23時24分54秒)
  • ハイフン入ったページ名のサンプルです → http://banbatakadaya.com/cgi-bin/wiki/wiki.cgi?page=test%2Dpage - rten (2006年07月08日 23時31分25秒)
  • もとのページ名にあるハイフンがエンコードで"%2D"になっていますが、これが更に"%"をエンコードしているようです - rten (2006年07月09日 00時20分29秒)
  • それは正しいURIです。もしかして、リバースプロキシーか何か使用していませんか? - KG (2006年07月09日 00時58分39秒)
  • 例えば"test-page"というページが"test%2Dpage"になるのはOKですが、ここにimage用に添付された画像の保存ファイル名が"test%2Dpage.添付ファイル名"となり(これはOK)、表示されるリンクは"test%252Dpage.添付ファイル名"となる(%がもう一度エンコードされている)のですが、これで正しい、ということでしょうか? - rten (2006年07月09日 02時56分10秒)
  • そういうことです。たとえば、rtenさんが示すリンク先の画像(日本語の方)をクリックしてみてください。「ファイルが見つからない」という英語のメッセージが表示され、ファイル名を含むURIが日本語で表示(文字化けしている場合はブラウザーのエンコーディングをEUC-JPにしてください)されると思います。これは、Webサーバーが指定されたURIをデコードしているということです。通常は、1度デコードされて、実際のファイルへの参照になるので、%25 が % へデコードされて実際のファイルを指すようになります。rten さんのサイトでは、これが2度デコードされているようです。ですので、このようにもう一度ファイル名をエンコードしたURIになると実際のファイルをさすようになります。この動作を見る限り、プロキシーサーバーやリーバースプロキシー等をWebサーバーとの間に設置してあり、そこで1度デコードされているのではないかと予想したわけです。そうなると、Webサーバー側に通知されるURIではすでに1度エンコードされたURIが通知されそれがWebサーバー側でデコードされてしまう為、日本語のファイル名を検索してしまうようになります。 - KG (2006年07月09日 08時54分43秒)
  • プロキシサーバやリバースプロキシを設置していません。attachの場合は問題無く2度デコードは発生しないのですが、この動作の違いは、何か設定がマズイのでしょうか - rten (2006年07月09日 12時18分04秒)
  • attachは直リンクじゃないから当然か。失礼しました。 デコードの方の原因追求をしてみようと思います - rten (2006年07月09日 12時48分00秒)
  • 原因判明しました。WebDAVも使っていて、apacheの方でエンコードがonになっていたためのようです。 WebDAVのみに適用するように弄ってみます - rten (2006年07月19日 15時04分58秒)
  • ApacheでWebDAVでのエンコードと共存は、現状不可能のようですね。当面はimageプラグイン使用ページでの日本語と記号の使用を控えるという方向で行きます - rten (2006年07月19日 18時25分17秒)
  • クリックされた回数が出るといいですねぇ。。 - ゆう (2007年05月11日 15時22分17秒)
  • Image.pmの146行目に" target="_blank"を追加してみました。縮小画像をクリックすると別ページで元画像が表示できます。 - INFINITI (2014年08月16日 10時57分27秒)
  • こちらにてご要望がありましたので機能追加しました。詳細は変更履歴を参照してください。 - KG (2014年08月25日 16時26分36秒)
  • 配列変数をdefinedで判定していた箇所の修正しました。image_20150214.zip(199) - KG (2015年02月14日 15時31分14秒)
  • image_20150214.zipのImageHandler.pmの101行目と126行目は、真偽が逆? - 名無しさん (2015年03月01日 10時52分30秒)
  • 確認します。(^^;;; - KG (2015年03月02日 12時13分42秒)
  • 真偽が逆の件、修正しました。image_20150302.zip(231)。同時にアップしていた他のプラグインはOKでした(^^; - KG (2015年03月02日 12時42分45秒)
  • 「真偽が逆の件」の名無しです。何と表現すればよいのかわからなかったのですが、意図が伝わったようでほっとしました。感謝♪ - 名無しさん (2015年03月02日 22時44分57秒)
お名前: コメント: