(text by kondo)
ubuntuでstack-jaが利用できるようになりました。多少以前の話です。ubuntuはver10でstack-jaはver2.0です。
stackは、ubuntuで動かすと、なぜか色々なところで!html[1]! のような表示があらわれてきて、たぶん、何かの置き換えに失敗しているような気配です。他にも、!feedback[1]!というような記述もあって、共通の原因と思われます。CentOSでのstackの動きも、評価関数がエラーが多くて、これに関してはubuntuの方が良かった。
先日、ソースをたどっていって、この置き換えをしているphpファイルを見つけました。
(ドキュメントルート)/stack-ja/lib/CAS/displayCASText.php というファイルを書き換えてみました。この中で、使用されているphpの関数substr()の動きが,CentOSとubuntuで異なっていました。下記の記述は本来のsubtr()の使い方ではないような気がします。
if (substr($dummy,$this->mathmlString))
たぶん、該当文字列が存在するかさがすという機能が書かれていると思われるのですが、このような記述をするものでしょうか?上記のような記述を、下記に改めました。
if (!(mb_strpos($this->mathmlString,$dummy) === false))
何カ所かあるので、すべてを書き換えたら、グラフやフィードバックが表示されるようになりました。