Camera slideshow パッチ・国際化

English version is available in Camera slideshow patch for SQLite Integration

ここ1年近く更新がありません。開発者は別の仕事で忙しいようです…

有効化するときに、データベースエラーとPHP Noticeが出ます。MySQL でも SQLite でも同じように出ているのですが、MySQL では有効化完了するのに、SQLite では有効化が完了しません。また、MySQL 用の関数も存在していて、残念ならが、SQLite Integrationでは対応しきれないので、プラグイン本体を書き換えることにします。

アーカイブを展開してできたファイル群から、camera-slideshow/index.php と camera-slideshow/lib/camera_functions.php の2つのファイルを書き換えます。index.php については、

この mysql_get_server_info() 関数を使わず、SQLite Integration の関数を使うようにします。ここで使う db_version() は、常に「システム要件で必須のバージョン番号」を返すようになっています。

さて、次に、camera_functions.php の中にある、camera_add_option() 関数を修正します。

19行目以降をを下のように書き換えます。

これも上と同じ考え方です。mysql_query()関数も再定義できません。さらに問題は、mysql_query()はresourceを返すのに、$wpdb->query()は、成功の場合はデータの数、失敗の場合はfalseを返しますから、データが存在する場合は、ここでdie()が実行されてしまいます。mysql_error()関数を書き換えるだけではすまないので、後の判定で処理をすることにします。データがなければ0が返りますから、次の命令が実行されるようになります。

さらに、もうひとつ。

このグローバル変数は空なので、get_currentuserinfo()関数を付け加えます。

フォーラムPossible Bug With Pattern Overlayで報告されている修正を入れました。なお、このプラグインは英語でハードコーディングされているので、言語カタログが使えるように変えてあります。また、パッチと日本語カタログを同梱したアーカイブファイルを作りました。

camera-slideshow_1.3.4.3.patchはSQLite Integrationのダッシュボードからつかえます。アーカイブの中のlanguagesフォルダをWP_PLUGINDIR/camera-slideshow/の直下に置くと、日本語でドキュメントが読めます。MySQLでWordPressを使っている方には、こちらが役立つかもしれません。

Leave a Reply