TeX のシステムをXOOPSで構築しているが、記事の中でTeXコマンドを記述すると”\”がエスケープされ、記事保存時に消えてしまう。
それを回避するために”\\”と書くと、”\”となって保存される。
これはこれでOKなのだが、その記事を再編集する際に編集画面に呼び出すと、”\”と表示されてしまうため、手動で”\\”に書き換える必要があった。
これはあまりにも不便なため、スクリプトの変更を行った。具体的には、再編集の際にtextareaに内容を書き出す際に、変換処理で”\”→”\\”を行うこととした。
修正対象は、「\xoops_trust_path\modules\pico\main\contentmanager.php」(149行目付近)である。
‘body’ => htmlspecialchars( str_replace(“\\”,”\\\\”,$content_row[‘body’]) , ENT_QUOTES ) ,
と修正した。
無事正常動作している。
ALTSYSのカスタムブロックでも同様の症状だったので、phpスクリプトを修正した。
修正対象は、「\xoops_trust_path\libs\altsys\class\MyBlocksAdmin.class.php」(771行目付近)である。
‘content_raw’ => str_replace(“\\”,”\\\\”,$block_data[‘content’]),
と修正した。