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('');
 }
Esempio n. 6
0
 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;
     }
 }
 /**
  * @depends testFILE_NAME_CHECK_BY_NOUPLOAD_使用できない文字が含まれている場合_エラーをセットする
  */
 public function testFILE_NAME_CHECK_BY_NOUPLOAD_他のエラーが既にセットされている場合_エラーを上書きしない()
 {
     $arrForm = array('file' => 'a/b');
     $objErr = new SC_CheckError_Ex($arrForm);
     $objErr->arrErr['file'] = $other_error = 'Unknown error.';
     $objErr->doFunc(array('label', 'file'), array('FILE_NAME_CHECK_BY_NOUPLOAD'));
     $this->expected = $other_error;
     $this->actual = $objErr->arrErr['file'];
     $this->verify();
 }
Esempio n. 8
0
 /**
  * @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;
 }
 /**
  * エラーチェックを行う.
  *
  * @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];
 }
Esempio n. 20
0
 /**
  * エラーチェックを行う.
  *
  * @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;
 }
Esempio n. 24
0
 /**
  * 入力されたパラメーターのエラーチェックを行う。
  * @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"));
 }