예제 #1
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();
 }
예제 #2
0
 /**
  * 入力済みの購入情報をフォームに設定する.
  *
  * 受注一時テーブル, セッションの配送情報から入力済みの購入情報を取得し,
  * フォームに設定する.
  *
  * @param  FormParam       $objFormParam FormParam インスタンス
  * @param  PurchaseHelper $objPurchase  PurchaseHelper インスタンス
  * @param  integer            $uniqid       購入一時情報のユニークID
  * @return void
  */
 public function setFormParams(&$objFormParam, &$objPurchase, $uniqid)
 {
     $arrOrderTemp = $objPurchase->getOrderTemp($uniqid);
     if (Utils::isBlank($arrOrderTemp)) {
         $arrOrderTemp = array('order_email' => '', 'order_birth' => '');
     }
     $arrShippingTemp = $objPurchase->getShippingTemp();
     $objFormParam->setParam($arrOrderTemp);
     /*
      * count($arrShippingTemp) > 1 は複数配送であり,
      * $arrShippingTemp[0] は注文者が格納されている
      */
     if (count($arrShippingTemp) > 1) {
         $objFormParam->setParam($arrShippingTemp[1]);
     } else {
         if ($arrOrderTemp['deliv_check'] == 1) {
             $objFormParam->setParam($arrShippingTemp[1]);
         } else {
             $objFormParam->setParam($arrShippingTemp[0]);
         }
     }
     $objFormParam->setValue('order_email02', $arrOrderTemp['order_email']);
     $objFormParam->setDBDate($arrOrderTemp['order_birth'], 'order_year', 'order_month', 'order_day');
 }
예제 #3
0
 /**
  *
  * テンプレートの文言をフォームに入れる。
  * @param FormParam $objFormParam
  */
 public function changeData(&$objFormParam)
 {
     $template_id = $objFormParam->getValue('template_id');
     // 未選択時
     if (strlen($template_id) === 0) {
         $mailTemplates = null;
         // 有効選択時
     } elseif (Utils::sfIsInt($template_id)) {
         /* @var $objMailtemplate MailtemplateHelper */
         $objMailtemplate = Application::alias('eccube.helper.mailtemplate');
         $mailTemplates = $objMailtemplate->get($template_id);
         // 不正選択時
     } else {
         trigger_error('テンプレートの指定が不正。', E_USER_ERROR);
     }
     if (empty($mailTemplates)) {
         foreach (array('subject', 'header', 'footer') as $key) {
             $objFormParam->setValue($key, '');
         }
     } else {
         $objFormParam->setParam($mailTemplates);
     }
     return $objFormParam;
 }
예제 #4
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;
 }
예제 #5
0
 /**
  * 編集対象のカテゴリ名を, 入力ボックスへ表示する.
  *
  * @param  FormParam $objFormParam
  * @return void
  */
 public function doPreEdit(&$objFormParam)
 {
     $category_id = $objFormParam->getValue('category_id');
     /* @var $objCategory CategoryHelper */
     $objCategory = Application::alias('eccube.helper.category');
     $arrRes = $objCategory->get($category_id);
     $objFormParam->setParam($arrRes);
     $this->arrForm = $objFormParam->getHashArray();
 }
예제 #6
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();
 }
예제 #7
0
 /**
  * テンプレートIDから情報の取得して$objFormParamにset_paramする
  *
  * @param  FormParam $objFormParam フォームパラメータークラス
  * @param  array $template_id  テンプレートID
  * @return void
  */
 public function lfGetTemplateData(&$objFormParam, $template_id)
 {
     $objQuery = Application::alias('eccube.query');
     $objQuery->setOrder('template_id DESC');
     $where = 'template_id = ?';
     $arrResults = $objQuery->getRow('*', 'dtb_mailmaga_template', $where, array($template_id));
     $objFormParam->setParam($arrResults);
 }
예제 #8
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();
 }
예제 #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 FormParam インスタンス
  * @return void
  */
 public function lfInitParam(FormParam &$objFormParam, &$arrCartItem)
 {
     $objFormParam->addParam('商品規格ID', 'product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'));
     $objFormParam->addParam('数量', 'quantity', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'), 1);
     $objFormParam->addParam('お届け先', 'shipping', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
     $objFormParam->addParam('行数', 'line_of_num', INT_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'));
     $arrItem = array();
     foreach ($arrCartItem as $item) {
         $product_class_id = $item['productsClass']['product_class_id'];
         $arrItem['line_of_num'][$product_class_id] = 1;
         $arrItem['quantity'][] = 1;
     }
     $objFormParam->setParam($arrItem);
 }
예제 #11
0
 /**
  * パラメーター情報の初期化
  *
  * @param  FormParam $objFormParam フォームパラメータークラス
  * @return void
  */
 public function lfInitParam(&$objFormParam)
 {
     $objFormParam->addParam('編集種別', 'tpl_subno_csv', STEXT_LEN, 'a', array('ALNUM_CHECK', 'MAX_LENGTH_CHECK'), 'product');
     $objFormParam->addParam('出力設定リスト', 'output_list', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK', 'EXIST_CHECK'));
     //デフォルト値で上書き
     $objFormParam->setParam(array('tpl_subno_csv' => 'product'));
 }
예제 #12
0
 /**
  * フォームパラメーター初期化
  *
  * @param  FormParam $objFormParam
  * @param  array  $arrParams    $_POST値
  * @return void
  */
 public function initForm(&$objFormParam, &$arrParams)
 {
     $objFormParam->addParam('モード', 'mode', INT_LEN, 'n', array('ALPHA_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->addParam('テーブル名', 'table_name');
     $objFormParam->addParam('カラム名', 'column_name');
     $objFormParam->addParam('インデックス', 'indexflag');
     $objFormParam->addParam('インデックス(変更後)', 'indexflag_new');
     $objFormParam->setParam($arrParams);
 }
예제 #13
0
 /**
  * フォームパラメーター初期化.
  *
  * @param  FormParam $objFormParam
  * @param  array  $arrParams    $_GET値
  * @return void
  */
 public function initForm(&$objFormParam, &$arrParams)
 {
     $objFormParam->addParam('mode', 'mode', INT_LEN, '', array('ALPHA_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->setParam($arrParams);
 }
예제 #14
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();
 }
예제 #15
0
 /**
  * パラメーター初期化.
  *
  * @param  FormParam $objFormParam
  * @param  array  $arrParams    $_GET値
  * @return void
  */
 public function initParam(&$objFormParam, &$arrParams)
 {
     $objFormParam->addParam('pageno', 'pageno', INT_LEN, '', array('NUM_CHECK', 'MAX_LENGTH_CHECK', 'EXIST_CHECK'));
     $objFormParam->addParam('id', 'id', INT_LEN, '', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
     $objFormParam->setParam($arrParams);
 }
예제 #16
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();
 }
예제 #17
0
 /**
  * 削除対象の確認、削除をする
  *
  * @param  FormParam $objFormParam                               FormParam インスタンス
  * @param  array        $arrProductClassIds                       削除対象配列の商品規格ID
  * @param  integer      $delete_product_class_id 削除商品規? ?ID
  * @param  array        $arrDeleteKeys                              削除項目
  * @return void
  */
 public function checkDeleteProducts(&$objFormParam, $arrProductClassIds, $delete_product_class_id, $arrDeleteKeys)
 {
     foreach ($arrProductClassIds as $relation_index => $product_class_id) {
         //product_class_idの重複はないので、1つ削除したら完了
         if ($product_class_id == $delete_product_class_id) {
             foreach ($arrDeleteKeys as $delete_key) {
                 $arrProducts = $objFormParam->getValue($delete_key);
                 $arrUpdateParams = array();
                 foreach ($arrProducts as $index => $product_info) {
                     if ($index != $relation_index) {
                         $arrUpdateParams[$delete_key][] = $product_info;
                     }
                 }
                 $objFormParam->setParam($arrUpdateParams);
             }
             break;
         }
     }
 }
예제 #18
0
 /**
  * 受注データを取得して, FormParam へ設定する.
  *
  * @param  FormParam $objFormParam FormParam インスタンス
  * @param  integer      $order_id     取得元の受注ID
  * @return void
  */
 public function setOrderToFormParam(&$objFormParam, $order_id)
 {
     /* @var $objPurchase PurchaseHelper */
     $objPurchase = Application::alias('eccube.helper.purchase');
     // 受注詳細を設定
     $arrOrderDetail = $objPurchase->getOrderDetail($order_id, false);
     $objFormParam->setParam(Utils::sfSwapArray($arrOrderDetail));
     $arrShippingsTmp = $objPurchase->getShippings($order_id);
     $arrShippings = array();
     foreach ($arrShippingsTmp as $row) {
         // お届け日の処理
         if (!Utils::isBlank($row['shipping_date'])) {
             $ts = strtotime($row['shipping_date']);
             $row['shipping_date_year'] = date('Y', $ts);
             $row['shipping_date_month'] = date('n', $ts);
             $row['shipping_date_day'] = date('j', $ts);
         }
         $arrShippings[$row['shipping_id']] = $row;
     }
     $objFormParam->setParam(Utils::sfSwapArray($arrShippings));
     /*
      * 配送商品を設定
      *
      * $arrShipmentItem['shipment_(key)'][$shipping_id][$item_index] = 値
      * $arrProductQuantity[$shipping_id] = 配送先ごとの配送商品数量
      */
     $arrProductQuantity = array();
     $arrShipmentItem = array();
     foreach ($arrShippings as $shipping_id => $arrShipping) {
         $arrProductQuantity[$shipping_id] = count($arrShipping['shipment_item']);
         foreach ($arrShipping['shipment_item'] as $item_index => $arrItem) {
             foreach ($arrItem as $item_key => $item_val) {
                 $arrShipmentItem['shipment_' . $item_key][$shipping_id][$item_index] = $item_val;
             }
         }
     }
     $objFormParam->setValue('shipping_product_quantity', $arrProductQuantity);
     $objFormParam->setParam($arrShipmentItem);
     /*
      * 受注情報を設定
      * $arrOrderDetail と項目が重複しており, $arrOrderDetail は連想配列の値
      * が渡ってくるため, $arrOrder で上書きする.
      */
     $arrOrder = $objPurchase->getOrder($order_id);
     // 生年月日の処理
     if (!Utils::isBlank($arrOrder['order_birth'])) {
         $order_birth = substr($arrOrder['order_birth'], 0, 10);
         $arrOrderBirth = explode("-", $order_birth);
         $arrOrder['order_birth_year'] = intval($arrOrderBirth[0]);
         $arrOrder['order_birth_month'] = intval($arrOrderBirth[1]);
         $arrOrder['order_birth_day'] = intval($arrOrderBirth[2]);
     }
     $objFormParam->setParam($arrOrder);
     // ポイントを設定
     list($db_point, $rollback_point) = Application::alias('eccube.helper.db')->getRollbackPoint($order_id, $arrOrder['use_point'], $arrOrder['add_point'], $arrOrder['status']);
     $objFormParam->setValue('total_point', $db_point);
     $objFormParam->setValue('point', $rollback_point);
     if (!Utils::isBlank($objFormParam->getValue('customer_id'))) {
         $arrCustomer = Application::alias('eccube.helper.customer')->sfGetCustomerDataFromId($objFormParam->getValue('customer_id'));
         $objFormParam->setValue('customer_point', $arrCustomer['point']);
     }
 }
예제 #19
0
 /**
  * 規格の組み合わせ一覧を表示する.
  *
  * 規格1, 規格2における規格分類の全ての組み合わせを取得し,
  * 該当商品の商品規格の内容を取得後, フォームに設定する.
  *
  * @param  FormParam $objFormParam FormParam インスタンス
  * @return void
  */
 public function doDisp(&$objFormParam)
 {
     $product_id = $objFormParam->getValue('product_id');
     $class_id1 = $objFormParam->getValue('class_id1');
     $class_id2 = $objFormParam->getValue('class_id2');
     // 全ての組み合わせを取得し, フォームに設定
     $arrClassCat = $this->getAllClassCategory($class_id1, $class_id2);
     $total = count($arrClassCat);
     $objFormParam->setValue('total', $total);
     $objFormParam->setParam(Utils::sfSwapArray($arrClassCat));
     // class_id1, class_id2 を, 入力値で上書き
     $objFormParam->setValue('class_id1', $class_id1);
     $objFormParam->setValue('class_id2', $class_id2);
     // 商品情報を取得し, フォームに設定
     $arrProductsClass = $this->getProductsClass($product_id);
     foreach ($arrProductsClass as $key => $val) {
         // 組み合わせ数分の値の配列を生成する
         $arrValues = array();
         for ($i = 0; $i < $total; $i++) {
             $arrValues[] = $val;
         }
         $objFormParam->setValue($key, $arrValues);
     }
     // 商品種別を 1 に初期化
     $objFormParam->setValue('product_type_id', array_pad(array(), $total, 1));
 }