protected function checkErrorExtended($arrParam) { $arrErr = array(); // プラグインが有効化されている事を確認 $objQuery =& SC_Query_Ex::getSingletonInstance(); $enable = $objQuery->getOne("SELECT enable FROM dtb_plugin WHERE plugin_code = 'AddProduct'"); if ($enable != PLUGIN_ENABLE_TRUE) { $arrErr['access_token'] = '※ プラグインが有効化されていません。'; return $arrErr; } // アクセストークンをチェック if (!$this->isValidToken($arrParam['access_token'])) { $arrErr['access_token'] = '※ 有効なアクセストークンではありません。'; return $arrErr; } // プラグイン設定(SSL)を取得 $plugin = SC_Plugin_Util_Ex::getPluginByPluginCode("AddProduct"); if ($plugin['free_field1'] === 'Only') { if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { // SSLアクセス } else { $arrErr['not ssl'] = '※ 必ずSSLでアクセスしてください。'; return $arrErr; } } if ($arrParam['target'] === 'classcategory') { $objErr = new SC_CheckError_Ex($arrParam); $objErr->doFunc(array('規格ID', 'class_id', INT_LEN), array('EXIST_CHECK', 'NUM_CHECK')); $arrErr[] = $objErr->arrErr; } return $arrErr; }
/** * 入力内容のチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return void */ public function lfCheckError(&$objFormParam) { $CHECK_DATE = array("CHECK_DATE"); $objErr = new SC_CheckError_Ex($objFormParam->getHashArray()); $objErr->arrErr = parent::lfCheckError($objFormParam); $objErr->doFunc(array('受注', 'search_year', 'search_month', 'search_day'), $CHECK_DATE); return $objErr->arrErr; }
public function testEXIST_CHECK_REVERSE_formがstring0() { $arrForm = array('form' => '0'); $objErr = new SC_CheckError_Ex($arrForm); $objErr->doFunc(array('form', 'EXIST_CHECK_REVERSE'), array('EXIST_CHECK_REVERSE')); $this->expected = ''; $this->actual = $objErr->arrErr['form']; $this->verify(''); }
public function testHTML_TAG_CHECK_htmlタグが含まれない場合_エラーではない() { $disp_name = $this->target_func; $arrForm = array('form' => 'htmlタグを含まないテスト文章。'); $objErr = new SC_CheckError_Ex($arrForm); $objErr->doFunc(array($disp_name, 'form', $this->arrAllowedTag), array($this->target_func)); $this->expected = ''; $this->actual = $objErr->arrErr['form']; $this->verify(''); }
public function testHTML_TAG_CHECK_htmlタグが含まれない() { $arrForm = array('form' => ' htmlを含まないテスト文章。 htmlを含まないテスト文章。 htmlを含まないテスト文章。 '); $objErr = new SC_CheckError_Ex($arrForm); $objErr->doFunc(array('HTML_TAG_CHECK', 'form', $this->arrAllowedTag), array('HTML_TAG_CHECK')); $this->expected = ''; $this->actual = $objErr->arrErr['form']; $this->verify(''); }
protected function checkErrorExtended($arrParam) { switch ($arrParam['IdType']) { case 'product_code': break; case 'product_id': case 'product_class_id': default: $objErr = new SC_CheckError_Ex($arrParam); $objErr->doFunc(array(t('c_Designated ID_01'), 'ItemId', INT_LEN), array('MAX_LENGTH_CHECK', 'NUM_CHECK')); $this->addError($objErr->arrErr); break; } }
/** * @param SC_FormParam_Ex $objFormParam */ public function lfCheckError(&$objFormParam) { $arrErr = $objFormParam->checkError(); $post = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($post); $objErr->doFunc(array('郵便番号', 'zip01', 'zip02'), array('ALL_EXIST_CHECK')); // 電話番号チェック $objErr->doFunc(array('TEL', 'tel01', 'tel02', 'tel03'), array('TEL_CHECK')); $objErr->doFunc(array('FAX', 'fax01', 'fax02', 'fax03'), array('TEL_CHECK')); return array_merge((array) $arrErr, (array) $objErr->arrErr); }
function lfCheckError($mode, &$objFormParam, $tpl_classcat_find1 = null, $tpl_classcat_find2 = null) { switch ($mode) { case 'add_favorite_sphone': case 'add_favorite': $objCustomer = new SC_Customer_Ex(); $objErr = new SC_CheckError_Ex(); $customer_id = $objCustomer->getValue('customer_id'); if (SC_Helper_DB_Ex::sfDataExists('dtb_customer_favorite_products', 'customer_id = ? AND product_id = ?', array($customer_id, $favorite_product_id))) { $objErr->arrErr['add_favorite' . $favorite_product_id] = t('c_* This product has already been added to Favorites.<br />_01'); } break; default: // 入力データを渡す。 $arrRet = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrRet); $objErr->arrErr = $objFormParam->checkError(); // 複数項目チェック if ($tpl_classcat_find1) { $objErr->doFunc(array(t('c_Standard 1_01'), 'classcategory_id1'), array('EXIST_CHECK')); } if ($tpl_classcat_find2) { $objErr->doFunc(array(t('c_Standard 2_01'), 'classcategory_id2'), array('EXIST_CHECK')); } break; } return $objErr->arrErr; }
/** * エラーチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return array エラーメッセージの配列 */ public function lfCheckError(&$objFormParam, &$arrErr) { $arrParams = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrParams); $objErr->arrErr =& $arrErr; $objErr->doFunc(array('division', 'division', STEXT_LEN), array('EXIST_CHECK')); return $objErr->arrErr; }
/** * パラメーターの妥当性検証を行う. * * @param void * @return array エラー情報の連想配列 */ function validateData(&$objFormParam, &$arrParams, $mode) { $arrErr = $objFormParam->checkError(); if (isset($arrErr) && count($arrErr) > 0) { return $arrErr; } // ログインID・パスワードの文字数チェック $objErr = new SC_CheckError_Ex(); if ($mode == 'new') { $objErr->doFunc(array('パスワード', 'password', ID_MIN_LEN, ID_MAX_LEN), array('NUM_RANGE_CHECK')); $objErr->doFunc(array('ログインID', 'login_id', ID_MIN_LEN, ID_MAX_LEN), array('NUM_RANGE_CHECK')); } elseif ($mode == 'edit') { $objErr->doFunc(array('パスワード', 'password', ID_MIN_LEN, ID_MAX_LEN), array('SPTAB_CHECK', 'NUM_RANGE_CHECK')); $objErr->doFunc(array('ログインID', 'login_id', ID_MIN_LEN, ID_MAX_LEN), array('SPTAB_CHECK', 'NUM_RANGE_CHECK')); } $objErr->doFunc(array('パスワード', 'パスワード(確認)', 'password', 'password02'), array('EQUAL_CHECK')); $arrErr = $objErr->arrErr; switch ($mode) { case 'new': // 管理者名が登録済みでないか if ($this->memberDataExists('name = ? AND del_flg = 0', $arrParams['name'])) { $arrErr['name'] = '既に登録されている名前なので利用できません。<br>'; } // ログインIDが登録済みでないか if ($this->memberDataExists('login_id = ? AND del_flg = 0', $arrParams['login_id'])) { $arrErr['login_id'] = '既に登録されているIDなので利用できません。<br>'; } break; case 'edit': // ログインIDが変更されている場合はチェックする。 if ($arrParams['login_id'] != $arrParams['old_login_id']) { // ログインIDが登録済みでないか if ($this->memberDataExists('login_id = ? AND del_flg = 0', $arrParams['login_id'])) { $arrErr['login_id'] = '既に登録されているIDなので利用できません。<br>'; } } break; } return $arrErr; }
function lfCheckError($post, $objFormParam, SC_Helper_Payment_Ex $objPayment) { // DBのデータを取得 $arrPaymentData = $objPayment->get($post['payment_id']); // 手数料を設定できない場合には、手数料を0にする if ($arrPaymentData['charge_flg'] == 2) { $objFormParam->setValue('charge', '0'); } // 入力データを渡す。 $arrRet = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrRet); $objErr->arrErr = $objFormParam->checkError(); // 利用条件(下限)チェック if ($arrRet['rule_max'] < $arrPaymentData['rule_min'] and $arrPaymentData['rule_min'] != '') { $objErr->arrErr['rule'] = '利用条件(下限)は' . $arrPaymentData['rule_min'] . '円以上にしてください。<br>'; } // 利用条件(上限)チェック if ($arrRet['upper_rule'] > $arrPaymentData['upper_rule_max'] and $arrPaymentData['upper_rule_max'] != '') { $objErr->arrErr['upper_rule'] = '利用条件(上限)は' . $arrPaymentData['upper_rule_max'] . '円以下にしてください。<br>'; } // 利用条件チェック $objErr->doFunc(array('利用条件(~円以上)', '利用条件(~円以下)', 'rule_max', 'upper_rule'), array('GREATER_CHECK')); return $objErr->arrErr; }
/** * エラーチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return array エラーメッセージの配列 */ public function lfCheckError(&$objFormParam, &$arrErr) { $arrParams = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrParams); $objErr->arrErr =& $arrErr; $objErr->doFunc(array('CSSファイル名', 'css_name', STEXT_LEN), array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK', 'FILE_NAME_CHECK_BY_NOUPLOAD')); $css_name = $objFormParam->getValue('css_name'); $old_css_name = $objFormParam->getValue('old_css_name'); $device_type_id = $objFormParam->getValue('device_type_id', DEVICE_TYPE_PC); $is_error = false; // 重複チェック if (SC_Utils_Ex::isBlank($objErr->arrErr['css_name'])) { $arrCSSList = $this->getCSSList($this->getCSSDir($device_type_id)); foreach ($arrCSSList as $val) { if ($val['css_name'] == $css_name) { if (SC_Utils_Ex::isBlank($old_css_name) || $old_css_name != $css_name) { $is_error = true; } } } if ($is_error) { $objErr->arrErr['css_name'] = '※ 同じファイル名のデータが存在しています。別の名称を付けてください。<br />'; } } return $objErr->arrErr; }
function lfCheckError($mode, &$objFormParam, $tpl_classcat_find1 = null, $tpl_classcat_find2 = null) { switch ($mode) { case 'add_favorite_sphone': case 'add_favorite': $objCustomer = new SC_Customer_Ex(); $objErr = new SC_CheckError_Ex(); $customer_id = $objCustomer->getValue('customer_id'); if (SC_Helper_DB_Ex::sfDataExists('dtb_customer_favorite_products', 'customer_id = ? AND product_id = ?', array($customer_id, $favorite_product_id))) { $objErr->arrErr['add_favorite' . $favorite_product_id] = "※ この商品は既にお気に入りに追加されています。<br />"; } break; default: // 入力データを渡す。 $arrRet = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrRet); $objErr->arrErr = $objFormParam->checkError(); // 複数項目チェック if ($tpl_classcat_find1) { $objErr->doFunc(array("規格1", "classcategory_id1"), array("EXIST_CHECK")); } if ($tpl_classcat_find2) { $objErr->doFunc(array("規格2", "classcategory_id2"), array("EXIST_CHECK")); } break; } return $objErr->arrErr; }
/** * エラーチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return array エラーメッセージの配列 */ function lfCheckError(&$objFormParam, &$arrErr) { $arrParams = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrParams); $objErr->arrErr =& $arrErr; $objErr->doFunc(array(t('c_CSS file name_01'), 'css_name', STEXT_LEN), array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK', 'FILE_NAME_CHECK_BY_NOUPLOAD')); $device_type_id = $objFormParam->getValue('device_type_id'); $css_name = $objFormParam->getValue('css_name'); $old_css_name = $objFormParam->getValue('old_css_name', $css_name); $is_error = false; // 重複チェック if (!SC_Utils_Ex::isBlank($objErr->arrErr['css_name'])) { $arrCSSList = $this->getCSSList($this->getCSSDir()); foreach ($arrCSSList as $val) { if ($val['css_name'] == $css_name) { if (SC_Utils_Ex::isBlank($old_css_name) || $old_css_name != $css_name) { $is_error = true; } } } if ($is_error) { $objErr->arrErr['css_name'] = t('c_* Data for the same file name exists. Enter a different file name.<br />_01'); } } return $objErr->arrErr; }
/** * 入力内容のチェックを行なう. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return array 入力チェック結果の配列 */ function lfCheckError(&$objFormParam) { // 入力データを渡す。 $arrForm = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrForm); $objErr->arrErr = $objFormParam->checkError(); $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', 'email', 'email02'), array('EQUAL_CHECK')); return $objErr->arrErr; }
/** * 規格選択エラーチェックを行う * * ※SC_FormParamで対応していないエラーチェックのため, SC_CheckErrorを使用している. * * @return array エラーの配列 */ function lfCheckSelectClass() { $objErr = new SC_CheckError_Ex(); $objErr->doFunc(array('規格1', 'class_id1'), array('EXIST_CHECK')); $objErr->doFunc(array('規格', 'class_id1', 'select_class_id2'), array('TOP_EXIST_CHECK')); $objErr->doFunc(array('規格1', '規格2', 'class_id1', 'class_id2'), array('DIFFERENT_CHECK')); return $objErr->arrErr; }
/** * 入力内容のチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return void */ function lfCheckError(&$objFormParam) { // 入力データを渡す。 $arrRet = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrRet); $objErr->arrErr = $objFormParam->checkError(); switch ($this->getMode()) { case 'search': $objErr->doFunc(array("投稿者", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); $objErr->doFunc(array("開始日", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); $objErr->doFunc(array("終了日", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE")); $objErr->doFunc(array("開始日", "終了日", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM")); break; case 'complete': $objErr->doFunc(array("おすすめレベル", "recommend_level"), array("SELECT_CHECK")); $objErr->doFunc(array("タイトル", 'title', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("コメント", 'comment', LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); break; } return $objErr->arrErr; }
/** * 入力内容のチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return void */ function lfCheckError(&$objFormParam) { $objErr = new SC_CheckError_Ex($objFormParam->getHashArray()); $objErr->arrErr = $objFormParam->checkError(); // 相関チェック $objErr->doFunc(array(t('c_Order number 1_01'), t('c_Order number 2_01'), 'search_order_id1', 'search_order_id2'), array('GREATER_CHECK')); $objErr->doFunc(array(t('c_Age 1_01'), t('c_Age 2_01'), 'search_age1', 'search_age2'), array('GREATER_CHECK')); $objErr->doFunc(array(t('c_Purchase amount 1_01'), t('c_Purchase amount 2_01'), 'search_total1', 'search_total2'), array('GREATER_CHECK')); // 受注日 $objErr->doFunc(array(t('c_Start_01'), 'search_sorderyear', 'search_sordermonth', 'search_sorderday'), array('CHECK_DATE')); $objErr->doFunc(array(t('c_Complete_01'), 'search_eorderyear', 'search_eordermonth', 'search_eorderday'), array('CHECK_DATE')); $objErr->doFunc(array(t('c_Start_01'), t('c_Complete_01'), 'search_sorderyear', 'search_sordermonth', 'search_sorderday', 'search_eorderyear', 'search_eordermonth', 'search_eorderday'), array('CHECK_SET_TERM')); // 更新日 $objErr->doFunc(array(t('c_Start_01'), 'search_supdateyear', 'search_supdatemonth', 'search_supdateday'), array('CHECK_DATE')); $objErr->doFunc(array(t('c_Complete_01'), 'search_eupdateyear', 'search_eupdatemonth', 'search_eupdateday'), array('CHECK_DATE')); $objErr->doFunc(array(t('c_Start_01'), t('c_Complete_01'), 'search_supdateyear', 'search_supdatemonth', 'search_supdateday', 'search_eupdateyear', 'search_eupdatemonth', 'search_eupdateday'), array('CHECK_SET_TERM')); // 生年月日 $objErr->doFunc(array(t('c_Start_01'), 'search_sbirthyear', 'search_sbirthmonth', 'search_sbirthday'), array('CHECK_DATE')); $objErr->doFunc(array(t('c_Complete_01'), 'search_ebirthyear', 'search_ebirthmonth', 'search_ebirthday'), array('CHECK_DATE')); $objErr->doFunc(array(t('c_Start_01'), t('c_Complete_01'), 'search_sbirthyear', 'search_sbirthmonth', 'search_sbirthday', 'search_ebirthyear', 'search_ebirthmonth', 'search_ebirthday'), array('CHECK_SET_TERM')); return $objErr->arrErr; }
function makeTempDownFile($keyname = 'down_file') { $objErr = new SC_CheckError_Ex(); $cnt = 0; $arrKeyname = array_flip($this->keyname); if (!($_FILES[$keyname]['size'] > 0)) { $objErr->arrErr[$keyname] = '※ ' . $this->disp_name[$arrKeyname[$keyname]] . 'がアップロードされていません。(ファイルがアップロードできない場合は、.htaccessファイルのphp_value upload_max_filesizeを調整してください)<br />'; } else { foreach ($this->keyname as $val) { // 一致したキーのファイルに情報を保存する。 if ($val == $keyname) { // 拡張子チェック $objErr->doFunc(array($this->disp_name[$cnt], $keyname, $this->arrExt[$cnt]), array('FILE_EXT_CHECK')); // ファイルサイズチェック $objErr->doFunc(array($this->disp_name[$cnt], $keyname, $this->size[$cnt]), array('FILE_SIZE_CHECK')); // エラーがない場合 if (!isset($objErr->arrErr[$keyname])) { // 一意なファイル名を作成する。 $uniqname = date('mdHi') . '_' . uniqid('') . '.'; $this->temp_file[$cnt] = preg_replace("/^.*\\./", $uniqname, $_FILES[$keyname]['name']); $result = copy($_FILES[$keyname]['tmp_name'], $this->temp_dir . $this->temp_file[$cnt]); GC_Utils_Ex::gfPrintLog($result . ' -> ' . $this->temp_dir . $this->temp_file[$cnt]); SC_Utils_Ex::extendTimeOut(); } } $cnt++; } } return $objErr->arrErr[$keyname]; }
/** * エラーチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return array エラーメッセージの配列 */ public function lfCheckError(&$objFormParam, &$arrErr, SC_Helper_Bloc_Ex &$objBloc) { $arrParams = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrParams); $objErr->arrErr =& $arrErr; $objErr->doFunc(array('ブロック名', 'bloc_name', STEXT_LEN), array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objErr->doFunc(array('ファイル名', 'filename', STEXT_LEN), array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK', 'FILE_NAME_CHECK_BY_NOUPLOAD')); $where = 'filename = ?'; $arrValues = array($arrParams['filename']); // 変更の場合は自ブロックを除外 if (!SC_Utils_Ex::isBlank($arrParams['bloc_id'])) { $where .= ' AND bloc_id <> ?'; $arrValues[] = $arrParams['bloc_id']; } $arrBloc = $objBloc->getWhere($where, $arrValues); if (!SC_Utils_Ex::isBlank($arrBloc)) { $objErr->arrErr['filename'] = '※ 同じファイル名のデータが存在しています。別のファイル名を入力してください。<br />'; } return $objErr->arrErr; }
/** * 入力エラーチェック. * * @param array $arrForm メーカー情報 * @return array $objErr->arrErr エラー内容 */ function lfErrorCheck(&$arrForm) { $objErr = new SC_CheckError_Ex($arrForm); $objErr->doFunc(array("メーカー名", 'name', SMTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); // maker_id の正当性チェック if (!empty($arrForm['maker_id'])) { $objDb = new SC_Helper_DB_Ex(); if (!SC_Utils_Ex::sfIsInt($arrForm['maker_id']) || SC_Utils_Ex::sfIsZeroFilling($arrForm['maker_id']) || !$objDb->sfIsRecord('dtb_maker', 'maker_id', array($arrForm['maker_id']))) { // maker_idが指定されていて、且つその値が不正と思われる場合はエラー $objErr->arrErr['maker_id'] = "※ メーカーIDが不正です<br />"; } } if (!isset($objErr->arrErr['name'])) { $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrMaker = array(); $arrMaker = $objQuery->select("maker_id, name", "dtb_maker", "del_flg = 0 AND name = ?", array($arrForm['name'])); // 編集中のレコード以外に同じ名称が存在する場合 if ($arrMaker[0]['maker_id'] != $arrForm['maker_id'] && $arrMaker[0]['name'] == $arrForm['name']) { $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br />"; } } return $objErr->arrErr; }
public function testNO_SPTAB_スペースを含まない() { $arrForm = array('form' => "test"); $objErr = new SC_CheckError_Ex($arrForm); $objErr->doFunc(array('NO_SPTAB', 'form'), array('NO_SPTAB')); $this->expected = ''; $this->actual = $objErr->arrErr['form']; $this->verify(''); }
/** * 入力内容のチェックを行なう. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @param integer $subtotal 購入金額の小計 * @param integer $max_point 会員の保持ポイント * @return array 入力チェック結果の配列 */ function lfCheckError(&$objFormParam, $subtotal, $max_point) { $objPurchase = new SC_Helper_Purchase_Ex(); // 入力データを渡す。 $arrForm = $objFormParam->getHashArray(); $objErr = new SC_CheckError_Ex($arrForm); $objErr->arrErr = $objFormParam->checkError(); if (USE_POINT === false) { return $objErr->arrErr; } if ($arrForm['point_check'] == '1') { $objErr->doFunc(array('ポイントを使用する', 'point_check'), array('EXIST_CHECK')); $objErr->doFunc(array('ポイント', 'use_point'), array('EXIST_CHECK')); if ($max_point == '') { $max_point = 0; } // FIXME mobile 互換のため br は閉じない... if ($arrForm['use_point'] > $max_point) { $objErr->arrErr['use_point'] = '※ ご利用ポイントが所持ポイントを超えています。<br>'; } if ($arrForm['use_point'] * POINT_VALUE > $subtotal) { $objErr->arrErr['use_point'] = '※ ご利用ポイントがご購入金額を超えています。<br>'; } // ポイント差し引き後の決済方法チェック $arrPayments = $objPurchase->getPaymentsByPaymentsId($arrForm['payment_id']); if ($arrPayments['rule_max'] > $subtotal - $arrForm['use_point'] * POINT_VALUE) { $objErr->arrErr['use_point'] = '※ 選択した支払方法では、ポイントは' . ($subtotal - $arrPayments['rule_max']) . 'ポイントまでご利用いただけます。<br>'; } } return $objErr->arrErr; }
/** * 入力されたパラメーターのエラーチェックを行う。 * @param SC_FormParam_Ex $objFormParam * @return Array エラー内容 */ public function lfCheckError(&$objFormParam) { $objErr = new SC_CheckError_Ex($objFormParam->getHashArray()); $objErr->arrErr = $objFormParam->checkError(); $objErr->doFunc(array('日付', 'year', 'month', 'day'), array('CHECK_DATE')); return $objErr->arrErr; }
/** * 入力内容のチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return array エラーメッセージの配列 */ function lfCheckError(&$objFormParam) { $arrErr = $objFormParam->checkError(); $arrForm = $objFormParam->getHashArray(); // 重複メッセージの判定 $objQuery =& SC_Query_Ex::getSingletonInstance(); $exists = $objQuery->exists('dtb_review', 'product_id = ? AND title = ? ', array($arrForm['product_id'], $arrForm['title'])); if ($exists) { $arrErr['title'] .= '重複したタイトルは登録できません。'; } if (REVIEW_ALLOW_URL == false) { $objErr = new SC_CheckError_Ex($objFormParam->getHashArray()); // コメント欄へのURLの入力を禁止 $objErr->doFunc(array('URL', 'comment', $this->arrReviewDenyURL), array('PROHIBITED_STR_CHECK')); $arrErr += $objErr->arrErr; } return $arrErr; }
/** * @param SC_FormParam_Ex $objFormParam */ public function lfGetTargetData(&$objFormParam) { $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrIndexFlag = $objFormParam->getValue('indexflag'); $arrIndexFlagNew = $objFormParam->getValue('indexflag_new'); $arrTableName = $objFormParam->getValue('table_name'); $arrColumnName = $objFormParam->getValue('column_name'); $arrTarget = array(); $message = ''; // 変更されている対象を走査 for ($i = 1; $i <= count($arrIndexFlag); $i++) { //入力値チェック $param = array('indexflag' => $arrIndexFlag[$i], 'indexflag_new' => $arrIndexFlagNew[$i], 'table_name' => $arrTableName[$i], 'column_name' => $arrColumnName[$i]); $objErr = new SC_CheckError_Ex($param); $objErr->doFunc(array('インデックス(' . $i . ')', 'indexflag', INT_LEN), array('NUM_CHECK')); $objErr->doFunc(array('インデックス変更後(' . $i . ')', 'indexflag_new', INT_LEN), array('NUM_CHECK')); $objErr->doFunc(array('インデックス変更後(' . $i . ')', 'indexflag_new', INT_LEN), array('NUM_CHECK')); $objErr->doFunc(array('テーブル名(' . $i . ')', 'table_name', STEXT_LEN), array('GRAPH_CHECK', 'EXIST_CHECK', 'MAX_LENGTH_CHECK')); $objErr->doFunc(array('カラム名(' . $i . ')', 'column_name', STEXT_LEN), array('GRAPH_CHECK', 'EXIST_CHECK', 'MAX_LENGTH_CHECK')); $arrErr = $objErr->arrErr; if (count($arrErr) != 0) { // 通常の送信ではエラーにならないはずです。 $message = "window.alert('不正なデータがあったため処理を中断しました。');"; return $message; } if ($param['indexflag'] != $param['indexflag_new']) { // 入力値がデータにある対象テーブルかのチェック if ($objQuery->exists('dtb_index_list', 'table_name = ? and column_name = ?', array($param['table_name'], $param['column_name']))) { $arrTarget[] = $param; } } } return $arrTarget; }
/** * 入力内容のチェックを行う. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return void */ function lfCheckError(&$objFormParam) { $objErr = new SC_CheckError_Ex($objFormParam->getHashArray()); $objErr->arrErr = $objFormParam->checkError(); $objErr->doFunc(array('開始日', '終了日', 'search_startyear', 'search_startmonth', 'search_startday', 'search_endyear', 'search_endmonth', 'search_endday'), array('CHECK_SET_TERM')); return $objErr->arrErr; }
/** * エラーチェックする * * @param SC_FormParam_Ex $objFormParam * @access private * @return array エラー情報の配列 */ public function lfCheckError(&$objFormParam) { $objFormParam->convParam(); $objErr = new SC_CheckError_Ex(); $objErr->arrErr = $objFormParam->checkError(); // FIXME: lfInitParam() で設定すれば良いように感じる $objErr->doFunc(array('メールアドレス', 'email_mobile'), array('CHECK_REGIST_CUSTOMER_EMAIL')); return $objErr->arrErr; }
/** * 会員検索パラメーター エラーチェック(管理画面用) * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @access public * @return array エラー配列 */ public function sfCheckErrorSearchParam(&$objFormParam) { // パラメーターの基本チェック $arrErr = $objFormParam->checkError(); // エラーチェック対象のパラメータ取得 $array = $objFormParam->getHashArray(); // 拡張エラーチェック初期化 $objErr = new SC_CheckError_Ex($array); // 拡張エラーチェック $objErr->doFunc(array('誕生日(開始日)', 'search_b_start_year', 'search_b_start_month', 'search_b_start_day'), array('CHECK_DATE')); $objErr->doFunc(array('誕生日(終了日)', 'search_b_end_year', 'search_b_end_month', 'search_b_end_day'), array('CHECK_DATE')); $objErr->doFunc(array('誕生日(開始日)', '誕生日(終了日)', 'search_b_start_year', 'search_b_start_month', 'search_b_start_day', 'search_b_end_year', 'search_b_end_month', 'search_b_end_day'), array('CHECK_SET_TERM')); $objErr->doFunc(array('登録・更新日(開始日)', 'search_start_year', 'search_start_month', 'search_start_day'), array('CHECK_DATE')); $objErr->doFunc(array('登録・更新日(終了日)', 'search_end_year', 'search_end_month', 'search_end_day'), array('CHECK_DATE')); $objErr->doFunc(array('登録・更新日(開始日)', '登録・更新日(終了日)', 'search_start_year', 'search_start_month', 'search_start_day', 'search_end_year', 'search_end_month', 'search_end_day'), array('CHECK_SET_TERM')); $objErr->doFunc(array('最終購入日(開始)', 'search_buy_start_year', 'search_buy_start_month', 'search_buy_start_day'), array('CHECK_DATE')); $objErr->doFunc(array('最終購入日(終了)', 'search_buy_end_year', 'search_buy_end_month', 'search_buy_end_day'), array('CHECK_DATE')); // 開始 > 終了 の場合はエラーとする $objErr->doFunc(array('最終購入日(開始)', '最終購入日(終了)', 'search_buy_start_year', 'search_buy_start_month', 'search_buy_start_day', 'search_buy_end_year', 'search_buy_end_month', 'search_buy_end_day'), array('CHECK_SET_TERM')); if (SC_Utils_Ex::sfIsInt($array['search_buy_total_from']) && SC_Utils_Ex::sfIsInt($array['search_buy_total_to']) && $array['search_buy_total_from'] > $array['search_buy_total_to']) { $objErr->arrErr['search_buy_total_from'] .= '※ 購入金額の指定範囲が不正です。'; } if (SC_Utils_Ex::sfIsInt($array['search_buy_times_from']) && SC_Utils_Ex::sfIsInt($array['search_buy_times_to']) && $array['search_buy_times_from'] > $array['search_buy_times_to']) { $objErr->arrErr['search_buy_times_from'] .= '※ 購入回数の指定範囲が不正です。'; } if (!SC_Utils_Ex::isBlank($objErr->arrErr)) { $arrErr = array_merge($arrErr, $objErr->arrErr); } return $arrErr; }
/** * チェック(編集) * * @param SC_FormParam $objFormParam */ static function lfCheckParam(SC_FormParam $objFormParam) { $objCheck = new SC_CheckError_Ex($objFormParam->getHashArray()); $objCheck->doFunc(array($objFormParam->getParamSetting("os_min_version", "disp_name"), $objFormParam->getParamSetting("os_max_version", "disp_name"), "os_min_version", "os_max_version"), array("GREATER_CHECK")); $objCheck->doFunc(array("画面サイズ", "display_width", "display_height"), array("ALL_EXIST_CHECK")); $objCheck->doFunc(array($objFormParam->getParamSetting("release_date", "disp_name"), "release_date_year", "release_date_month", "release_date_day"), array("CHECK_DATE")); }