Ticket #1957 (assigned 改善提案) — at Version 5
プラグインのアップデート時にプラグイン情報が更新されるように
Reported by: | habu | Owned by: | habu |
---|---|---|---|
Priority: | 中 | Milestone: | EC-CUBE2.13.0 |
Component: | 管理画面 | Version: | 2.12.2 |
Keywords: | Cc: | ||
修正済み: | yes |
Description (last modified by habu) (diff)
「アップデート」リンクを利用しての、プラグインのバージョンアップ時に、 DBに登録されているプラグイン情報(バージョン情報など)が更新されません。
各プラグインの plugin_update.php の update 関数内で自前でDBを更新する様にすれば、プラグイン情報を更新する事はできますが、 この処理は、どのプラグインでも共通だと思うので、アップデート時に plugin_info.php の情報でDB内のプラグイン情報を更新する処理はデフォルトで用意しておいた方が良いかと思います。
#気になる点としては、この機能をデフォルトで用意するとなると、この機能が付いているバージョンのEC-CUBEかどうかで、plugin_update.php の update 関数内の処理を切り分けないといけないので、どのバージョンから導入するかというところは要考慮ですね。
→(2013/07/30追記)plugin_update.php の update 関数内で自前でDBを更新するようにしていたとしても、単に2度、更新作業が走るだけなので、切り分け処理は不要ですね。
関連スレッド: http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=11575&forum=17
r23012 にて対応しました。
EC-CUBE 2.13-dev+PHP 5.3.8 + MySQL/Postgresの両方で確認済みです。
(MySQL 5.5.27 / PostgreSQL 9.1.4)
プラグイン情報を新規登録する関数と共通化できるコードが多くありましたので、 別関数にするのではなく、引数を追加して同じ関数を利用するようにしています。
フックポイントの情報については、 プラグインIDで絞り込んで「全削除→全登録」の挙動としています。
そのため、アップデートしたプラグインについては、 「オーナーズストア>プラグインフックポイント管理」画面にて 「利用OFF」に設定したフックポイントも、「利用ON」に変更されますが この挙動で問題ないとの認識です。