function makeTempFile($keyname, $rename = IMAGE_RENAME) { $objErr = new SC_CheckError(); $cnt = 0; $arrKeyname = array_flip($this->keyname); if (!($_FILES[$keyname]['size'] > 0)) { $objErr->arrErr[$keyname] = "※ " . $this->disp_name[$arrKeyname[$keyname]] . "がアップロードされていません。<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])) { // 画像ファイルの場合 if ($this->image[$cnt]) { // 保存用の画像名を取得する $dst_file = $this->lfGetTmpImageName($rename, $keyname); $this->temp_file[$cnt] = $this->makeThumb($_FILES[$keyname]['tmp_name'], $this->width[$cnt], $this->height[$cnt], $dst_file); // 画像ファイル以外の場合 } else { // 一意なファイル名を作成する。 if ($rename) { $uniqname = date("mdHi") . "_" . uniqid("") . "."; $this->temp_file[$cnt] = ereg_replace("^.*\\.", $uniqname, $_FILES[$keyname]['name']); } else { $this->temp_file[$cnt] = $_FILES[$keyname]['name']; } $result = copy($_FILES[$keyname]['tmp_name'], $this->temp_dir . $this->temp_file[$cnt]); GC_Utils_Ex::gfPrintLog($_FILES[$keyname]['name'] . " -> " . $this->temp_dir . $this->temp_file[$cnt]); } } } $cnt++; } } return $objErr->arrErr[$keyname]; }
function lfErrorCheck() { $objErr = new SC_CheckError(); $objErr->doFunc(array("商品ID", "product_id", INT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("投稿者名", "reviewer_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("URL", "reviewer_url", MTEXT_LEN), array("NO_SPTAB", "SPTAB_CHECK", "MAX_LENGTH_CHECK", "URL_CHECK")); $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")); if (REVIEW_ALLOW_URL == false) { // コメント欄へのURLの入力を禁止 $objErr->doFunc(array("URL", "comment", $this->arrReviewDenyURL), array("PROHIBITED_STR_CHECK")); } return $objErr->arrErr; }
function lfCheckError() { // DBのデータを取得 $arrPaymentData = $this->lfGetData($_POST['payment_id']); // 手数料を設定できない場合には、手数料を0にする if ($arrPaymentData["charge_flg"] == 2) { $this->objFormParam->setValue("charge", "0"); } // 入力データを渡す。 $arrRet = $this->objFormParam->getHashArray(); $objErr = new SC_CheckError($arrRet); $objErr->arrErr = $this->objFormParam->checkError(); // 利用条件(下限)チェック if ($arrRet["rule"] < $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", "upper_rule"), array("GREATER_CHECK")); return $objErr->arrErr; }
/** * 入力項目のエラーチェックを行う. * * @param array $array エラーチェック対象データ * @return array エラー内容 */ function lfErrorCheck($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("メタタグ:Author", "author", STEXT_LEN), array("MAX_LENGTH_CHECK")); $objErr->doFunc(array("メタタグ:Description", "description", STEXT_LEN), array("MAX_LENGTH_CHECK")); $objErr->doFunc(array("メタタグ:Keywords", "keyword", STEXT_LEN), array("MAX_LENGTH_CHECK")); return $objErr->arrErr; }
function lfErrorCheck3($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK", "NUM_CHECK")); $objErr->doFunc(array("市区町村", "addr01", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("番地", "addr02", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("電話番号1", 'tel01'), array("EXIST_CHECK", "SPTAB_CHECK")); $objErr->doFunc(array("電話番号2", 'tel02'), array("EXIST_CHECK", "SPTAB_CHECK")); $objErr->doFunc(array("電話番号3", 'tel03'), array("EXIST_CHECK", "SPTAB_CHECK")); $objErr->doFunc(array("電話番号", "tel01", "tel02", "tel03", TEL_ITEM_LEN), array("TEL_CHECK")); return $objErr->arrErr; }
function lfCheckError($id) { // 入力データを渡す。 $objErr = new SC_CheckError(); $classcategory_id1 = "classcategory_id" . $id . "_1"; $classcategory_id2 = "classcategory_id" . $id . "_2"; $quantity = "quantity" . $id; // 複数項目チェック if ($this->tpl_classcat_find1[$id]) { $objErr->doFunc(array("規格1", $classcategory_id1, INT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); } if ($this->tpl_classcat_find2[$id]) { $objErr->doFunc(array("規格2", $classcategory_id2, INT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); } $objErr->doFunc(array("個数", $quantity, INT_LEN), array("EXIST_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); return $objErr->arrErr; }
function Lfcheckerror($data) { $objErr = new SC_CheckError(); $objErr->doFunc(array("出力項目", "output_list"), array("EXIST_CHECK")); return $objErr->arrErr; }
function lfCheckError($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("ブログ名", "blog_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("ブログ記事タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("ブログ記事内容", "excerpt", LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("ブログURL", "url", URL_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("状態", "status"), array("SELECT_CHECK")); return $objErr->arrErr; }
function lfErrorCheck($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("商品名", "name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("一覧-メインコメント", "main_list_comment", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("詳細-メインコメント", "main_comment", LLTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("詳細-メインコメント", "main_comment", $this->arrAllowedTag), array("HTML_TAG_CHECK")); $objErr->doFunc(array("ポイント付与率", "point_rate", PERCENTAGE_LEN), array("EXIST_CHECK", "NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("商品送料", "deliv_fee", PRICE_LEN), array("NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("備考欄(SHOP専用)", "note", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("検索ワード", "comment3", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("メーカーURL", "comment1", URL_LEN), array("SPTAB_CHECK", "URL_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("発送日目安", "deliv_date_id", INT_LEN), array("NUM_CHECK")); if ($this->tpl_nonclass) { $objErr->doFunc(array("商品コード", "product_code", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("通常価格", "price01", PRICE_LEN), array("ZERO_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("商品価格", "price02", PRICE_LEN), array("EXIST_CHECK", "NUM_CHECK", "ZERO_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); if (!isset($array['stock_unlinited']) && $array['stock_unlimited'] != "1") { $objErr->doFunc(array("在庫数", "stock", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); } } if (!isset($array['sale_unlimited']) && $array['sale_unlimited'] != "1") { $objErr->doFunc(array("購入制限", "sale_limit", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); } for ($cnt = 1; $cnt <= PRODUCTSUB_MAX; $cnt++) { $objErr->doFunc(array("詳細-サブタイトル{$cnt}", "sub_title{$cnt}", STEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("詳細-サブコメント{$cnt}", "sub_comment{$cnt}", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("詳細-サブコメント{$cnt}", "sub_comment{$cnt}", $this->arrAllowedTag), array("HTML_TAG_CHECK")); } for ($cnt = 1; $cnt <= RECOMMEND_PRODUCT_MAX; $cnt++) { if (!isset($_POST["recommend_delete{$cnt}"])) { $_POST["recommend_delete{$cnt}"] = ""; } if (isset($_POST["recommend_id{$cnt}"]) && $_POST["recommend_id{$cnt}"] != "" && $_POST["recommend_delete{$cnt}"] != 1) { $objErr->doFunc(array("おすすめ商品コメント{$cnt}", "recommend_comment{$cnt}", LTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); } } // カテゴリID のチェック if (empty($array['category_id'])) { $objErr->arrErr['category_id'] = "※ 商品カテゴリが選択されていません。<br />"; } else { $arrCategory_id = array(); for ($i = 0; $i < count($array['category_id']); $i++) { $arrCategory_id['category_id' . $i] = $array['category_id'][$i]; } $objCheckCategory = new SC_CheckError($arrCategory_id); for ($i = 0; $i < count($array['category_id']); $i++) { $objCheckCategory->doFunc(array("商品カテゴリ", "category_id" . $i, STEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); } if (!empty($objCheckCategory->arrErr)) { $objErr->arrErr = array_merge($objErr->arrErr, $objCheckCategory->arrErr); } } return $objErr->arrErr; }
function lfCheckWebError($objFormParam) { // 入力データを渡す。 $arrRet = $objFormParam->getHashArray(); $objErr = new SC_CheckError($arrRet); $objErr->arrErr = $objFormParam->checkError(); // ディレクトリ名のみ取得する $normal_dir = ereg_replace("^https?://[a-zA-Z0-9_~=&\\?\\.\\-]+", "", $arrRet['normal_url']); $secure_dir = ereg_replace("^https?://[a-zA-Z0-9_~=&\\?\\.\\-]+", "", $arrRet['secure_url']); if ($normal_dir != $secure_dir) { $objErr->arrErr['normal_url'] = "URLに異なる階層を指定することはできません。"; $objErr->arrErr['secure_url'] = "URLに異なる階層を指定することはできません。"; } // ログインIDチェック $objErr->doFunc(array("管理者:ログインID", 'login_id', ID_MIN_LEN, ID_MAX_LEN), array("SPTAB_CHECK", "NUM_RANGE_CHECK")); // パスワードのチェック $objErr->doFunc(array("管理者:パスワード", 'login_pass', ID_MIN_LEN, ID_MAX_LEN), array("SPTAB_CHECK", "NUM_RANGE_CHECK")); return $objErr->arrErr; }
function lfErrorCheck($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("会員状態", 'status'), array("EXIST_CHECK")); $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("フリガナ(姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); $objErr->doFunc(array("フリガナ(名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN), array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN), array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK", "NUM_CHECK")); $objErr->doFunc(array("ご住所(1)", "addr01", MTEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("ご住所(2)", "addr02", MTEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); //現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 if (strlen($array["email"]) > 0) { $array['email'] = strtolower($array['email']); $sql = "SELECT customer_id FROM dtb_customer WHERE email ILIKE ? escape '#' AND (status = 1 OR status = 2) AND del_flg = 0 AND customer_id <> ?"; $checkMail = ereg_replace("_", "#_", $array["email"]); $result = $this->objConn->getAll($sql, array($checkMail, $array["customer_id"])); if (count($result) > 0) { $objErr->arrErr["email"] .= "※ すでに登録されているメールアドレスです。"; } } $objErr->doFunc(array('メールアドレス(モバイル)', "email_mobile", MTEXT_LEN), array("EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); //現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 if (strlen($array["email_mobile"]) > 0) { $array['email_mobile'] = strtolower($array['email_mobile']); $sql = "SELECT customer_id FROM dtb_customer WHERE email_mobile ILIKE ? escape '#' AND (status = 1 OR status = 2) AND del_flg = 0 AND customer_id <> ?"; $checkMail = ereg_replace("_", "#_", $array["email_mobile"]); $result = $this->objConn->getAll($sql, array($checkMail, $array["customer_id"])); if (count($result) > 0) { $objErr->arrErr["email_mobile"] .= "※ すでに登録されているメールアドレス(モバイル)です。"; } } $objErr->doFunc(array("お電話番号1", 'tel01'), array("EXIST_CHECK")); $objErr->doFunc(array("お電話番号2", 'tel02'), array("EXIST_CHECK")); $objErr->doFunc(array("お電話番号3", 'tel03'), array("EXIST_CHECK")); $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03", TEL_LEN), array("TEL_CHECK")); $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03", TEL_LEN), array("TEL_CHECK")); $objErr->doFunc(array("ご性別", "sex"), array("SELECT_CHECK", "NUM_CHECK")); $objErr->doFunc(array("ご職業", "job"), array("NUM_CHECK")); if ($array["password"] != DEFAULT_PASSWORD) { $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "ALNUM_CHECK", "NUM_RANGE_CHECK")); } $objErr->doFunc(array("パスワードを忘れたときのヒント 質問", "reminder"), array("SELECT_CHECK", "NUM_CHECK")); $objErr->doFunc(array("パスワードを忘れたときのヒント 答え", "reminder_answer", STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("メールマガジン", "mailmaga_flg"), array("SELECT_CHECK", "NUM_CHECK")); $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_DATE")); $objErr->doFunc(array("SHOP用メモ", 'note', LTEXT_LEN), array("MAX_LENGTH_CHECK")); $objErr->doFunc(array("所持ポイント", "point", TEL_LEN), array("MAX_LENGTH_CHECK", "NUM_CHECK")); return $objErr->arrErr; }
function lfCheckError() { $objErr = new SC_CheckError(); if (!isset($_POST['mode'])) { $_POST['mode'] = ""; } switch ($_POST['mode']) { 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; }
function fnErrorCheck() { // エラーメッセージ配列の初期化 $objErr = new SC_CheckError($array); // 郵便番号 $objErr->doFunc(array("郵便番号1", 'zip1', ZIP01_LEN), array("NUM_COUNT_CHECK")); $objErr->doFunc(array("郵便番号2", 'zip2', ZIP02_LEN), array("NUM_COUNT_CHECK")); // 親ウィンドウの戻り値を格納するinputタグのnameのエラーチェック if (!$this->lfInputNameCheck($array['input1'])) { $objErr->arrErr['input1'] = "※ 入力形式が不正です。<br />"; } if (!$this->lfInputNameCheck($array['input2'])) { $objErr->arrErr['input2'] = "※ 入力形式が不正です。<br />"; } return $objErr->arrErr; }
function lfErrorCheck() { $objErr = new SC_CheckError(); $objErr->doFunc(array("メールアドレス", "login_email", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "EMAIL_CHECK", "MAX_LENGTH_CHECK")); $objErr->dofunc(array("パスワード", "login_password", PASSWORD_LEN2), array("EXIST_CHECK", "ALNUM_CHECK")); return $objErr->arrErr; }
function lfCheckWebError($objWebParam) { // 入力データを渡す。 $arrRet = $objWebParam->getHashArray(); $objErr = new SC_CheckError($arrRet); $objErr->arrErr = $objWebParam->checkError(); // ディレクトリ名のみ取得する $normal_dir = preg_replace('|^https?://[a-zA-Z0-9_~=&\\?\\.\\-]+|', '', $arrRet['normal_url']); $secure_dir = preg_replace('|^https?://[a-zA-Z0-9_~=&\\?\\.\\-]+|', '', $arrRet['secure_url']); if ($normal_dir != $secure_dir) { $objErr->arrErr['normal_url'] = '※ URLに異なる階層を指定することはできません。'; $objErr->arrErr['secure_url'] = '※ URLに異なる階層を指定することはできません。'; } // ログインIDチェック $objErr->doFunc(array('管理者:ログインID', 'login_id', ID_MIN_LEN, ID_MAX_LEN), array('SPTAB_CHECK', 'NUM_RANGE_CHECK')); // パスワードのチェック $objErr->doFunc(array('管理者:パスワード', 'login_pass', ID_MIN_LEN, ID_MAX_LEN), array('SPTAB_CHECK', 'NUM_RANGE_CHECK')); // 管理機能ディレクトリのチェック $objErr->doFunc(array('管理機能:ディレクトリ', 'admin_dir', ID_MIN_LEN, ID_MAX_LEN), array('SPTAB_CHECK', 'NUM_RANGE_CHECK')); $oldAdminDir = SC_Utils_Ex::sfTrimURL(ADMIN_DIR); $newAdminDir = $objWebParam->getValue('admin_dir'); if ($oldAdminDir !== $newAdminDir and file_exists(HTML_REALDIR . $newAdminDir) and $newAdminDir != 'admin') { $objErr->arrErr['admin_dir'] = '※ 指定した管理機能ディレクトリは既に存在しています。別の名前を指定してください。'; } return $objErr->arrErr; }
function lfCheckError() { // 入力データを渡す。 $arrRet = $this->objFormParam->getHashArray(); $objErr = new SC_CheckError($arrRet); $objErr->arrErr = $this->objFormParam->checkError(); // 特殊項目チェック $objErr->doFunc(array("注文番号1", "注文番号2", "search_order_id1", "search_order_id2"), array("GREATER_CHECK")); $objErr->doFunc(array("年齢1", "年齢2", "search_age1", "search_age2"), array("GREATER_CHECK")); $objErr->doFunc(array("購入金額1", "購入金額2", "search_total1", "search_total2"), array("GREATER_CHECK")); $objErr->doFunc(array("開始日", "search_sorderyear", "search_sordermonth", "search_sorderday"), array("CHECK_DATE")); $objErr->doFunc(array("終了日", "search_eorderyear", "search_eordermonth", "search_eorderday"), array("CHECK_DATE")); $objErr->doFunc(array("開始日", "終了日", "search_sorderyear", "search_sordermonth", "search_sorderday", "search_eorderyear", "search_eordermonth", "search_eorderday"), array("CHECK_SET_TERM")); $objErr->doFunc(array("開始日", "search_supdateyear", "search_supdatemonth", "search_supdateday"), array("CHECK_DATE")); $objErr->doFunc(array("終了日", "search_eupdateyear", "search_eupdatemonth", "search_eupdateday"), array("CHECK_DATE")); $objErr->doFunc(array("開始日", "終了日", "search_supdateyear", "search_supdatemonth", "search_supdateday", "search_eupdateyear", "search_eupdatemonth", "search_eupdateday"), array("CHECK_SET_TERM")); $objErr->doFunc(array("開始日", "search_sbirthyear", "search_sbirthmonth", "search_sbirthday"), array("CHECK_DATE")); $objErr->doFunc(array("終了日", "search_ebirthyear", "search_ebirthmonth", "search_ebirthday"), array("CHECK_DATE")); $objErr->doFunc(array("開始日", "終了日", "search_sbirthyear", "search_sbirthmonth", "search_sbirthday", "search_ebirthyear", "search_ebirthmonth", "search_ebirthday"), array("CHECK_SET_TERM")); return $objErr->arrErr; }
/** * エラーチェックを行う. * * @access private * @return void */ function errorCheck() { $objErr = new SC_CheckError($this->arrForm); for ($i = 0; $i < count($this->arrKeys); $i++) { $objErr->doFunc(array($this->arrKeys[$i], $this->arrForm[$this->arrKeys[$i]]), array("EXIST_CHECK_REVERSE", "EVAL_CHECK")); } return $objErr->arrErr; }
function lfCheckError() { // 入力データを渡す。 $arrRet = $this->objFormParam->getHashArray(); $objErr = new SC_CheckError($arrRet); $objErr->arrErr = $this->objFormParam->checkError(); // 特殊項目チェック if ($_POST['form'] == 1) { $objErr->doFunc(array("月度", "search_startyear_m"), array("ONE_EXIST_CHECK")); } if ($_POST['form'] == 2) { $objErr->doFunc(array("期間", "search_startyear", "search_endyear"), array("ONE_EXIST_CHECK")); } $objErr->doFunc(array("月度", "search_startyear_m", "search_startmonth_m"), array("ALL_EXIST_CHECK")); $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")); return $objErr->arrErr; }
function lfMailErrorCheck($array, $dataName, &$objConn) { $objErr = new SC_CheckError($array); $objErr->doFunc(array('メールアドレス', $dataName, MTEXT_LEN), array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK", "MOBILE_EMAIL_CHECK")); // 入力エラーがなければ if (count($objErr->arrErr) == 0) { // メルマガの登録有無 $flg = $this->lfIsRegistData($array[$dataName], $objConn); // 登録の時 if ($dataName == 'regist' and $flg == true) { $objErr->arrErr[$dataName] = "既に登録されています。<br>"; // 解除の時 } elseif ($dataName == 'cancel' and $flg == false) { $objErr->arrErr[$dataName] = "メルマガ登録がされていません。<br>"; } } return $objErr->arrErr; }
/** * エラーチェック * * @param array FormParam の配列 * @return array エラー情報の配列 **/ function lfErrorCheck($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("フリガナ(セイ)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); $objErr->doFunc(array("フリガナ(メイ)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN), array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN), array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK", "NUM_CHECK")); $objErr->doFunc(array("ご住所1", "addr01", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("ご住所2", "addr02", MTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("お電話番号1", 'tel01'), array("EXIST_CHECK", "NUM_CHECK")); $objErr->doFunc(array("お電話番号2", 'tel02'), array("EXIST_CHECK", "NUM_CHECK")); $objErr->doFunc(array("お電話番号3", 'tel03'), array("EXIST_CHECK", "NUM_CHECK")); $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array('メールアドレス(確認)', "email02", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02"), array("EQUAL_CHECK")); $objErr->arrErr["option"] = array_map(array($this, "lfCheckNull"), (array) $_POST['option']); return $objErr->arrErr; }
function lfErrorCheck($campaign_id = "", &$objQuery, &$objFormParam) { $arrList = $objFormParam->getHashArray(); $objErr = new SC_CheckError($arrList); $objErr->arrErr = $objFormParam->checkError(); $objErr->doFunc(array("開始日時", "start_year", "start_month", "start_day", "start_hour", "start_minute", "0"), array("CHECK_DATE2")); $objErr->doFunc(array("停止日時", "end_year", "end_month", "end_day", "end_hour", "end_minute", "0"), array("CHECK_DATE2")); $objErr->doFunc(array("開始日時", "停止日時", "start_year", "start_month", "start_day", "start_hour", "start_minute", "00", "end_year", "end_month", "end_day", "end_hour", "end_minute", "59"), array("CHECK_SET_TERM2")); if (!is_writable(CAMPAIGN_TEMPLATE_PATH)) { $objErr->arrErr['campaign_template_path'] = "※" . CAMPAIGN_TEMPLATE_PATH . " へ書き込み権限を与えてください。 <br/>"; } if (!is_writable(CAMPAIGN_PATH)) { $objErr->arrErr['campaign_path'] = "※" . CAMPAIGN_PATH . " へ書き込み権限を与えてください。<br/>"; } if (count($objErr->arrErr) <= 0) { // 編集時用に元のディレクトリ名を取得する。 if ($campaign_id != "") { $directory_name = $objQuery->get("dtb_campaign", "directory_name", "campaign_id = ?", array($campaign_id)); } else { $directory_name = ""; } // 同名のフォルダが存在する場合はエラー if (file_exists(CAMPAIGN_TEMPLATE_PATH . $arrList['directory_name']) && $directory_name != $arrList['directory_name']) { $objErr->arrErr['directory_name'] = "※ 同名のディレクトリがすでに存在します。<br/>"; } $ret = $objQuery->get("dtb_campaign", "directory_name", "directory_name = ? AND del_flg = 0", array($arrList['directory_name'])); // DBにすでに登録されていないかチェック if ($ret != "" && $directory_name != $arrList['directory_name']) { $objErr->arrErr['directory_name'] = "※ すでに登録されているディレクトリ名です。<br/>"; } } return $objErr->arrErr; }
function lfErrorCheck() { $objErr = new SC_CheckError(); $objErr->doFunc(array("分類名", "name", STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); if (!isset($objErr->arrErr['name'])) { $objQuery = new SC_Query(); $where = "class_id = ? AND name = ?"; $arrRet = $objQuery->select("classcategory_id, name", "dtb_classcategory", $where, array($_GET['class_id'], $_POST['name'])); // 編集中のレコード以外に同じ名称が存在する場合 if ($arrRet[0]['classcategory_id'] != $_POST['classcategory_id'] && $arrRet[0]['name'] == $_POST['name']) { $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>"; } } return $objErr->arrErr; }
function lfErrorCheck() { $objErr = new SC_CheckError(); $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("フリガナ(姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); $objErr->doFunc(array("フリガナ(名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK")); $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN), array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN), array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK", "NUM_CHECK")); $objErr->doFunc(array("ご住所(1)", "addr01", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("ご住所(2)", "addr02", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("お電話番号1", 'tel01'), array("EXIST_CHECK", "NUM_CHECK")); $objErr->doFunc(array("お電話番号2", 'tel02'), array("EXIST_CHECK", "NUM_CHECK")); $objErr->doFunc(array("お電話番号3", 'tel03'), array("EXIST_CHECK", "NUM_CHECK")); $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03", TEL_LEN), array("TEL_CHECK")); return $objErr->arrErr; }
/** * 入力項目のエラーチェックを行う. * * @param array $arrData 入力データ * @return array エラー情報 */ function lfErrorCheck($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("名称", "page_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("URL", "url", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); // URLチェック if (substr(strrev(trim($array['url'])), 0, 1) == "/") { $objErr->arrErr['url'] = "※ URLを正しく入力してください。<br />"; } $check_url = USER_URL . $array['url'] . ".php"; if (strlen($array['url']) > 0 && !ereg("^https?://+(\$|[a-zA-Z0-9:_~=&\\?\\.\\/-])+\$", $check_url)) { $objErr->arrErr['url'] = "※ URLを正しく入力してください。<br />"; } // 同一のURLが存在している場合にはエラー if (!isset($objErr->arrErr['url']) and $array['url'] !== '') { // URLのチェック(プレビュー用のレコードは含まない) $arrChk = $this->objLayout->lfgetPageData(" url = ? AND page_id <> 0", array(USER_URL . $array['url'] . ".php")); if (count($arrChk[0]) >= 1 and $arrChk[0]['page_id'] != $array['page_id']) { $objErr->arrErr['url'] = '※ 同じURLのデータが存在しています。別のURLを付けてください。<br />'; } } return $objErr->arrErr; }
function fnErrorCheck($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("テンプレート", 'template_id'), array("EXIST_CHECK")); $objErr->doFunc(array("メールタイトル", 'subject', MTEXT_LEN, "BIG"), array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("ヘッダー", 'header', LTEXT_LEN, "BIG"), array("MAX_LENGTH_CHECK")); $objErr->doFunc(array("フッター", 'footer', LTEXT_LEN, "BIG"), array("MAX_LENGTH_CHECK")); return $objErr->arrErr; }
function lfCheckError($array) { $objErr = new SC_CheckError($array); $objErr->doFunc(array("顧客コード", "customer_id", INT_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("都道府県", "pref", 2), array("NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("顧客名", "name", STEXT_LEN), array("MAX_LENGTH_CHECK")); $objErr->doFunc(array("顧客名(カナ)", "kana", STEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANABLANK_CHECK")); $objErr->doFunc(array("誕生日(開始日)", "b_start_year", "b_start_month", "b_start_day"), array("CHECK_DATE")); $objErr->doFunc(array("誕生日(終了日)", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_DATE")); $objErr->doFunc(array("誕生日(開始日)", "誕生日(終了日)", "b_start_year", "b_start_month", "b_start_day", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_SET_TERM")); $objErr->doFunc(array("誕生月", "birth_month", 2), array("NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array('メールアドレス', "email", STEXT_LEN), array("EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array('携帯メールアドレス', "email_mobile", STEXT_LEN), array("EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("電話番号", "tel", TEL_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("購入金額(開始)", "buy_total_from", INT_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("購入金額(終了)", "buy_total_to", INT_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); if (is_numeric($array["buy_total_from"]) && is_numeric($array["buy_total_to"]) && $array["buy_total_from"] > $array["buy_total_to"]) { $objErr->arrErr["buy_total_from"] .= "※ 購入金額の指定範囲が不正です。"; } $objErr->doFunc(array("購入回数(開始)", "buy_times_from", INT_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("購入回数(終了)", "buy_times_to", INT_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK")); if (is_numeric($array["buy_times_from"]) && is_numeric($array["buy_times_to"]) && $array["buy_times_from"] > $array["buy_times_to"]) { $objErr->arrErr["buy_times_from"] .= "※ 購入回数の指定範囲が不正です。"; } $objErr->doFunc(array("登録・更新日(開始日)", "start_year", "start_month", "start_day"), array("CHECK_DATE")); $objErr->doFunc(array("登録・更新日(終了日)", "end_year", "end_month", "end_day"), array("CHECK_DATE")); $objErr->doFunc(array("登録・更新日(開始日)", "登録・更新日(終了日)", "start_year", "start_month", "start_day", "end_year", "end_month", "end_day"), array("CHECK_SET_TERM")); $objErr->doFunc(array("表示件数", "page_rows", 3), array("NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array("最終購入日(開始日)", "buy_start_year", "buy_start_month", "buy_start_day"), array("CHECK_DATE")); //最終購入日(開始日) $objErr->doFunc(array("最終購入(終了日)", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_DATE")); //最終購入日(終了日) //購入金額(from) > 購入金額(to) の場合はエラーとする $objErr->doFunc(array("最終購入日(開始日)", "登録・更新日(終了日)", "buy_start_year", "buy_start_month", "buy_start_day", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_SET_TERM")); $objErr->doFunc(array("購入商品コード", "buy_product_code", STEXT_LEN), array("MAX_LENGTH_CHECK")); //購入商品コード $objErr->doFunc(array("購入商品名", "buy_product_name", STEXT_LEN), array("MAX_LENGTH_CHECK")); //購入商品名称 return $objErr->arrErr; }
function lfProductClassError($array) { $objErr = new SC_CheckError($array); $no = 1; // FIXME 未定義変数の修正 while ($array["classcategory_id1:" . $no] != "") { if ($array["check:" . $no] == 1) { $objErr->doFunc(array("商品コード", "product_code:" . $no, STEXT_LEN), array("MAX_LENGTH_CHECK")); $objErr->doFunc(array(NORMAL_PRICE_TITLE, "price01:" . $no, PRICE_LEN), array("ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); $objErr->doFunc(array(SALE_PRICE_TITLE, "price02:" . $no, PRICE_LEN), array("EXIST_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); if ($array["stock_unlimited:" . $no] != '1') { $objErr->doFunc(array("在庫数", "stock:" . $no, AMOUNT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); } } if (count($objErr->arrErr) > 0) { $objErr->arrErr["error:" . $no] = $objErr->arrErr["product_code:" . $no]; $objErr->arrErr["error:" . $no] .= $objErr->arrErr["price01:" . $no]; $objErr->arrErr["error:" . $no] .= $objErr->arrErr["price02:" . $no]; $objErr->arrErr["error:" . $no] .= $objErr->arrErr["stock:" . $no]; } $no++; } return $objErr->arrErr; }
function lfCheckError() { // 入力データを渡す。 $arrRet = $this->objFormParam->getHashArray(); $objErr = new SC_CheckError($arrRet); $objErr->arrErr = $this->objFormParam->checkError(); // 電話番号チェック $objErr->doFunc(array("TEL", "law_tel01", "law_tel02", "law_tel03", TEL_ITEM_LEN), array("TEL_CHECK")); $objErr->doFunc(array("FAX", "law_fax01", "law_fax02", "law_fax03", TEL_ITEM_LEN), array("TEL_CHECK")); $objErr->doFunc(array("郵便番号", "law_zip01", "law_zip02"), array("ALL_EXIST_CHECK")); return $objErr->arrErr; }
/** * 会員登録編集共通の相関チェック * * @param SC_CheckError $objErr SC_CheckError インスタンス * @param boolean $isAdmin 管理画面チェック時:true * @return SC_CheckError $objErr エラー情報 */ public function sfCustomerRegisterErrorCheck(&$objErr, $isAdmin = false) { $objErr->doFunc(array('生年月日', 'year', 'month', 'day'), array('CHECK_BIRTHDAY')); $objErr->doFunc(array('パスワード', 'password', PASSWORD_MIN_LEN, PASSWORD_MAX_LEN), array('NUM_RANGE_CHECK')); if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE) { if (!$isAdmin) { $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', 'email', 'email02'), array('EQUAL_CHECK')); } $objErr->doFunc(array('パスワード', 'パスワード(確認)', 'password', 'password02'), array('EQUAL_CHECK')); } if (!$isAdmin) { // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 $objErr->doFunc(array('メールアドレス', 'email'), array('CHECK_REGIST_CUSTOMER_EMAIL')); $objErr->doFunc(array('携帯メールアドレス', 'email_mobile'), array('CHECK_REGIST_CUSTOMER_EMAIL', 'MOBILE_EMAIL_CHECK')); } return $objErr; }
function lfCheckError() { // 入力データを渡す。 $arrRet = $this->objFormParam->getHashArray(); $objErr = new SC_CheckError($arrRet); $objErr->arrErr = $this->objFormParam->checkError(); // 特殊項目チェック $objErr->doFunc(array("発行日", "year", "month", "day"), array("CHECK_DATE")); return $objErr->arrErr; }