Ticket #2393 (closed バグ指摘: 修正済)

Opened 11 years ago

Last modified 10 years ago

定休日にありえない日付で登録できます

Reported by: m_uehara Owned by: pineray
Priority: Milestone: EC-CUBE2.13.3
Component: 管理画面 Version: 2.13.0 β
Keywords: Cc:
修正済み: yes

Description

管理画面>基本情報管理>定休日管理 の日付に「2月30日」などのありえない日付を設定できます。

Change History

comment:1 Changed 11 years ago by h_yoshimoto

  • Milestone changed from EC-CUBE2.13.0 to EC-CUBE 2.13.1

comment:2 Changed 10 years ago by m_uehara

  • Milestone changed from EC-CUBE 2.13.1 to EC-CUBE 2.13.2

comment:3 Changed 10 years ago by h_yoshimoto

  • Milestone changed from EC-CUBE2.13.2 to EC-CUBE2.13.3

comment:4 Changed 10 years ago by pineray

  • Owner changed from somebody to pineray
  • 修正済み set
  • Status changed from new to assigned

r23433 で対応しました。

comment:5 Changed 10 years ago by shutta

r23433 の、

        // 閏年への対応
        for ($i = 0; $i < 4; $i++) {
            if (checkdate($arrForm['month'], $arrForm['day'], $year + $i)) {
                $valid_date = true;
                continue;
            }
        }

のあたりですが、単純に2月29だけ通すようにした方が分かり易くないでしょうか?
その上で、それ以外の日付を、妥当な日付かどうかチェックするようにするとか。

また、このコードを生かすなら、100で割り切れる年は平年になるので、ループ回数は8回にしないと完全ではないかと思います。
ただ、発現するのは、2097年あたりの話にはなりますが。。。

comment:6 follow-up: ↓ 7 Changed 10 years ago by pineray

r23434 で処理を変更しました。

2月29日の場合はチェックしなくても妥当だと判断すれば良いだけでした。

comment:7 in reply to: ↑ 6 Changed 10 years ago by shutta

pineray への返信

r23434 で処理を変更しました。

2月29日の場合はチェックしなくても妥当だと判断すれば良いだけでした。

早速のご対応恐れ入ります。
処理の意図が分かり易くなりました。ありがとうございました。

comment:8 Changed 10 years ago by kim

  • Status changed from assigned to closed
  • Resolution set to 修正済

pineray 様 shutta 様

ありがとうございます。

こちら対応クローズさせていただきます。

Note: See TracTickets for help on using tickets.