依頼があったのでalterのPHP5対応の作業をやってみた。
osCommerceの日本語版にはalterという派生バージョンがある。
すでに更新はストップしたままだが、いまでもたくさんの人が利用している。
alterのPHP5対応のポイントは2つだけ。
(他に追加があったらここで報告します)
通常の日本語版のときは下の1だけで動作したが、
alterはsmartyというテンプレートエンジンを利用しているところでエラーがでるのでそこを修正する。
1. osCommerceをPHP5環境へで示したように、
php_flag register_long_arrays をOnにする。
2. $thisの修正
classを定義している範囲外で$thisが使用されているとエラーになる。ユニークな変数名になるよう注意して名称を変更する。
alterでは、ヘッダやフッタ、情報ボックスなどの画面の各パーツでsmartyのオブジェクトを生成している。その変数に$thisが使用されているのですべてそこでエラーが発生する
対象のファイルは、さらに機能が追加されているものだったので、修正箇所が300ヵ所程度と多かったようだ。
これで一応動作した。