LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Forum

trim()の弊害

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-6 4:59
GIJOE  Admiral 登録日: 2006-3-20   投稿数: 3708
モジュールにもコアにも、ユーザの入力データについて、無条件にtrim()をかけるコードが結構多いのですが、これは結構困りものです。

textboxならまだ判るのですが、textareaへの最後の改行って、意味があるものも多いでしょう。(良くあるのが、最後にURLだけ書くパターン。改行のおかげで、[ /quote]に影響を受けなくなる)

それを有無を言わさず奪ってしまうのは困りものです。

それに気付いたのは結構最近なのですが、意外とこの問題は根深く、POSTデータの受取側でtrim()しなくても、編集フォーム用のプラグインでtrim()がかかっています。(つまり再投稿すると、やはり改行が消えている)

XCL2.1だと、
function.xoops_dhtmltarea.php
がまさにソレです。
(これとほぼ同機能であるD3モジュール用Smartyプラグイン function.xoopsdhtmltarea.php でもtrim()かかってましたが、最近修正しました)

おそらくは、minahitoさんがXoopsFormのコードを持ってきた時からtrim()付きだったのだと思いますが、これに対応してくれたら嬉しいですね。

ちなみにHD-1.0.3では、trust/libs/smartyplugins/ 内のプラグインでtrim()無しバージョンにオーバーライドしてます。
投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-6 21:19
minahito  Lieutenant 登録日: 2006-3-20   投稿数: 394
こんばんは~
なるほど……こんな問題があったとは……
もちろん対応します。

なんか最近 suin さんが面白そうなモジュールを作ってるらしく、いまの 2.1.6 ではデリゲートが足らないらしいので、マイナーアップグレード相当でない意見を集めて、 2.1.7 を出そうかなぁと考えてたところでした。
2.2 はそれほど大手術ではないバージョンですが、それでもそれなりに時間がかかるでしょうからねぇ……

trim() の件は 2.1.x 系で対応することになると思うので、そういう小ネタをいくつか集めてプチアップグレードしようかと思います。

引用:
ちなみにHD-1.0.3では、trust/libs/smartyplugins/ 内のプラグインでtrim()無しバージョンにオーバーライドしてます。

これ頂戴いたします。 m(__)m
投票数:0 平均点:0.00

なし Re: trim()の弊害

msg# 1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-18 4:27
GIJOE  Admiral 登録日: 2006-3-20   投稿数: 3708
minahitoさん、こんにちは。

引用:

なんか最近 suin さんが面白そうなモジュールを作ってるらしく、いまの 2.1.6 ではデリゲートが足らないらしいので、マイナーアップグレード相当でない意見を集めて、 2.1.7 を出そうかなぁと考えてたところでした。

マイナーアップグレード相当で「ない」ですか?
「マイナーアップグレード相当であるものだけ」ですよね。

ともあれ、2.1.7が出るというのは嬉しいニュースです。
いつ出るのかだけでも事前に告知していただけたら、sf.netトラッカーに投稿するタイミングが計れるのですが。


取り急ぎ、デリゲートがらみで思い出したのはこれ。
http://www.xugj.org/modules/QandA/index.php?topic_id=1203

このイベント通知のデリゲートって、一番書き換えたいパラメータが参照渡しじゃないから、あまり使い勝手が良くありません。
全パラメータを参照渡しにしてくれたら助かるのですが。
互換性の問題が出そうなら、全パラメータを参照渡しする新デリゲートを追加する、とか。


あと、比較的重要な問題がこれ。
http://www.xugj.org/modules/QandA/index.php?topic_id=1249
他にもこれと同じような抜けがありそうで恐いかも。


もちろん、いずれも、sf.netトラッカーに登録するつもりではありますが。
投票数:0 平均点:0.00

なし Re: trim()の弊害

msg# 1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-19 8:38 | 最終変更
minahito  Lieutenant 登録日: 2006-3-20   投稿数: 394
引用:

GIJOEさんは書きました:
マイナーアップグレード相当で「ない」ですか?
「マイナーアップグレード相当であるものだけ」ですよね。

そ、そうです。
なんという日本語……(泣)

引用:
いつ出るのかだけでも事前に告知していただけたら、sf.netトラッカーに投稿するタイミングが計れるのですが。

了解しました。ちょっと調整してみます。
出すと決めた以上は早いほうがいいので、来月中には RC を出す形で、来月のいつごろ出すのかを話し合ってみます。

引用:
このイベント通知のデリゲートって、一番書き換えたいパラメータが参照渡しじゃないから、あまり使い勝手が良くありません。
全パラメータを参照渡しにしてくれたら助かるのですが。
互換性の問題が出そうなら、全パラメータを参照渡しする新デリゲートを追加する、とか。

なるほど、了解です。
notify なので notifyXXX(const hogehoge) みたいな感覚で、値は値渡しで大丈夫だろうという感覚でやってしまったのだと思います。
互換性の問題もありますが、パラメータを変更調整できるデリゲートというのは別途きちんとある(優先順序が保証される)と面白そうなので、既存のデリゲートの前の位置に入れる形で考えてみます。
投票数:1 平均点:0.00

なし Re: trim()の弊害

msg# 1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-27 5:07
GIJOE  Admiral 登録日: 2006-3-20   投稿数: 3708
忘れないうちに、XUGJで出てきたバグや改善案をトラッカーに登録しておきました。

2.1.7に期待してます
投票数:0 平均点:0.00

  条件検索へ


Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities