バージョン選択

フォーラム

メニュー

オンライン状況

52 人のユーザが現在オンラインです。 (39 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 52
もっと...

サイト内検索

バグ報告 > 管理機能 > 受注登録編集画面:お届け日欄の実在日をチェックしていない。

管理機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
sumida
投稿日時: 2013/4/9 17:35
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: 受注登録編集画面:お届け日欄の実在日をチェックしていない。
こんなのにしてみました。
(1)受注登録編集画面
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    function lfCheckError(&$objFormParam) {
// added
        $arrParams = $objFormParam->getHashArray();
// added
        $objProduct = new SC_Product_Ex();

        $arrErr = $objFormParam->checkError();
// added
        $objError = new SC_CheckError_Ex($arrParams);
        $objError->doFunc(array('お届け日', 'shipping_date_year', 'shipping_date_month', 'shipping_date_day'), array('CHECK_DATE'));
        $arrErr = array_merge($arrErr, $objError->arrErr);
// added

(2)日付チェック
data/class/SC_CheckError.php
    function CHECK_DATE($value) {
        if (isset($this->arrErr[$value[1]])) {
            return;
        }
        $this->createParam($value);
// added
// 日付が連想配列になっているか。(例:お届け日)
if (is_array($this->arrParam[$value[1]])) {
        foreach ($this->arrParam[$value[1]] as $key_index => $year) {
            // 少なくともどれか一つが入力されている。
            // $year = $this->arrParam[$value[1]][$key_index];
            $month = $this->arrParam[$value[2]][$key_index];
            $day = $this->arrParam[$value[3]][$key_index];
            if ($year > 0 || $month > 0 || $day > 0) {
                // 年月日のどれかが入力されていない。
                if (!(strlen($year) > 0 && strlen($month) > 0 && strlen($day) > 0)) {
                    $this->arrErr[$value[1]][$key_index] = '※ ' . $value[0] . 'はすべての項目を入力して下さい。<br />';
                } else if (! checkdate($month, $day, $year)) {
                    $this->arrErr[$value[1]][$key_index] = '※ ' . $value[0] . 'が正しくありません。<br />';
                }
            }
        }
} else {
// added
        // 少なくともどれか一つが入力されている。
        if ($this->arrParam[$value[1]] > 0 || $this->arrParam[$value[2]] > 0 || $this->arrParam[$value[3]] > 0) {
            // 年月日のどれかが入力されていない。
            if (!(strlen($this->arrParam[$value[1]]) > 0 && strlen($this->arrParam[$value[2]]) > 0 && strlen($this->arrParam[$value[3]]) > 0)) {
                $this->arrErr[$value[1]] = '※ ' . $value[0] . 'はすべての項目を入力して下さい。<br />';
            } else if (! checkdate($this->arrParam[$value[2]], $this->arrParam[$value[3]], $this->arrParam[$value[1]])) {
                $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が正しくありません。<br />';
            }

        }
// added
}
// added
    }



6/11 修正方法を変更しました。
お届け先ごとに、お届け日を実在日チェックするようにしました。
そのため、(2)に修正は加えません。
(1)受注登録編集画面
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    function lfCheckError(&$objFormParam) {
// added
        $arrParams = $objFormParam->getHashArray();
// added
        $objProduct = new SC_Product_Ex();

        $arrErr = $objFormParam->checkError();
// added
        $arrErrDate = array();
        foreach ($arrParams['shipping_date_year'] as $key_index => $year) {
            // $year = $arrParams['shipping_date_year'][$key_index];
            $month = $arrParams['shipping_date_month'][$key_index];
            $day = $arrParams['shipping_date_day'][$key_index];
            $objError = new SC_CheckError_Ex(array('shipping_date_year' => $year,
                                             'shipping_date_month' => $month,
                                             'shipping_date_day' => $day));
            $objError->doFunc(array('お届け日', 'shipping_date_year', 'shipping_date_month', 'shipping_date_day'), array('CHECK_DATE'));
            $arrErrDate['shipping_date_year'][$key_index] = $objError->arrErr['shipping_date_year'];
        }
        $arrErr = array_merge($arrErr, $arrErrDate);
// added


(2)日付チェック
data/class/SC_CheckError.php
変更を取り消します。(修正しません。)
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   受注登録編集画面:お届け日欄の実在日をチェックしていない。 sumida 2013/4/6 21:55
     Re: 受注登録編集画面:お届け日欄の実在日をチェックしていない。 sumida 2013/4/6 22:57
       Re: 受注登録編集画面:お届け日欄の実在日をチェックしていない。 sumida 2013/4/8 22:22
       » Re: 受注登録編集画面:お届け日欄の実在日をチェックしていない。 sumida 2013/4/9 17:35
           Re: 受注登録編集画面:お届け日欄の実在日をチェックしていない。 AMUAMU 2013/4/10 3:23

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,303名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.