GoogleMapsカスタムフィールドプラグインの不具合
SOY CMSのGoogleMapsカスタムフィールドプラグインで不具合を発見&対処した。
現象
記事中の "設定" や "クリア" を押しても無反応(JavaScriptエラー)。再現方法
記事中の設定を押してマップの設定画面(別ウィンドウ)を開く。 下にあるテキストエリアに複数行に渡るコメントを書く。 (要するに改行を含ませるってこと) これで保存をし、ページを再度読み込んだあとに現象発生。原因
html.push('...')の文字列に入力した改行が含まれるため、html.push('... ...');となり、構文エラーとなる。
対処法
次のファイルの一行を修正する。 .../soycms/common/site_include/plugin/googlemaps/customform.php<?php echo htmlspecialchars($info); ?>改行もそのまま出力されるようになっている。
<?php echo str_replace("rn", "
", htmlspecialchars($info)); ?>
改行がそのまま出力されては困るので<br/>に置換するように修正。
■ SOY CMS フォーラム • トップページ http://www.soycms.org/ フォーラムに書いた方がいいのかな?
余談
PHPの置換方法知らなくて、こんな風に書いてエラー出したよ(笑)<?php echo htmlspecialchars($info).replace("rn", "
"); ?>