Пример #1
0
 /**
  * フォームパラメーター初期化
  *
  * @param  FormParam $objFormParam
  * @param  array  $arrParams    $_POST値
  * @param  string $mode         editの時は指定
  * @return void
  */
 public function initForm(&$objFormParam, &$arrParams, $mode = '')
 {
     $objFormParam->addParam('メンバーID', 'member_id', INT_LEN, 'n', array('NUM_CHECK'));
     $objFormParam->addParam('名前', 'name', STEXT_LEN, 'KV', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('所属', 'department', STEXT_LEN, 'KV', array('MAX_LENGTH_CHECK'));
     $objFormParam->addParam('ログインID', 'login_id', '', '', array('EXIST_CHECK', 'ALNUM_CHECK'));
     $objFormParam->addParam('変更前ログインID', 'old_login_id', '', '', array('ALNUM_CHECK'));
     if ($mode == 'edit' && $arrParams['password'] == DEFAULT_PASSWORD) {
         $objFormParam->addParam('パスワード', 'password', '', '', array('EXIST_CHECK'));
         $objFormParam->addParam('パスワード(確認)', 'password02', '', '', array('EXIST_CHECK'));
     } else {
         $objFormParam->addParam('パスワード', 'password', '', '', array('EXIST_CHECK', 'GRAPH_CHECK'));
         $objFormParam->addParam('パスワード(確認)', 'password02', '', '', array('EXIST_CHECK', 'GRAPH_CHECK'));
     }
     $objFormParam->addParam('権限', 'authority', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('稼働/非稼働', 'work', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('ページ', 'pageno', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->setParam($arrParams);
     $objFormParam->convParam();
 }
Пример #2
0
 /**
  * パラメーター情報の初期化
  *
  * @param  FormParam $objFormParam FormParamインスタンス
  * @param  array  $arrPost      $_POSTデータ
  * @return void
  */
 public function lfInitFormParam(&$objFormParam, $arrPost)
 {
     $objFormParam->addParam('商品ID', 'product_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('商品名', 'name', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('商品カテゴリ', 'category_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('公開・非公開', 'status', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('商品ステータス', 'product_status', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     if (!$arrPost['has_product_class']) {
         // 新規登録, 規格なし商品の編集の場合
         $objFormParam->addParam('商品種別', 'product_type_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam('ダウンロード商品ファイル名', 'down_filename', STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam('ダウンロード商品実ファイル名', 'down_realfilename', MTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam('temp_down_file', 'temp_down_file', '', '', array());
         $objFormParam->addParam('save_down_file', 'save_down_file', '', '', array());
         $objFormParam->addParam('商品コード', 'product_code', STEXT_LEN, 'KVna', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam(NORMAL_PRICE_TITLE, 'price01', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam(SALE_PRICE_TITLE, 'price02', PRICE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
         if (OPTION_PRODUCT_TAX_RULE) {
             $objFormParam->addParam('消費税率', 'tax_rate', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
         }
         $objFormParam->addParam('在庫数', 'stock', AMOUNT_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam('在庫無制限', 'stock_unlimited', INT_LEN, 'n', array('SPTAB_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     }
     $objFormParam->addParam('商品送料', 'deliv_fee', PRICE_LEN, 'n', array('NUM_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('ポイント付与率', 'point_rate', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('発送日目安', 'deliv_date_id', INT_LEN, 'n', array('NUM_CHECK'));
     $objFormParam->addParam('販売制限数', 'sale_limit', AMOUNT_LEN, 'n', array('SPTAB_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('メーカー', 'maker_id', INT_LEN, 'n', array('NUM_CHECK'));
     $objFormParam->addParam('メーカーURL', 'comment1', URL_LEN, 'a', array('SPTAB_CHECK', 'URL_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('検索ワード', 'comment3', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('備考欄(SHOP専用)', 'note', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('一覧-メインコメント', 'main_list_comment', MTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('詳細-メインコメント', 'main_comment', LLTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('save_main_list_image', 'save_main_list_image', '', '', array());
     $objFormParam->addParam('save_main_image', 'save_main_image', '', '', array());
     $objFormParam->addParam('save_main_large_image', 'save_main_large_image', '', '', array());
     $objFormParam->addParam('temp_main_list_image', 'temp_main_list_image', '', '', array());
     $objFormParam->addParam('temp_main_image', 'temp_main_image', '', '', array());
     $objFormParam->addParam('temp_main_large_image', 'temp_main_large_image', '', '', array());
     for ($cnt = 1; $cnt <= PRODUCTSUB_MAX; $cnt++) {
         $objFormParam->addParam('詳細-サブタイトル' . $cnt, 'sub_title' . $cnt, STEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam('詳細-サブコメント' . $cnt, 'sub_comment' . $cnt, LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam('save_sub_image' . $cnt, 'save_sub_image' . $cnt, '', '', array());
         $objFormParam->addParam('save_sub_large_image' . $cnt, 'save_sub_large_image' . $cnt, '', '', array());
         $objFormParam->addParam('temp_sub_image' . $cnt, 'temp_sub_image' . $cnt, '', '', array());
         $objFormParam->addParam('temp_sub_large_image' . $cnt, 'temp_sub_large_image' . $cnt, '', '', array());
     }
     for ($cnt = 1; $cnt <= RECOMMEND_PRODUCT_MAX; $cnt++) {
         $objFormParam->addParam('関連商品コメント' . $cnt, 'recommend_comment' . $cnt, LTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam('関連商品ID' . $cnt, 'recommend_id' . $cnt, INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->addParam('recommend_delete' . $cnt, 'recommend_delete' . $cnt, '', 'n', array());
     }
     $objFormParam->addParam('商品ID', 'copy_product_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('has_product_class', 'has_product_class', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('product_class_id', 'product_class_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->setParam($arrPost);
     $objFormParam->convParam();
 }
Пример #3
0
 /**
  * パラメーター初期化.
  *
  * @param  FormParam $objFormParam
  * @param  array  $arrParams    $_POST値
  * @return void
  */
 public function initParam(&$objFormParam, &$arrParams)
 {
     $objFormParam->addParam('ディレクトリ名', 'admin_dir', ID_MAX_LEN, 'a', array('EXIST_CHECK', 'SPTAB_CHECK', 'ALNUM_CHECK'));
     $objFormParam->addParam('SSL制限', 'admin_force_ssl', 1, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('IP制限', 'admin_allow_hosts', LTEXT_LEN, 'a', array('IP_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->setParam($arrParams);
     $objFormParam->convParam();
 }
Пример #4
0
 /**
  * 入力エラーチェック
  *
  * @param  string $mode
  * @param FormParam $objFormParam
  * @return array
  */
 public function lfCheckError($mode, &$objFormParam)
 {
     $arrErr = array();
     switch ($mode) {
         case 'delete':
         case 'up':
         case 'down':
             $objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
             $objFormParam->convParam();
             $arrErr = $objFormParam->checkError();
             break;
         default:
             break;
     }
     return $arrErr;
 }
Пример #5
0
 /**
  * パラメーター初期化.
  *
  * @param  FormParam $objFormParam
  * @param  array  $arrParams    $_POST値
  * @return void
  */
 public function initParam(&$objFormParam, &$arrParams)
 {
     $objFormParam->addParam('バックアップ名', 'bkup_name', STEXT_LEN, 'a', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NO_SPTAB', 'FILE_NAME_CHECK_BY_NOUPLOAD'));
     $objFormParam->addParam('バックアップメモ', 'bkup_memo', MTEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK'));
     $objFormParam->addParam('バックアップ名(リスト)', 'list_name', STEXT_LEN, 'a', array('MAX_LENGTH_CHECK', 'NO_SPTAB', 'FILE_NAME_CHECK_BY_NOUPLOAD'));
     $objFormParam->setParam($arrParams);
     $objFormParam->convParam();
 }
Пример #6
0
 /**
  * CSVアップロードを実行する
  *
  * @param  FormParam  $objFormParam
  * @param  UploadFile $objUpFile
  * @return void
  */
 public 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 = Utils::sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_REALDIR);
     // CSVファイルのオープン
     $fp = fopen($enc_filepath, 'r');
     // 失敗した場合はエラー表示
     if (!$fp) {
         Utils::sfDispError('');
     }
     // 登録先テーブル カラム情報の初期化
     $this->lfInitTableInfo();
     // 登録フォーム カラム情報
     $this->arrFormKeyList = $objFormParam->getKeyList();
     // 登録対象の列数
     $col_max_count = $objFormParam->getCount();
     // 行数
     $line_count = 0;
     $objQuery = Application::alias('eccube.query');
     $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, '※ 項目数が' . $col_count . '個検出されました。項目数は' . $col_max_count . '個になります。');
             $errFlag = true;
             break;
         }
         // シーケンス配列を格納する。
         $objFormParam->setParam($arrCSV, true);
         // 入力値の変換
         $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->lfRegisterCategory($line_count, $objFormParam);
         $this->addRowResult($line_count, 'カテゴリID:' . $category_id . ' / カテゴリ名:' . $objFormParam->getValue('category_name'));
     }
     // 実行結果画面を表示
     $this->tpl_mainpage = 'products/upload_csv_category_complete.tpl';
     fclose($fp);
     if ($errFlag) {
         $objQuery->rollback();
         return;
     }
     $objQuery->commit();
     // カテゴリ件数を更新
     /* @var $objDb DbHelper */
     $objDb = Application::alias('eccube.helper.db');
     $objDb->countCategory($objQuery);
     return;
 }
Пример #7
0
 /**
  * パラメーター情報の初期化
  *
  * @param Eccube\FormParam $objFormParam
  * @return array
  */
 public function lfInitParam(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();
 }
Пример #8
0
 /**
  * エラーチェックする
  *
  * @param FormParam $objFormParam
  * @access private
  * @return array エラー情報の配列
  */
 public function lfCheckError(&$objFormParam)
 {
     $objFormParam->convParam();
     /* @var $objErr CheckError */
     $objErr = Application::alias('eccube.check_error');
     $objErr->arrErr = $objFormParam->checkError();
     // FIXME: lfInitParam() で設定すれば良いように感じる
     $objErr->doFunc(array('メールアドレス', 'email_mobile'), array('CHECK_REGIST_CUSTOMER_EMAIL'));
     return $objErr->arrErr;
 }
Пример #9
0
 /**
  * パラメーター情報の初期化を行う.
  *
  * @param  FormParam $objFormParam FormParam インスタンス
  * @param  boolean      $deliv_only   必須チェックは deliv_id のみの場合 true
  * @param  array        $arrShipping  配送先情報の配列
  * @return void
  */
 public 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($arrShipping);
     $objFormParam->convParam();
 }
Пример #10
0
 /**
  * @param FormParam $objFormParam
  */
 public function lfCheckError(&$objFormParam)
 {
     $objFormParam->convParam();
     /* @var $objErr CheckError */
     $objErr = Application::alias('eccube.check_error', $objFormParam->getHashArray());
     $objErr->arrErr = $objFormParam->checkError();
     // 特殊項目チェック
     // 月度集計
     if ($objFormParam->getValue('search_form') == 1) {
         $objErr->doFunc(array('月度', 'search_startyear_m', 'search_startmonth_m'), array('FULL_EXIST_CHECK'));
     }
     // 期間集計
     if ($objFormParam->getValue('search_form') == 2) {
         $objErr->doFunc(array('期間(開始日)', 'search_startyear', 'search_startmonth', 'search_startday'), array('FULL_EXIST_CHECK'));
         $objErr->doFunc(array('期間(終了日)', 'search_endyear', 'search_endmonth', 'search_endday'), array('FULL_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;
 }