Project

General

Profile

Backport(バックポート) #757

opValidatorDate with date_time option don't return time correctly. (opValidatorDateをwith_timeオプション付きで使用したとき時刻が違う値になる)

Added by Shogo Kawahara about 11 years ago. Updated about 11 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Target version:
Start date:
2010-02-13
Due date:
% Done:

100%


Description

Overview (概要)

opValidatorDateをwith_timeオプション付きで使用したとき、時刻に「フォームで入力した時刻 + 現在時刻」の値が設定されてしまいます。

Cause (原因)

配列で時刻を受け取った時、opValidatorDateの挙動が正しくありません。

122       $clean->modify('+'.(isset($value['hour']) ? intval($value['hour']) : 0).'hour');
123       $clean->modify('+'.(isset($value['second']) ? intval($value['second']) : 0).'second');

ここは、 modify()で加算するのではなく、setTime()で時刻をセットするのが正しいでしょう。

Reproduction method (再現方法)

検証コード

$v = new opValidatorDate(array('with_time' => true));

var_dump($v->clean(array('year' => 1989, 'month' => 1, 'day' => 8, 'hour' => 10, 'minute' => 2, 'second' => 10)));

結果として、時刻が正しくない結果が帰ってきます。

(上記の場合、現時時刻に 10時間と10秒が加算される)

Environment (環境)

  • OpenPNE3.5.x
  • OpenPNE3.4.x
  • OpenPNE3.2.x
  • OpenPNE3.0.x

Related issues

Related to OpenPNE 3 - Bug(バグ) #633: opValidatorDate with date_time option don't return time correctly. (opValidatorDateをwith_timeオプション付きで使用したとき時刻が違う値になる) Fixed(完了) 2010-02-13 2010-03-04

Associated revisions

Revision 872ce2ba (diff)
Added by Youichi Kimura about 11 years ago

fixed that the opValidatorDate doesn't convert time correctly (fixes #757;BP from #633)

Revision 43f4d293 (diff)
Added by Shogo Kawahara about 11 years ago

added a unit test script for opValidatorDate (fixes #757;BP from #633)

History

#1 Updated by Shogo Kawahara about 11 years ago

  • % Done changed from 50 to 0

#2 Updated by Shogo Kawahara about 11 years ago

  • Tracker changed from Bug(バグ) to Backport(バックポート)

#3 Updated by Shogo Kawahara about 11 years ago

  • Status changed from New(新規) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

更新履歴commit:"43f4d29325f44db8b4d0eec7c6a6272c34bba1ba"で適用されました。

#4 Updated by Youichi Kimura about 11 years ago

更新履歴commit:"872ce2bab84a346653aeb4f2e47fbdc470929619"で適用されました。

#5 Updated by Mutsumi Imamura about 11 years ago

  • % Done changed from 50 to 70

opValidatorDateTest.phpを実行し問題ないことを確認しました。

#6 Updated by Kousuke Ebihara about 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Fixed(完了)
  • % Done changed from 70 to 100

コードレビューしました。問題ありません。

Also available in: Atom PDF