Nucleusプラグイン

突然ですが余談です。
サンガツのサイトで作成したNucleus用プラグインを公開します。
詳細はプラグイン管理画面の説明や、オプション編集画面の項目をご覧下さい。
更新履歴は.phpファイル内のChangeLogをご覧下さい。
マルチバイト文字は含まれていないため、文字コードの変換は不要です。

nucleus3.24_ja_utf8にて動作確認を行っています。
バグやセキュリティ脆弱性を発見された方はご一報下さい。歓迎いたします。

GNU GPLにて公開しています。
※ライセンス表記が無いソースには、次回更新時に順次追記する予定です。

NP_CustomThumbnail-0.4
(MD5:a9229963b26a8bdc462eefeb08e168a9)

<%image(...)%>、<%popup(...)%>、もしくは両方をサムネイル画像へ置き換えるプラグインです。
サムネイル画像はファイルシステム("media/thumbnail"ディレクトリ)へ保存され、必要に応じて再生成されます。
リサイズ方法、オリジナル画像へのリンク方法、特定の画像のみサムネイルをキャンセル等、比較的柔軟にカスタマイズ出来ます。
GDもしくは外部コマンド(ImageMagick等)が必要です。
GD使用時にはGIF/JPEG/PNG(GIF透過色、PNGアルファチャンネルを含む)に対応しています。

"safe_mode = On"環境下で利用するためには

オリジナル画像のアップロード先ディレクトリ("media/1"等)を手動で作成し、書き込み可能なパーミッション("777"等)を与えて下さい。
同様に"media/thumbnail"ディレクトリを手動で作成し、書き込み可能なパーミッションを与えて下さい。
結果として、オリジナル画像を格納するディレクトリの所有者(UID)と、サムネイル画像を格納するディレクトリの所有者と、Nucleusの.phpファイルの所有者が、全て同じになるように設定して下さい。

NP_Pickup-0.2
(MD5:147eb3b191452f0436e099afc8174dfa)

アイテム作成者が"Pickup"とチェックしたアイテムのタイトルを拾い集めて、ナビゲーションメニューを構築するプラグインです。
"Priority"によって表示順を変更出来ます。
"Alternate title"によって画像等のHTML文を付加出来ます。

NP_Sanitize-0.1
(MD5:b5d5964e7b23856edf71656ecaa28ec3)

アイテム編集時にHTML文法を簡易的に訂正するプラグインです。
アイテム中の誤ったHTML特殊文字(<, >, &, ")を、HTMLタグやNucleus変数を壊す事無くエスケープ出来ます。
既にエスケープされている文字は二重にエスケープされません。
HTMLタグ名まではチェックされません(NP_Validate等をご併用下さい)。

NP_SmartLink-0.1
(MD5:13d844db9720f393b01b0c53acac13e3)

デフォルトのスキン変数<%archivelink%>、およびテンプレート変数<%authorlink%>、<%categorylink%>、<%itemlink%>を拡張するプラグインです。
複数ブログに対応したリンクをスキン、テンプレートを問わず挿入出来ます。
カテゴリーが選択されている状態でも、パラメータにcatidを含まない、「ピュア」なリンクを生成出来ます。

NP_TrimBr-0.1
(MD5:7c3222fe3af296d92b5ff15e18c872ed)

アイテム編集時に先頭と末尾の改行を削除するプラグインです。

NP_TrackBack123bj7-sangatsu20050528.patch
(MD5:725c4d3b4449e0d2acda1175dfbef4ef)

※NP_TrackBack1.xのサポートは終了しています。最新版を利用しましょう。ここでは過去の資料としてパッチのみ公開しています。
NP_TrackBack123bj7の修正パッチです。修正内容は下記の通りです。

HTTP_REFERER対策

HTTP_REFERERの取得方法を変更しています。
Ping送受信時、およびTrackbackアイテム削除時に、真っ白な画面が表示される問題を回避出来ます。

NP_Cache対応

Ping受信時、およびTrackbackアイテム削除時に、NP_CacheへPreUpdateItemイベントを通知する処理を追加しています。
NP_TrackBackとNP_Cacheを併用している場合でも即座にTrackbackリストの表示を更新出来ます。
NP_Cache-1.2にて動作確認を行っています。

パターンベースのスパム対策

特定のパターンにマッチするPingの受信を拒否する機能を追加しています。
NP_Blacklist等を利用せずに単体でTrackbackスパム対策が出来ます。
パターンはグローバル配列変数$TRACKBACK_NG_PATTERNSによって指定し、配列の各要素はPerl互換の正規表現として順番に評価されます。
マッチの対象はURL、タイトル、本文、ブログ名、およびREMOTE_ADDRを連結した文字列です。
使用例:
config.phpに
$TRACKBACK_NG_PATTERNS = array('/example\.com/i', '/192\.168\.0\.1/');
等と記述します。

時間ベースのスパム対策

Ping送信者のURLが同一であるPingを複数回受信した場合、一定時間が経過していないものを拒否する機能を追加しています。
同一URLで短時間に大量送信するタイプのスパムについて、その2回目以降の受信を抑制出来ます。
時間はグローバル変数$TRACKBACK_INTERVALで秒数を指定します。
使用例:
config.phpに
$TRACKBACK_INTERVAL = 3600;
等と記述します。
2005-02-05T08:31 by Kaji for Misc

Trackback

このトラックバックURLを使ってこの記事にトラックバックを送ることができます。
もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。

MOMIJI by iga on 2006-12-18

土曜日の朝の石神井公園。 12月なのに紅葉。 なお、下の[ ]で囲まれたタグはJpeg から exif を直接抜き出して表示するように NP_CustomThumbnail を改造してます。 過去の写真でも情報が表示されるようになりま...