Pocket

依頼があったので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ヵ所程度と多かったようだ。

これで一応動作した。