先日のオープンソースカンファレンス名古屋2010(以下OSC)でキックオフとなった、
seezoo cms
 
OSCで担当の方とちょっとだけ意気投合したので、
帰宅後触ってみたらconcreat5っぽいのでいいなぁと思ったので、
ぜひ、開発(主にEC用のプラグインになるかと思いますが)に参加したい!
と思ったら、
私が普段メインで使っているクララオンラインの専用サーバーのPHPは
Ver5.1.6なので、要件をみたしてない(T_T)
 
とTwtterで嘆いたところ、公式アカウント
json_encode()だけどうにかできれば、5.1でも使えるとのこと!
ありがたい事に、公式ブログでも対応方法を書いていただけた。
ただ、私はマルチバイトを簡単に扱えて、なおかつ、staticでも使えるJsphonのが好きなので、
こちらで対応した(後述)。
 


というわけで、クララオンラインのサーバーにインストールする手順。
 
1)seezoo公式からシステムDL

2)json_encode()を擬似的に作成

3)インストーラーがPHPのバージョンチェックをしているので、これをスキップ

4) 通常通りインストール
 


 
こちらの記事によると、
CodeIgniterのヘルパー関数に擬似的なjson_encode()を作りましょう!
ってなってるんですが、恥ずかしながらCodeIgniterは名前は知ってたものの、使ったことがない!!
 
というわけで、お手軽実装のほうで。
 
まず、JSONエンコードするライブラリ「Jsphon」をこちらからダウンロードして、
解凍してできた
・Jsphon.php
・Jsphonディレクトリ
をsystem/application/libraries/に置きます。
 
次に、system/application/helpers/seezoo_helper.phpを開いて、一番下に
 

if ( ! function_exists('json_encode') ){
    
    require_once(APPPATH . 'libraries/Jsphon.php');
    function json_encode($data){
        return Jsphon::encode($data);
    }
}

 
を追記。
これで擬似的にjson_encode関数を作れます。
 
upgrade.phpというものもあります。
こっちを使えば、インクルードするだけで使えそうです。(マルチバイトはどうかな…。未確認)
 


次に、インストーラーのバージョンチェックをスキップします。
 
system/application/controllers/install.phpを開いて
 

$viewdata['php_version'] = version_compare(PHP_VERSION, '5.2.0', '>');

 
とされているところを
 

$viewdata['php_version'] = version_compare(PHP_VERSION, '5.1.0', '>');

 
に変更。

ここまでやったら、あとは、普通にインストーラーを走らせれば、
インストールできました。
 
今日はここまで!
これから使ってみながら、開発にも入り込んでいきます!