NP_znItemCacheをNP_Revisionに対応させるパッチです。
対応するNP_znItemCacheのバージョンは0.024、NP_Revisionのバージョンは0.7です。
このパッチを適用するには、元の「NP_znItemCache.php」と同じディレクトリに、このパッチ「NP_znItemCache.php.patch」を置いて、そのディレクトリをカレントディレクトリとして、下記のコマンドを実行して下さい。
patch -b < NP_znItemCache.php.patch
Windowsで実行した場合には、そのままでパッチが当たると思いますが、UNIX系で実行する場合には、元の「NP_znItemCache.php」の改行コードをUNIXスタイルに変換しておく必要があります。パッチのファイルの最後には改行コードが必要なので、コピペして最後が改行コードにならなかった時には手動でEnterキーを押す等して改行コードを入れて下さい。「patchコマンドの簡単な使い方」も参照して下さい。
オリジナルのNP_znItemCacheはアイテム毎にキャッシュしますが、リビジョンの概念が無いため、最初にアクセスのあったリビジョンがキャッシュされ、以降、他のリビジョンにアクセスしても、キャッシュの寿命が来るまでキャッシュされたリビジョンが表示されます。NP_znItemCacheに、このパッチを当てると、NP_znItemCacheはアイテムをリビジョン毎にキャッシュするようになります。最新のリビジョンのキャッシュはオリジナルのNP_znItemCacheのものと変わりありませんが、古いリビジョンのキャッシュのファイル名にはリビジョン番号の情報を含むようになります(ハッシュになっているので見た目では分かりません)。NP_znItemCacheにこのパッチを当てた後、特に何もしなくても、ほおっておくとキャッシュファイルの寿命が来て、キャッシュとリビジョンの関係が正しくなると思いますが、急ぐ場合には、全てのキャッシュファイルを削除して下さい。
このパッチを当てたNP_znItemCacheは、古いリビジョンのキャッシュを見つけた場合、NP_Revisionの警告機能を有効にするため、NP_Revisionを呼び出します。これは、警告機能を使わない場合には無駄な気もしますが、NP_Revisionは元々さほど重いプログラムでは無いと思うので、NP_znItemCacheを必要としているようなシステムにとって、その影響は、ほとんど無視できるものと思います。
このパッチを当てたNP_znItemCacheは、NP_Revisionに依存しますが、依存性のチェックは行っていません。そのため、NP_Revisionをインストールしていない状態でアイテムのリビジョンを指定すると、アボートすると思います。
NP_Revisionの方には、特にパッチは必要ありません。