/**
  * パラメーター情報の初期化を行う.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @param boolean $deliv_only 必須チェックは deliv_id のみの場合 true
  * @param array $arrShipping 配送先情報の配列
  * @return void
  */
 function lfInitParam(&$objFormParam, $deliv_only, &$arrShipping)
 {
     $objFormParam->addParam('配送業者', 'deliv_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'));
     $objFormParam->addParam('ポイント', 'use_point', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK', 'ZERO_START'));
     $objFormParam->addParam('その他お問い合わせ', 'message', LTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('ポイントを使用する', 'point_check', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '2');
     if ($deliv_only) {
         $objFormParam->addParam('お支払い方法', 'payment_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
     } else {
         $objFormParam->addParam('お支払い方法', 'payment_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'));
         foreach ($arrShipping as $val) {
             $objFormParam->addParam('お届け時間', 'deliv_time_id' . $val['shipping_id'], INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
             $objFormParam->addParam('お届け日', 'deliv_date' . $val['shipping_id'], STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK'));
         }
     }
     $objFormParam->setParam($arrParam);
     $objFormParam->convParam();
 }
 /**
  * 会員エラーチェック共通
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @param string       $prefix       キー名にprefixを付ける場合に指定
  * @access public
  * @return array エラー情報の配列
  */
 public function sfCustomerCommonErrorCheck(&$objFormParam, $prefix = '')
 {
     $objFormParam->convParam();
     $objFormParam->toLower($prefix . 'email');
     $objFormParam->toLower($prefix . 'email02');
     $arrParams = $objFormParam->getHashArray();
     // 入力データを渡す。
     $objErr = new SC_CheckError_Ex($arrParams);
     $objErr->arrErr = $objFormParam->checkError();
     $objErr->doFunc(array('電話番号', $prefix . 'tel01', $prefix . 'tel02', $prefix . 'tel03'), array('TEL_CHECK'));
     $objErr->doFunc(array('FAX番号', $prefix . 'fax01', $prefix . 'fax02', $prefix . 'fax03'), array('TEL_CHECK'));
     $objErr->doFunc(array('郵便番号', $prefix . 'zip01', $prefix . 'zip02'), array('ALL_EXIST_CHECK'));
     return $objErr;
 }
 /**
  * パラメーター情報の初期化を行う.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @param boolean $deliv_only 必須チェックは deliv_id のみの場合 true
  * @param array $arrShipping 配送先情報の配列
  * @return void
  */
 function lfInitParam(&$objFormParam, $deliv_only, &$arrShipping)
 {
     $objFormParam->addParam(t('c_Delivery company_01'), 'deliv_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'));
     $objFormParam->addParam(t('c_Points_01'), 'use_point', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK', 'ZERO_START'));
     $objFormParam->addParam(t('c_Other inquiries_01'), 'message', LTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam(t('c_Use points_01'), 'point_check', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'), '2');
     if ($deliv_only) {
         $objFormParam->addParam(t('c_Payment method_02'), 'payment_id', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
     } else {
         $objFormParam->addParam(t('c_Payment method_02'), 'payment_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'));
         foreach ($arrShipping as $val) {
             $objFormParam->addParam(t('c_Delivery time_01'), 'deliv_time_id' . $val['shipping_id'], INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
             $objFormParam->addParam(t('c_Delivery date_01'), 'deliv_date' . $val['shipping_id'], STEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK'));
         }
     }
     $objFormParam->setParam($arrParam);
     $objFormParam->convParam();
 }
 /**
  * 入力チェックを行う.
  *
  * @param  SC_FormParam $objFormParam SC_FormParam インスタンス
  * @return array        エラー情報の配列
  */
 public function lfCheckError(&$objFormParam)
 {
     $objCartSess = new SC_CartSession_Ex();
     $objFormParam->convParam();
     // 数量未入力は0に置換
     $objFormParam->setValue('quantity', $objFormParam->getValue('quantity', 0));
     $arrErr = $objFormParam->checkError();
     $arrParams = $objFormParam->getSwapArray();
     if (empty($arrErr)) {
         foreach ($arrParams as $index => $arrParam) {
             // 数量0で、お届け先を選択している場合
             if ($arrParam['quantity'] == 0 && !SC_Utils_Ex::isBlank($arrParam['shipping'])) {
                 $arrErr['shipping'][$index] = '※ 数量が0の場合、お届け先を入力できません。<br />';
             }
             // 数量の入力があり、お届け先を選択していない場合
             if ($arrParam['quantity'] > 0 && SC_Utils_Ex::isBlank($arrParam['shipping'])) {
                 $arrErr['shipping'][$index] = '※ お届け先が入力されていません。<br />';
             }
         }
     }
     // 入力エラーが無い場合、カゴの中身との数量の整合を確認
     if (empty($arrErr)) {
         $arrQuantity = array();
         // 入力内容を集計
         foreach ($arrParams as $arrParam) {
             $product_class_id = $arrParam['product_class_id'];
             $arrQuantity[$product_class_id] += $arrParam['quantity'];
         }
         // カゴの中身と突き合わせ
         $cartLists =& $objCartSess->getCartList($objCartSess->getKey());
         foreach ($cartLists as $arrCartRow) {
             $product_class_id = $arrCartRow['id'];
             // 差異がある場合、エラーを記録
             if ($arrCartRow['quantity'] != $arrQuantity[$product_class_id]) {
                 foreach ($arrParams as $index => $arrParam) {
                     if ($arrParam['product_class_id'] == $product_class_id) {
                         $arrErr['quantity'][$index] = '※ 数量合計を「' . $arrCartRow['quantity'] . '」にしてください。<br />';
                     }
                 }
             }
         }
     }
     return $arrErr;
 }
 /**
  * CSVアップロードを実行する
  *
  * @param SC_FormParam  $objFormParam
  * @param SC_UploadFile $objUpFile
  * @param SC_Helper_DB  $objDb
  * @return void
  */
 function doUploadCsv(&$objFormParam, &$objUpFile)
 {
     // ファイルアップロードのチェック
     $objUpFile->makeTempFile('csv_file');
     $arrErr = $objUpFile->checkExists();
     if (count($arrErr) > 0) {
         $this->arrErr = $arrErr;
         return;
     }
     // 一時ファイル名の取得
     $filepath = $objUpFile->getTempFilePath('csv_file');
     // CSVファイルの文字コード変換
     $enc_filepath = SC_Utils_Ex::sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_REALDIR);
     // CSVファイルのオープン
     $fp = fopen($enc_filepath, 'r');
     // 失敗した場合はエラー表示
     if (!$fp) {
         SC_Utils_Ex::sfDispError('');
     }
     // 登録先テーブル カラム情報の初期化
     $this->lfInitTableInfo();
     // 登録フォーム カラム情報
     $this->arrFormKeyList = $objFormParam->getKeyList();
     // 登録対象の列数
     $col_max_count = $objFormParam->getCount();
     // 行数
     $line_count = 0;
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     $objQuery->begin();
     $errFlag = false;
     while (!feof($fp)) {
         $arrCSV = fgetcsv($fp, CSV_LINE_MAX);
         // 行カウント
         $line_count++;
         // ヘッダ行はスキップ
         if ($line_count == 1) {
             continue;
         }
         // 空行はスキップ
         if (empty($arrCSV)) {
             continue;
         }
         // 列数が異なる場合はエラー
         $col_count = count($arrCSV);
         if ($col_max_count != $col_count) {
             $this->addRowErr($line_count, t('c_* T_ARG1 was detected for the item quantity. The item quantity is T_ARG2._01', array('T_ARG1' => $col_count, 'T_ARG2' => $col_max_count)));
             $errFlag = true;
             break;
         }
         // シーケンス配列を格納する。
         $objFormParam->setParam($arrCSV, true);
         $arrRet = $objFormParam->getHashArray();
         $objFormParam->setParam($arrRet);
         // 入力値の変換
         $objFormParam->convParam();
         // <br>なしでエラー取得する。
         $arrCSVErr = $this->lfCheckError($objFormParam);
         // 入力エラーチェック
         if (count($arrCSVErr) > 0) {
             foreach ($arrCSVErr as $err) {
                 $this->addRowErr($line_count, $err);
             }
             $errFlag = true;
             break;
         }
         $category_id = $this->lfRegistCategory($objQuery, $line_count, $objFormParam);
         $this->addRowResult($line_count, t('c_Category ID: T_ARG1 /Category name: T_ARG2_01', array('T_ARG1' => $category_id, 'T_ARG2' => $objFormParam->getValue('category_name'))));
     }
     // 実行結果画面を表示
     $this->tpl_mainpage = 'products/upload_csv_category_complete.tpl';
     fclose($fp);
     if ($errFlag) {
         $objQuery->rollback();
         return;
     }
     $objQuery->commit();
     // カテゴリ件数を更新
     SC_Helper_DB_EX::sfCountCategory($objQuery);
     return;
 }
 /**
  * 入力内容のチェックを行う.
  *
  * 追加の必須チェック, 相関チェックを行うため, SC_CheckError を使用する.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @return array エラー情報の配
  */
 function lfCheckError(&$objFormParam)
 {
     // 入力値の変換
     $objFormParam->convParam();
     $objFormParam->toLower('order_mail');
     $objFormParam->toLower('order_mail_check');
     $arrParams = $objFormParam->getHashArray();
     $objErr = new SC_CheckError_Ex($arrParams);
     $objErr->arrErr = $objFormParam->checkError();
     // 別のお届け先チェック
     if (isset($arrParams['deliv_check']) && $arrParams['deliv_check'] == '1') {
         $objErr->doFunc(array('お名前(姓)', 'shipping_name01'), array('EXIST_CHECK'));
         $objErr->doFunc(array('お名前(名)', 'shipping_name02'), array('EXIST_CHECK'));
         $objErr->doFunc(array('お名前(フリガナ・姓)', 'shipping_kana01'), array('EXIST_CHECK'));
         $objErr->doFunc(array('お名前(フリガナ・名)', 'shipping_kana02'), array('EXIST_CHECK'));
         $objErr->doFunc(array('郵便番号1', 'shipping_zip01'), array('EXIST_CHECK'));
         $objErr->doFunc(array('郵便番号2', 'shipping_zip02'), array('EXIST_CHECK'));
         $objErr->doFunc(array('都道府県', 'shipping_pref'), array('EXIST_CHECK'));
         $objErr->doFunc(array('住所1', 'shipping_addr01'), array('EXIST_CHECK'));
         $objErr->doFunc(array('住所2', 'shipping_addr02'), array('EXIST_CHECK'));
         $objErr->doFunc(array('電話番号1', 'shipping_tel01'), array('EXIST_CHECK'));
         $objErr->doFunc(array('電話番号2', 'shipping_tel02'), array('EXIST_CHECK'));
         $objErr->doFunc(array('電話番号3', 'shipping_tel03'), array('EXIST_CHECK'));
     }
     // 複数項目チェック
     $objErr->doFunc(array('TEL', 'order_tel01', 'order_tel02', 'order_tel03'), array('TEL_CHECK'));
     $objErr->doFunc(array('FAX', 'order_fax01', 'order_fax02', 'order_fax03'), array('TEL_CHECK'));
     $objErr->doFunc(array('郵便番号', 'order_zip01', 'order_zip02'), array('ALL_EXIST_CHECK'));
     $objErr->doFunc(array('TEL', 'shipping_tel01', 'shipping_tel02', 'shipping_tel03'), array('TEL_CHECK'));
     $objErr->doFunc(array('郵便番号', 'shipping_zip01', 'shipping_zip02'), array('ALL_EXIST_CHECK'));
     $objErr->doFunc(array('生年月日', 'year', 'month', 'day'), array('CHECK_BIRTHDAY'));
     $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', 'order_email', 'order_email02'), array('EQUAL_CHECK'));
     return $objErr->arrErr;
 }
Ejemplo n.º 7
0
 /**
  * 入力内容のチェックを行う.
  *
  * 追加の必須チェック, 相関チェックを行うため, SC_CheckError を使用する.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @return array エラー情報の配
  */
 function lfCheckError(&$objFormParam)
 {
     // 入力値の変換
     $objFormParam->convParam();
     $objFormParam->toLower('order_mail');
     $objFormParam->toLower('order_mail_check');
     $arrParams = $objFormParam->getHashArray();
     $objErr = new SC_CheckError_Ex($arrParams);
     $objErr->arrErr = $objFormParam->checkError();
     // 別のお届け先チェック
     if (isset($arrParams['deliv_check']) && $arrParams['deliv_check'] == "1") {
         $objErr->doFunc(array("お名前(姓)", "shipping_name01"), array("EXIST_CHECK"));
         $objErr->doFunc(array("お名前(名)", "shipping_name02"), array("EXIST_CHECK"));
         $objErr->doFunc(array("お名前(フリガナ・姓)", "shipping_kana01"), array("EXIST_CHECK"));
         $objErr->doFunc(array("お名前(フリガナ・名)", "shipping_kana02"), array("EXIST_CHECK"));
         $objErr->doFunc(array("郵便番号1", "shipping_zip01"), array("EXIST_CHECK"));
         $objErr->doFunc(array("郵便番号2", "shipping_zip02"), array("EXIST_CHECK"));
         $objErr->doFunc(array("都道府県", "shipping_pref"), array("EXIST_CHECK"));
         $objErr->doFunc(array("住所1", "shipping_addr01"), array("EXIST_CHECK"));
         $objErr->doFunc(array("住所2", "shipping_addr02"), array("EXIST_CHECK"));
         $objErr->doFunc(array("電話番号1", "shipping_tel01"), array("EXIST_CHECK"));
         $objErr->doFunc(array("電話番号2", "shipping_tel02"), array("EXIST_CHECK"));
         $objErr->doFunc(array("電話番号3", "shipping_tel03"), array("EXIST_CHECK"));
     }
     // 複数項目チェック
     $objErr->doFunc(array('TEL', "order_tel01", "order_tel02", "order_tel03"), array("TEL_CHECK"));
     $objErr->doFunc(array('FAX', "order_fax01", "order_fax02", "order_fax03"), array("TEL_CHECK"));
     $objErr->doFunc(array("郵便番号", "order_zip01", "order_zip02"), array("ALL_EXIST_CHECK"));
     $objErr->doFunc(array('TEL', "shipping_tel01", "shipping_tel02", "shipping_tel03"), array("TEL_CHECK"));
     $objErr->doFunc(array("郵便番号", "shipping_zip01", "shipping_zip02"), array("ALL_EXIST_CHECK"));
     $objErr->doFunc(array("生年月日", 'year', 'month', 'day'), array("CHECK_BIRTHDAY"));
     $objErr->doFunc(array("メールアドレス", "メールアドレス(確認)", "order_email", "order_email02"), array("EQUAL_CHECK"));
     return $objErr->arrErr;
 }
Ejemplo n.º 8
0
$objCampaignSess = new SC_CampaignSession();
$objSiteInfo = $objView->objSiteInfo;
$arrInfo = $objSiteInfo->data;
// パラメータ管理クラス
$objFormParam = new SC_FormParam();
// パラメータ情報の初期化
lfInitParam();
// POST値の取得
$objFormParam->setParam($_POST);
// アクセスの正当性の判定
$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess);
switch ($_POST['mode']) {
    // 登録
    case 'regist':
        // 入力値の変換
        $objFormParam->convParam();
        $objPage->arrErr = lfCheckError($arrRet);
        // 入力エラーなしの場合
        if (count($objPage->arrErr) == 0) {
            // カート集計処理
            $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo);
            // 一時受注テーブルの読込
            $arrData = sfGetOrderTemp($uniqid);
            // カート集計を元に最終計算
            $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo);
            // カードの認証を行う
            $arrVal = $objFormParam->getHashArray();
            $card_no = $arrVal['card_no01'] . $arrVal['card_no02'] . $arrVal['card_no03'] . $arrVal['card_no04'];
            $card_exp = $arrVal['card_month'] . "/" . $arrVal['card_year'];
            // MM/DD
            $result = sfGetAuthonlyResult(CGI_DIR, CGI_FILE, $arrVal['name01'], $arrVal['name02'], $card_no, $card_exp, $arrData['payment_total'], $uniqid, $arrVal['jpo_info']);
 /**
  * newアクションの初期化.
  * SC_FormParamのインスタンスをメンバ変数にセットする.
  *
  * @param void
  * @return void
  */
 function initNewMode($mode = "")
 {
     $objForm = new SC_FormParam();
     $objForm->addParam('名前', 'name', STEXT_LEN, 'KV', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'));
     $objForm->addParam('所属', 'department', STEXT_LEN, 'KV', array('MAX_LENGTH_CHECK'));
     $objForm->addParam('ログインID', 'login_id', '', '', array('EXIST_CHECK', 'ALNUM_CHECK'));
     if ($mode == "edit" && $_POST['password'] == DUMMY_PASS) {
         $objForm->addParam('パスワード', 'password', '', '', array('EXIST_CHECK'));
     } else {
         $objForm->addParam('パスワード', 'password', '', '', array('EXIST_CHECK', 'ALNUM_CHECK'));
     }
     $objForm->addParam('権限', 'authority', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objForm->setParam($_POST);
     $objForm->convParam();
     $this->objForm = $objForm;
 }
Ejemplo n.º 10
0
 /**
  * パラメーター情報の初期化を行う.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @param boolean $deliv_only 必須チェックは deliv_id のみの場合 true
  * @param array $arrShipping 配送先情報の配列
  * @return void
  */
 function lfInitParam(&$objFormParam, $deliv_only, &$arrShipping)
 {
     $objFormParam->addParam("配送業者", "deliv_id", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
     $objFormParam->addParam("ポイント", "use_point", INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK", "ZERO_START"));
     $objFormParam->addParam("その他お問い合わせ", 'message', LTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
     $objFormParam->addParam("ポイントを使用する", "point_check", INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK"), '2');
     if ($deliv_only) {
         $objFormParam->addParam("お支払い方法", "payment_id", INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK"));
     } else {
         $objFormParam->addParam("お支払い方法", "payment_id", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
         foreach ($arrShipping as $val) {
             $objFormParam->addParam("お届け時間", "deliv_time_id" . $val['shipping_id'], INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK"));
             $objFormParam->addParam("お届け日", "deliv_date" . $val['shipping_id'], STEXT_LEN, 'KVa', array("MAX_LENGTH_CHECK"));
         }
     }
     $objFormParam->setParam($arrParam);
     $objFormParam->convParam();
 }
Ejemplo n.º 11
0
 /**
  * 入力内容のチェックを行う.
  *
  * 追加の必須チェック, 相関チェックを行うため, SC_CheckError を使用する.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @return array エラー情報の配
  */
 function lfCheckError(&$objFormParam)
 {
     // 入力値の変換
     $objFormParam->convParam();
     $objFormParam->toLower('order_mail');
     $objFormParam->toLower('order_mail_check');
     $arrParams = $objFormParam->getHashArray();
     $objErr = new SC_CheckError_Ex($arrParams);
     $objErr->arrErr = $objFormParam->checkError();
     // 別のお届け先チェック
     if (isset($arrParams['deliv_check']) && $arrParams['deliv_check'] == '1') {
         $objErr->doFunc(array(t('c_Name (last name)_01'), 'shipping_name01'), array('EXIST_CHECK'));
         $objErr->doFunc(array(t('c_Name (first name)_01'), 'shipping_name02'), array('EXIST_CHECK'));
         //            $objErr->doFunc(array(t('c_Name (last name) KANA_01'), 'shipping_kana01'), array('EXIST_CHECK'));
         //            $objErr->doFunc(array(t('c_Name (first name) KANA_01'), 'shipping_kana02'), array('EXIST_CHECK'));
         //            $objErr->doFunc(array(t('c_Postal code 1_01'), 'shipping_zip01'), array('EXIST_CHECK'));
         //            $objErr->doFunc(array(t('c_Postal code 2_01'), 'shipping_zip02'), array('EXIST_CHECK'));
         $objErr->doFunc(array(t('c_Postal code_01'), 'shipping_zipcode'), array('EXIST_CHECK'));
         $objErr->doFunc(array(t('c_Address 1_01'), 'shipping_addr01'), array('EXIST_CHECK'));
         $objErr->doFunc(array(t('c_Address 2_01'), 'shipping_addr02'), array('EXIST_CHECK'));
         $objErr->doFunc(array(t('c_Telephone number 1_01'), 'shipping_tel01'), array('EXIST_CHECK'));
         $objErr->doFunc(array(t('c_Telephone number 2_01'), 'shipping_tel02'), array('EXIST_CHECK'));
         $objErr->doFunc(array(t('c_Telephone number 3_01'), 'shipping_tel03'), array('EXIST_CHECK'));
     }
     // 複数項目チェック
     $objErr->doFunc(array(t('c_TEL_01'), 'order_tel01', 'order_tel02', 'order_tel03'), array('TEL_CHECK'));
     $objErr->doFunc(array(t('c_FAX_01'), 'order_fax01', 'order_fax02', 'order_fax03'), array('TEL_CHECK'));
     //        $objErr->doFunc(array(t('c_Postal code_01'), 'order_zip01', 'order_zip02'), array('ALL_EXIST_CHECK'));
     $objErr->doFunc(array(t('c_TEL_01'), 'shipping_tel01', 'shipping_tel02', 'shipping_tel03'), array('TEL_CHECK'));
     //        $objErr->doFunc(array(t('c_Postal code_01'), 'shipping_zip01', 'shipping_zip02'), array('ALL_EXIST_CHECK'));
     $objErr->doFunc(array(t('c_Date of birth_01'), 'year', 'month', 'day'), array('CHECK_BIRTHDAY'));
     $objErr->doFunc(array(t('c_E-mail address_01'), t('c_E-mail address (confirmation)_01'), 'order_email', 'order_email02'), array('EQUAL_CHECK'));
     return $objErr->arrErr;
 }
 /**
  * 入力チェックを行う.
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @return array エラー情報の配列
  */
 function lfCheckError(&$objFormParam)
 {
     $objCartSess = new SC_CartSession_Ex();
     $objFormParam->convParam();
     // 数量未入力は0に置換
     $objFormParam->setValue('quantity', $objFormParam->getValue('quantity', 0));
     $arrErr = $objFormParam->checkError();
     $arrParams = $objFormParam->getSwapArray();
     if (empty($arrErr)) {
         foreach ($arrParams as $index => $arrParam) {
             // 数量0で、お届け先を選択している場合
             if ($arrParam['quantity'] == 0 && !SC_Utils_Ex::isBlank($arrParam['shipping'])) {
                 $arrErr['shipping'][$index] = t('c_* When the quantity is 0, it is not possible to enter a shipping destination.<br />_01');
             }
             // 数量の入力があり、お届け先を選択していない場合
             if ($arrParam['quantity'] > 0 && SC_Utils_Ex::isBlank($arrParam['shipping'])) {
                 $arrErr['shipping'][$index] = t('c_* The shipping destination has not been entered.<br />_01');
             }
         }
     }
     // 入力エラーが無い場合、カゴの中身との数量の整合を確認
     if (empty($arrErr)) {
         $arrQuantity = array();
         // 入力内容を集計
         foreach ($arrParams as $arrParam) {
             $product_class_id = $arrParam['product_class_id'];
             $arrQuantity[$product_class_id] += $arrParam['quantity'];
         }
         // カゴの中身と突き合わせ
         $cartLists =& $objCartSess->getCartList($objCartSess->getKey());
         foreach ($cartLists as $arrCartRow) {
             $product_class_id = $arrCartRow['id'];
             // 差異がある場合、エラーを記録
             if ($arrCartRow['quantity'] != $arrQuantity[$product_class_id]) {
                 foreach ($arrParams as $index => $arrParam) {
                     if ($arrParam['product_class_id'] == $product_class_id) {
                         $arrErr['quantity'][$index] = t('c_* Use T_ARG1 for the total quantity.<br />_01', array('T_ARG1' => $arrCartRow['quantity']));
                     }
                 }
             }
         }
     }
     return $arrErr;
 }
Ejemplo n.º 13
0
 /**
  * パラメーター情報の初期化
  *
  * @param SC_FormParam $objFormParam
  * @return array
  */
 public function lfInitParam(SC_FormParam &$objFormParam)
 {
     $objFormParam->addParam('規格1', 'classcategory_id1', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('規格2', 'classcategory_id2', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('数量', 'quantity', INT_LEN, 'n', array('EXIST_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('管理者ログイン', 'admin', INT_LEN, 'a', array('ALNUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('商品ID', 'product_id', INT_LEN, 'n', array('EXIST_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('お気に入り商品ID', 'favorite_product_id', INT_LEN, 'n', array('ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('商品規格ID', 'product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     // 値の取得
     $objFormParam->setParam($_REQUEST);
     // 入力値の変換
     $objFormParam->convParam();
     // 入力情報を渡す
     return $objFormParam->getFormParamList();
 }
Ejemplo n.º 14
0
 /**
  * 会員エラーチェック共通
  *
  * @param SC_FormParam $objFormParam SC_FormParam インスタンス
  * @access private
  * @return array エラー情報の配列
  */
 function sfCustomerCommonErrorCheck(&$objFormParam)
 {
     $objFormParam->convParam();
     $objFormParam->toLower('email');
     $objFormParam->toLower('email02');
     $arrParams = $objFormParam->getHashArray();
     // 入力データを渡す。
     $objErr = new SC_CheckError_Ex($arrParams);
     $objErr->arrErr = $objFormParam->checkError();
     $objErr->doFunc(array(t('c_Telephone number_01'), 'tel01', 'tel02', 'tel03'), array('TEL_CHECK'));
     $objErr->doFunc(array(t('c_Fax number_01'), 'fax01', 'fax02', 'fax03'), array('TEL_CHECK'));
     //        $objErr->doFunc(array(t('c_Postal code_01'), 'zip01', 'zip02'), array('ALL_EXIST_CHECK'));
     return $objErr;
 }
Ejemplo n.º 15
0
 /**
  * フォームパラメータの初期化
  *
  * @return SC_FormParam
  */
 function initParam()
 {
     $objForm = new SC_FormParam();
     $objForm->addParam('お届け先ID', 'other_deliv_id', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objForm->setParam($_POST);
     $objForm->convParam();
     return $objForm;
 }