/** * パラメーター情報の初期化を行う. * * @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; }
/** * 入力内容のチェックを行う. * * 追加の必須チェック, 相関チェックを行うため, 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; }
$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; }
/** * パラメーター情報の初期化を行う. * * @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(); }
/** * 入力内容のチェックを行う. * * 追加の必須チェック, 相関チェックを行うため, 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; }
/** * パラメーター情報の初期化 * * @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(); }
/** * 会員エラーチェック共通 * * @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; }
/** * フォームパラメータの初期化 * * @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; }