一括添付・サムネイル出力・キャッシュ
以下はテストが不足しています
- attach_ref_d_147.diff (2006/06/29) PukiWiki1.4.7_notbに対するパッチ
- attach_ref_d_147_utf8.diff (2008/02/02) PukiWiki1.4.7_notb UTF-8版に対するパッチ
ARAIさんの作成された
attach・refプラグイン改造パッチを元にダメな感じにいじりました。
便利なパッチを作ってくださったARAIさんに感謝
このパッチで付加される機能
- 一括添付
- ローカルで複数のファイルをZIPアーカイブかtarアーカイブにまとめ、アップロードすると、サーバ側で展開・添付されます。
- ZIPアーカイブの展開を利用する場合、zipというPHP拡張モジュールが有効になっている必要があります。
- サムネイルの作成
- #refで参照される画像のサムネイルを作成し、cache下に *.thumb という名前でキャッシュします。
- 添付ファイルへの直リンを禁止
- refererを頼りに添付ファイルへの直リンを禁止します。効果は気休め程度です。
- 「対象をファイルに保存」も出来なくなります。
セットアップ
- データのバックアップを取る。
- PukiWikiをインストールしたディレクトリにパッチをダウンロードする。
- そのディレクトリに移動し、patchを使ってパッチを当てる。
patch -p1 < attach_ref_d_146.diff.4
- plugin/attach.inc.phpを開き、定数を設定
PLUGIN_THUMB_QUALやTHUMB_RESAMPLE_ALLの値を変更する場合はキャッシュ (cache/*.thumb) を一度消して下さい。
定数 説明 デフォルト値 PLUGIN_THUMB_QUAL サムネイルのクオリティ (JPEG圧縮時に使用) 50 PLUGIN_THUMB_RESAMPLE_ALL サムネイルの変換方法 (TRUE:全て滑らかなJPEGに変換, FALSE:JPEGは滑らかなJPEGにその他はPNGに変換) TRUE PLUGIN_OPEN_AVOID_DIRECT ファイルオープンの場合、直リンを弾く FALSE
(キャッシュは自動では削除されません。) - plugin/ref.inc.phpを開き、定数を設定
定数 説明 デフォルト値 PLUGIN_REF_THUMB 引数を指定しない場合にサムネイルを作成するか FALSE
一括添付 (attachプラグイン)
- 添付したい複数のファイルをZIPアーカイブかtarアーカイブにまとめる
- 添付フォームのアップロードボタンの横のチェックボックスをチェックし、上記をアップロード
↓
アーカイブが展開され格納されていたファイルが全て添付されます
フォームはこんな感じ
サムネイル (refプラグイン)
refプラグインの標準の引数に加えて下記を指定できます
- thumb : サムネイルを使う
- nothumb : サムネイルを使わない
指定しない場合は前述の定数PLUGIN_REF_THUMBに従います。
サムネイルのサンプル
画像形式 | 元画像 | サムネイルの変換方法 (THUMB_RESAMPLE_ALL) | |
画質優先 (TRUE) | 速度優先 (FALSE) | ||
PNG | 透過 | 透過しなくなります | |
GIF | 透過 | 透過しなくなります | |
JPEG | 変換方法に依らず 常に画質優先 |
備考
ref.inc.phpの'PLUGIN_REF_DIRECT_ACCESS'をTRUEにしていると動作しないと報告がありました。
(デフォルトではFALSEになっているため問題ありません)
(moerrariさんご報告ありがとうございました )
履歴
- attach_ref_d_147_utf8.diff
- PukiWiki1.4.7 UTF-8版に対応
- attach_ref_d_147.diff
- PukiWiki1.4.7に対応
- attach_ref_d_146.diff.5
- [サムネイル]koniさんのパッチを取り込んだ
引数を指定しない場合にサムネイルを作成するかどうかを選べるようになった
仕様変更:引数を指定しない場合はサムネイルを作成しない
- [サムネイル]koniさんのパッチを取り込んだ
- attach_ref_d_146.diff.4
- [一括添付]ZIPアーカイブに対応
- [一括添付]テンポラリアップロードファイルが衝突する可能性がある不具合を修正
- attach_ref_d_146.diff.3
- [サムネイル]width,heightの片方だけ指定された場合に縦横比を保たなくなった不具合を修正
- [一括添付]PHP Bug #35060を回避
- エラーメッセージを真面目に出力するように修正
- attach_ref_d_146.diff.2
- [サムネイル]作成したサムネイルを表示する際、さらに圧縮していた不具合を修正
- [サムネイル]コードを大幅に整理
- attach_ref_d_146.diff
- PukiWiki1.4.6に対応
- attach_ref_d_146rc.diff
- PukiWiki1.4.6-rcに対応
- attach_ref_d_145.diff
- PukiWiki1.4.5に対応
- attach_ref_d_143.diff.3
- パッチの文字コードがSJISになっていた不具合を修正
- attach_ref_d_143.diff.2
- [サムネイル]透過画像のサムネイルが透過するように修正 (Snakeさんご助言ありがとうございました)
- attach_ref_d_143.diff
- [サムネイル]サムネイルをキャッシュするように修正
コメント等ありましたらどうぞ
参考
- 雑記場X物置:PC備忘録/PukiWikiメモ/attach・refプラグイン改造
- PukiWiki:自作プラグイン/attach.inc.php・ref.inc.php 下の方で上げられているパッチはこのページのものより古い可能性があります。