Top/PukiWiki/改造/一括添付・サムネイル出力・キャッシュ

一括添付・サムネイル出力・キャッシュはてなブックマーク

以下はテストが不足しています :p


ARAIさんの作成された attach・refプラグイン改造パッチを元にダメな感じにいじりました。
便利なパッチを作ってくださったARAIさんに感謝 :)

このパッチで付加される機能

  • 一括添付
    • ローカルで複数のファイルをZIPアーカイブかtarアーカイブにまとめ、アップロードすると、サーバ側で展開・添付されます。
    • ZIPアーカイブの展開を利用する場合、zipというPHP拡張モジュールが有効になっている必要があります。
  • サムネイルの作成
    • #refで参照される画像のサムネイルを作成し、cache下に *.thumb という名前でキャッシュします。
  • 添付ファイルへの直リンを禁止
    • refererを頼りに添付ファイルへの直リンを禁止します。効果は気休め程度です。
    • 「対象をファイルに保存」も出来なくなります。

セットアップ

  1. データのバックアップを取る。
  2. PukiWikiをインストールしたディレクトリにパッチをダウンロードする。
  3. そのディレクトリに移動し、patchを使ってパッチを当てる。
    patch -p1 < attach_ref_d_146.diff.4
  4. plugin/attach.inc.phpを開き、定数を設定
    定数説明デフォルト値
    PLUGIN_THUMB_QUALサムネイルのクオリティ (JPEG圧縮時に使用)50
    PLUGIN_THUMB_RESAMPLE_ALLサムネイルの変換方法 (TRUE:全て滑らかなJPEGに変換, FALSE:JPEGは滑らかなJPEGにその他はPNGに変換)TRUE
    PLUGIN_OPEN_AVOID_DIRECTファイルオープンの場合、直リンを弾くFALSE
    PLUGIN_THUMB_QUALやTHUMB_RESAMPLE_ALLの値を変更する場合はキャッシュ (cache/*.thumb) を一度消して下さい。
    (キャッシュは自動では削除されません。)
  5. plugin/ref.inc.phpを開き、定数を設定
    定数説明デフォルト値
    PLUGIN_REF_THUMB引数を指定しない場合にサムネイルを作成するかFALSE

一括添付 (attachプラグイン)

  1. 添付したい複数のファイルをZIPアーカイブかtarアーカイブにまとめる
  2. 添付フォームのアップロードボタンの横のチェックボックスをチェックし、上記をアップロード


アーカイブが展開され格納されていたファイルが全て添付されます


フォームはこんな感じ

attach_form.png

サムネイル (refプラグイン)

refプラグインの標準の引数に加えて下記を指定できます

  • thumb : サムネイルを使う
  • nothumb : サムネイルを使わない

指定しない場合は前述の定数PLUGIN_REF_THUMBに従います。

サムネイルのサンプル

画像形式元画像サムネイルの変換方法 (THUMB_RESAMPLE_ALL)
画質優先 (TRUE)速度優先 (FALSE)
PNGpng.png 透過png_resampled.jpg 透過しなくなりますpng_resized.png
GIFgif.gif 透過gif_resampled.jpg 透過しなくなりますgif_resized.png
JPEGjpeg.jpgjpeg_resampled.jpgjpeg_resampled.jpg
変換方法に依らず
常に画質優先

備考

ref.inc.phpの'PLUGIN_REF_DIRECT_ACCESS'をTRUEにしていると動作しないと報告がありました。

(デフォルトではFALSEになっているため問題ありません)

(moerrariさんご報告ありがとうございました :)

履歴

コメント等ありましたらどうぞ :)

name:

参考

Amazon

差分 一覧