Changeset 18819 for branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
- Timestamp:
- 2010/09/22 13:23:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
r18815 r18819 36 36 // }}} 37 37 // {{{ functions 38 /** ダウンロード用ファイル管理クラスのインスタンス */ 39 var $objDownFile; 40 41 /** hidden 項目の配列 */ 42 var $arrHidden; 38 43 39 44 /** … … 49 54 $this->tpl_subno = 'product'; 50 55 $this->tpl_subtitle = '商品登録(商品規格)'; 56 $masterData = new SC_DB_MasterData_Ex(); 57 $this->arrDown = $masterData->getMasterData("mtb_down"); 58 } 59 60 function lfInitDownFile() { 61 $i = 1; 62 while (isset($_POST['classcategory_id1:' . $i])) { 63 //ファイル系処理 64 $this->objDownFile->addFile("ダウンロード販売用ファイル". ":" . $i, 'down_realfilename'. ":" . $i, explode(",", DOWNLOAD_EXTENSION),DOWN_SIZE, true, 0, 0); 65 $i++; 66 } 51 67 } 52 68 … … 55 71 56 72 $this->arrSearchHidden = $this->createSearchParams($_POST); 73 74 // FORMデータの引き継ぎ 75 $this->arrForm = $_POST; 57 76 58 77 $this->tpl_product_id = … … 61 80 if (!isset($_POST['mode'])) $_POST['mode'] = ""; 62 81 82 // Downファイル管理クラス 83 $this->objDownFile = new SC_UploadFile(DOWN_TEMP_DIR, DOWN_SAVE_DIR); 84 63 85 switch ($_POST['mode']) { 64 86 case 'edit': 65 87 // 入力値の変換 66 88 $this->arrForm = $this->lfConvertParam($_POST); 67 68 89 // エラーチェック 69 90 $this->arrErr = $this->lfProductClassError($this->arrForm); 70 if (SC_Utils_Ex::isBlank($this->arrErr)) { 71 $this->tpl_mainpage = 'products/product_class_confirm.tpl'; 91 if ($this->arrErr == null){ 92 //if (SC_Utils_Ex::isBlank($this->arrErr)) { 93 $this->tpl_mainpage = 'products/product_class_confirm.tpl'; 72 94 $this->lfProductConfirmPage(); // 確認ページ表示 73 74 95 } else { 75 $this->doPreEdit(false); 96 $this->doPreEdit(false,true); 97 // Hiddenからのデータを引き継ぐ 98 $this->objDownFile->setHiddenFileList($_POST); 99 // HIDDEN用に配列を渡す。 100 $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList()); 101 // Form用に配列を渡す。 102 $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile()); 76 103 } 77 104 break; … … 83 110 case 'pre_edit': 84 111 $this->doPreEdit(); 112 // HIDDEN用に配列を渡す。 113 $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList()); 85 114 break; 86 115 … … 88 117 $this->doDisp(); 89 118 break; 90 119 // ダウンロード商品ファイルアップロード 120 case 'upload_down': 121 $this->doPreEdit(); 122 // Hiddenからのデータを引き継ぐ 123 $this->objDownFile->setHiddenKikakuFileList($_POST); 124 // ファイル存在チェック 125 $this->arrErr = array_merge((array)$this->arrErr, (array)$this->objDownFile->checkEXISTS($_POST['down_key'])); 126 // ファイル保存処理 127 $this->arrErr[$_POST['down_key']] = $this->objDownFile->makeTempDownFile($_POST['down_key']); 128 // HIDDEN用に配列を渡す。 129 $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList()); 130 // Form用に配列を渡す。 131 $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile()); 132 break; 133 // ダウンロードファイルの削除 134 case 'delete_down': 135 $this->doPreEdit(); 136 // Hiddenからのデータを引き継ぐ 137 $this->objDownFile->setHiddenKikakuFileList($_POST); 138 // ファイル削除処理 139 $this->objDownFile->deleteKikakuFile($_POST['down_key']); 140 // HIDDEN用に配列を渡す。 141 $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList()); 142 // Form用に配列を渡す。 143 $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile()); 144 break; 91 145 case 'confirm_return': 92 146 // フォームパラメータの引き継ぎ … … 95 149 $this->arrForm['select_class_id1'] = ""; 96 150 $this->arrForm['select_class_id2'] = ""; 97 $this->doPreEdit(false); 98 break; 99 151 $this->doPreEdit(false,true); 152 // Hiddenからのデータを引き継ぐ 153 $this->objDownFile->setHiddenFileList($_POST); 154 // HIDDEN用に配列を渡す。 155 $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList()); 156 // Form用に配列を渡す。 157 $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile()); 158 break; 100 159 case 'complete': 101 160 // 完了ページ設定 102 161 $this->tpl_mainpage = 'products/product_class_complete.tpl'; 162 // ファイル情報の初期化 163 $this->lfInitDownFile(); 164 // Hiddenからのデータを引き継ぐ 165 $this->objDownFile->setHiddenFileList($_POST); 103 166 // 商品規格の登録 104 167 $this->registerProductClass($_POST, $_POST['product_id']); 168 // 一時ファイルを本番ディレクトリに移動する 169 $this->objDownFile->moveTempDownFile(); 105 170 break; 106 171 107 172 default: 108 173 } 109 110 174 $this->arrClass = $this->getAllClass(); 111 175 $this->arrForm['product_name'] = $this->getProductName($_POST['product_id']); … … 153 217 $pVal['price01'] = $arrList['price01:'.$i]; 154 218 $pVal['price02'] = $arrList['price02:'.$i]; 219 $pVal['down'] = $arrList['down:'.$i]; 220 $pVal['down_filename'] = $arrList['down_filename:'.$i]; 221 $pVal['down_realfilename'] = $arrList['down_realfilename:'.$i]; 155 222 $pVal['creator_id'] = $_SESSION['member_id']; 156 223 $pVal['update_date'] = "now()"; … … 276 343 if($array["stock_unlimited:".$no] != '1') { 277 344 $objErr->doFunc(array("在庫数", "stock:".$no, AMOUNT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 345 } 346 347 //ダウンロード商品チェック 348 if($array["down:".$no] == "2") { 349 $objErr->doFunc(array("ダウンロードファイル名", "down_filename:".$no, STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 350 if($array["down_realfilename:".$no] == "") { 351 $objErr->arrErr["down_realfilename:".$no] = "※ ダウンロード商品の場合はダウンロード商品用ファイルをアップロードしてください。<br />"; 352 } 353 } 354 //実商品チェック 355 else if($array["down:".$no] == "1") { 356 if($array["down_filename:".$no] != "") { 357 $objErr->arrErr["down_filename:".$no] = "※ 実商品の場合はダウンロードファイル名を設定できません。<br />"; 358 } 359 if($array["down_realfilename:".$no] != "") { 360 $objErr->arrErr["down_realfilename:".$no] = "※ 実商品の場合はダウンロード商品用ファイルをアップロードできません。<br />ファイルを取り消してください。<br />"; 361 } 278 362 } 279 363 } … … 338 422 * 規格編集画面を表示する. 339 423 */ 340 function doPreEdit($existsValue = true ) {424 function doPreEdit($existsValue = true,$usepostValue = false) { 341 425 $existsProductsClass = $this->getProductsClassAndClasscategory($_POST['product_id']); 342 426 $productsClass = $this->getProductsClass($_POST['product_id']); … … 347 431 348 432 $this->arrClassCat = $this->getAllClassCategory($this->arrForm["class_id1"], $this->arrForm["class_id2"]); 433 349 434 $total = count($this->arrClassCat); 350 435 for ($i = 1; $i <= $total; $i++) { 351 436 if ($existsValue) { 352 437 foreach ($productsClass as $key => $val) { 353 $this->arrForm[$key . ":" . $i] = $val; 438 if(!$usepostValue){ 439 $this->arrForm[$key . ":" . $i] = $val; 440 } 354 441 } 355 442 } 356 443 foreach ($existsProductsClass[$i] as $key => $val) { 357 $this->arrForm[$key . ":" . $i] = $val; 444 if(!$usepostValue){ 445 $this->arrForm[$key . ":" . $i] = $val; 446 } 358 447 } 359 448 if (!SC_Utils_Ex::isBlank($this->arrForm['product_id:' . $i]) 360 449 && $this->arrForm["del_flg:" . $i] == 0) { 361 450 $line .= "'check:" . $i . "',"; 451 } 452 } 453 //直前のLoopが$existsProductsClassを1始まりで参照しているので最初の情報が抜ける? 454 for ($i = 0; $i < $total; $i++) { 455 foreach ($existsProductsClass[$i] as $key => $val) { 456 //ダウンロードファイル初期設定 457 if($key=="down"){ 458 $this->objDownFile->addFile("ダウンロード販売用ファイル". ":" . ($i+1), 'down_realfilename'. ":" . ($i+1), explode(",", DOWNLOAD_EXTENSION),DOWN_SIZE, true, 0, 0); 459 } 362 460 } 363 461 } … … 367 465 $color = DISABLED_RGB; 368 466 $this->tpl_onload.= "fnListCheck(list); fnCheckAllStockLimit('$total', '$color');"; 467 468 // DBデータからダウンロードファイル名の読込 469 $this->objDownFile->setDBFileList($this->arrForm); 470 // PostデータからダウンロードTempファイル名の読込 471 $this->objDownFile->setPostFileList($_POST,$this->arrForm); 369 472 } 370 473
Note: See TracChangeset
for help on using the changeset viewer.