Changeset 17269
- Timestamp:
- 2008/04/18 09:50:45 (13 years ago)
- Location:
- branches/comu-ver2/data
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/comu-ver2/data/Smarty/templates/default/admin/order/index.tpl
r17182 r17269 203 203 </td> 204 204 </tr> 205 <tr class="fs12n"> 206 <td bgcolor="#f2f1ec" width="110">購入商品</td> 207 <td bgcolor="#ffffff" width="499" colspan="3"> 208 <!--{assign var=key value="search_product_name"}--> 209 <span class="red12"><!--{$arrErr[$key1]}--></span> 210 <span class="red12"><!--{$arrErr[$key2]}--></span> 211 <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|escape}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="6" class="box30" /> 212 </td> 213 </tr> 205 214 </table> 206 215 <table width="678" border="0" cellspacing="0" cellpadding="0" summary=" "> -
branches/comu-ver2/data/class/pages/admin/order/LC_Page_Admin_Order.php
r16987 r17269 27 27 /* ペイジェント決済モジュール連携用 */ 28 28 if (file_exists(MODULE_PATH . 'mdl_paygent/include.php') === TRUE) { 29 29 require_once(MODULE_PATH . 'mdl_paygent/include.php'); 30 30 } 31 31 32 32 /** 33 * 受注管理 のページクラス .33 * 受注管理 のページクラス 34 34 * 35 35 * @package Page … … 61 61 $this->arrSex = $masterData->getMasterData("mtb_sex"); 62 62 $this->arrPageMax = $masterData->getMasterData("mtb_page_max"); 63 63 64 64 /* ペイジェント決済モジュール連携用 */ 65 65 if(function_exists("sfPaygentOrderPage")) { … … 91 91 if (ereg("^search_", $key)) { 92 92 switch($key) { 93 case 'search_order_sex':94 case 'search_payment_id':95 $this->arrHidden[$key] = SC_Utils_Ex::sfMergeParamCheckBoxes($val);96 break;97 default:98 $this->arrHidden[$key] = $val;99 break;93 case 'search_order_sex': 94 case 'search_payment_id': 95 $this->arrHidden[$key] = SC_Utils_Ex::sfMergeParamCheckBoxes($val); 96 break; 97 default: 98 $this->arrHidden[$key] = $val; 99 break; 100 100 } 101 101 } … … 104 104 // ページ送り用 105 105 $this->arrHidden['search_pageno'] = 106 106 isset($_POST['search_pageno']) ? $_POST['search_pageno'] : ""; 107 107 108 108 // 認証可否の判定 … … 122 122 123 123 switch($_POST['mode']) { 124 case 'delete': 125 case 'csv': 126 case 'delete_all': 127 case 'search': 128 // 入力値の変換 129 $this->objFormParam->convParam(); 130 $this->arrErr = $this->lfCheckError($arrRet); 131 $arrRet = $this->objFormParam->getHashArray(); 132 // 入力なし 133 if (count($this->arrErr) == 0) { 134 $where = "del_flg = 0"; 135 foreach ($arrRet as $key => $val) { 136 if($val == "") { 137 continue; 124 case 'delete': 125 case 'csv': 126 case 'delete_all': 127 case 'search': 128 // 入力値の変換 129 $this->objFormParam->convParam(); 130 $this->arrErr = $this->lfCheckError($arrRet); 131 $arrRet = $this->objFormParam->getHashArray(); 132 // 入力なし 133 if (count($this->arrErr) == 0) { 134 $where = "del_flg = 0"; 135 foreach ($arrRet as $key => $val) { 136 if($val == "") { 137 continue; 138 } 139 $val = SC_Utils_Ex::sfManualEscape($val); 140 141 switch ($key) { 142 143 case 'search_product_name': 144 if(DB_TYPE == "pgsql"){ 145 // $val = mb_convert_encoding($val,"UTF-8",mb_detect_encoding($val)); 146 $where .= " AND (SELECT COUNT(*) FROM dtb_order_detail od WHERE od.order_id = dtb_order.order_id AND od.product_name ILIKE ?) > 0"; 147 $nonsp_val = ereg_replace("[ ]+","",$val); 148 $arrval[] = "%$nonsp_val%"; 149 }elseif(DB_TYPE == "mysql"){ 150 $where .= " AND (SELECT COUNT(*) FROM dtb_order_detail od WHERE od.order_id = dtb_order.order_id AND od.product_name LIKE ?) > 0"; 151 $nonsp_val = ereg_replace("[ ]+","",$val); 152 $arrval[] = "%$nonsp_val%"; 153 } 154 break; 155 case 'search_order_name': 156 if(DB_TYPE == "pgsql"){ 157 $where .= " AND order_name01||order_name02 ILIKE ?"; 158 }elseif(DB_TYPE == "mysql"){ 159 $where .= " AND concat(order_name01,order_name02) ILIKE ?"; 160 } 161 $nonsp_val = ereg_replace("[ ]+","",$val); 162 $arrval[] = "%$nonsp_val%"; 163 break; 164 case 'search_order_kana': 165 if(DB_TYPE == "pgsql"){ 166 $where .= " AND order_kana01||order_kana02 ILIKE ?"; 167 }elseif(DB_TYPE == "mysql"){ 168 $where .= " AND concat(order_kana01,order_kana02) ILIKE ?"; 169 } 170 $nonsp_val = ereg_replace("[ ]+","",$val); 171 $arrval[] = "%$nonsp_val%"; 172 break; 173 case 'search_order_id1': 174 $where .= " AND order_id >= ?"; 175 $arrval[] = $val; 176 break; 177 case 'search_order_id2': 178 $where .= " AND order_id <= ?"; 179 $arrval[] = $val; 180 break; 181 case 'search_order_sex': 182 $tmp_where = ""; 183 foreach($val as $element) { 184 if($element != "") { 185 if($tmp_where == "") { 186 $tmp_where .= " AND (order_sex = ?"; 187 } else { 188 $tmp_where .= " OR order_sex = ?"; 189 } 190 $arrval[] = $element; 191 } 192 } 193 194 if($tmp_where != "") { 195 $tmp_where .= ")"; 196 $where .= " $tmp_where "; 197 } 198 break; 199 case 'search_order_tel': 200 if(DB_TYPE == "pgsql"){ 201 $where .= " AND (order_tel01||order_tel02||order_tel03) ILIKE ?"; 202 }elseif(DB_TYPE == "mysql"){ 203 $where .= " AND concat(order_tel01,order_tel02,order_tel03) ILIKE ?"; 204 } 205 $nonmark_val = ereg_replace("[()-]+","",$val); 206 $arrval[] = "$nonmark_val%"; 207 break; 208 case 'search_order_email': 209 $where .= " AND order_email ILIKE ?"; 210 $arrval[] = "%$val%"; 211 break; 212 case 'search_payment_id': 213 $tmp_where = ""; 214 foreach($val as $element) { 215 if($element != "") { 216 if($tmp_where == "") { 217 $tmp_where .= " AND (payment_id = ?"; 218 } else { 219 $tmp_where .= " OR payment_id = ?"; 220 } 221 $arrval[] = $element; 222 } 223 } 224 225 if($tmp_where != "") { 226 $tmp_where .= ")"; 227 $where .= " $tmp_where "; 228 } 229 break; 230 case 'search_total1': 231 $where .= " AND total >= ?"; 232 $arrval[] = $val; 233 break; 234 case 'search_total2': 235 $where .= " AND total <= ?"; 236 $arrval[] = $val; 237 break; 238 case 'search_startyear': 239 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']); 240 $where.= " AND update_date >= ?"; 241 $arrval[] = $date; 242 break; 243 case 'search_endyear': 244 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday'], true); 245 $where.= " AND update_date <= ?"; 246 $arrval[] = $date; 247 break; 248 case 'search_sbirthyear': 249 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_sbirthyear'], $_POST['search_sbirthmonth'], $_POST['search_sbirthday']); 250 $where.= " AND order_birth >= ?"; 251 $arrval[] = $date; 252 break; 253 case 'search_ebirthyear': 254 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_ebirthyear'], $_POST['search_ebirthmonth'], $_POST['search_ebirthday'], true); 255 $where.= " AND order_birth <= ?"; 256 $arrval[] = $date; 257 break; 258 case 'search_order_status': 259 $where.= " AND status = ?"; 260 $arrval[] = $val; 261 break; 262 default: 263 if (!isset($arrval)) $arrval = array(); 264 break; 265 } 138 266 } 139 $val = SC_Utils_Ex::sfManualEscape($val); 140 141 switch ($key) { 142 case 'search_order_name': 143 if(DB_TYPE == "pgsql"){ 144 $where .= " AND order_name01||order_name02 ILIKE ?"; 145 }elseif(DB_TYPE == "mysql"){ 146 $where .= " AND concat(order_name01,order_name02) ILIKE ?"; 147 } 148 $nonsp_val = ereg_replace("[ ]+","",$val); 149 $arrval[] = "%$nonsp_val%"; 150 break; 151 case 'search_order_kana': 152 if(DB_TYPE == "pgsql"){ 153 $where .= " AND order_kana01||order_kana02 ILIKE ?"; 154 }elseif(DB_TYPE == "mysql"){ 155 $where .= " AND concat(order_kana01,order_kana02) ILIKE ?"; 156 } 157 $nonsp_val = ereg_replace("[ ]+","",$val); 158 $arrval[] = "%$nonsp_val%"; 159 break; 160 case 'search_order_id1': 161 $where .= " AND order_id >= ?"; 162 $arrval[] = $val; 163 break; 164 case 'search_order_id2': 165 $where .= " AND order_id <= ?"; 166 $arrval[] = $val; 167 break; 168 case 'search_order_sex': 169 $tmp_where = ""; 170 foreach($val as $element) { 171 if($element != "") { 172 if($tmp_where == "") { 173 $tmp_where .= " AND (order_sex = ?"; 174 } else { 175 $tmp_where .= " OR order_sex = ?"; 176 } 177 $arrval[] = $element; 267 268 $order = "update_date DESC"; 269 270 switch($_POST['mode']) { 271 case 'csv': 272 273 require_once(CLASS_EX_PATH . "helper_extends/SC_Helper_CSV_Ex.php"); 274 $objCSV = new SC_Helper_CSV_Ex(); 275 // オプションの指定 276 $option = "ORDER BY $order"; 277 278 // CSV出力タイトル行の作成 279 $arrCsvOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput(3, " WHERE csv_id = 3 AND status = 1")); 280 281 if (count($arrCsvOutput) <= 0) break; 282 283 $arrCsvOutputCols = $arrCsvOutput['col']; 284 $arrCsvOutputTitle = $arrCsvOutput['disp_name']; 285 $head = SC_Utils_Ex::sfGetCSVList($arrCsvOutputTitle); 286 $data = $objCSV->lfGetCSV("dtb_order", $where, $option, $arrval, $arrCsvOutputCols); 287 288 // CSVを送信する。 289 SC_Utils_Ex::sfCSVDownload($head.$data); 290 exit; 291 break; 292 case 'delete_all': 293 // 検索結果をすべて削除 294 $sqlval['del_flg'] = 1; 295 $objQuery = new SC_Query(); 296 $objQuery->update("dtb_order", $sqlval, $where, $arrval); 297 break; 298 default: 299 // 読み込む列とテーブルの指定 300 $col = "*"; 301 $from = "dtb_order"; 302 303 $objQuery = new SC_Query(); 304 // 行数の取得 305 $linemax = $objQuery->count($from, $where, $arrval); 306 $this->tpl_linemax = $linemax; // 何件が該当しました。表示用 307 // ページ送りの処理 308 if(is_numeric($_POST['search_page_max'])) { 309 $page_max = $_POST['search_page_max']; 310 } else { 311 $page_max = SEARCH_PMAX; 178 312 } 179 } 180 181 if($tmp_where != "") { 182 $tmp_where .= ")"; 183 $where .= " $tmp_where "; 184 } 185 break; 186 case 'search_order_tel': 187 if(DB_TYPE == "pgsql"){ 188 $where .= " AND (order_tel01||order_tel02||order_tel03) ILIKE ?"; 189 }elseif(DB_TYPE == "mysql"){ 190 $where .= " AND concat(order_tel01,order_tel02,order_tel03) ILIKE ?"; 191 } 192 $nonmark_val = ereg_replace("[()-]+","",$val); 193 $arrval[] = "$nonmark_val%"; 194 break; 195 case 'search_order_email': 196 $where .= " AND order_email ILIKE ?"; 197 $arrval[] = "%$val%"; 198 break; 199 case 'search_payment_id': 200 $tmp_where = ""; 201 foreach($val as $element) { 202 if($element != "") { 203 if($tmp_where == "") { 204 $tmp_where .= " AND (payment_id = ?"; 205 } else { 206 $tmp_where .= " OR payment_id = ?"; 207 } 208 $arrval[] = $element; 209 } 210 } 211 212 if($tmp_where != "") { 213 $tmp_where .= ")"; 214 $where .= " $tmp_where "; 215 } 216 break; 217 case 'search_total1': 218 $where .= " AND total >= ?"; 219 $arrval[] = $val; 220 break; 221 case 'search_total2': 222 $where .= " AND total <= ?"; 223 $arrval[] = $val; 224 break; 225 case 'search_startyear': 226 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']); 227 $where.= " AND update_date >= ?"; 228 $arrval[] = $date; 229 break; 230 case 'search_endyear': 231 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday'], true); 232 $where.= " AND update_date <= ?"; 233 $arrval[] = $date; 234 break; 235 case 'search_sbirthyear': 236 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_sbirthyear'], $_POST['search_sbirthmonth'], $_POST['search_sbirthday']); 237 $where.= " AND order_birth >= ?"; 238 $arrval[] = $date; 239 break; 240 case 'search_ebirthyear': 241 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_ebirthyear'], $_POST['search_ebirthmonth'], $_POST['search_ebirthday'], true); 242 $where.= " AND order_birth <= ?"; 243 $arrval[] = $date; 244 break; 245 case 'search_order_status': 246 $where.= " AND status = ?"; 247 $arrval[] = $val; 248 break; 249 default: 250 if (!isset($arrval)) $arrval = array(); 251 break; 313 314 // ページ送りの取得 315 $objNavi = new SC_PageNavi($this->arrHidden['search_pageno'], 316 $linemax, $page_max, 317 "fnNaviSearchPage", NAVI_PMAX); 318 $startno = $objNavi->start_row; 319 $this->arrPagenavi = $objNavi->arrPagenavi; 320 321 // 取得範囲の指定(開始行番号、行数のセット) 322 $objQuery->setlimitoffset($page_max, $startno); 323 // 表示順序 324 $objQuery->setorder($order); 325 // 検索結果の取得 326 $this->arrResults = $objQuery->select($col, $from, $where, $arrval); 252 327 } 253 328 } 254 255 $order = "update_date DESC"; 256 257 switch($_POST['mode']) { 258 case 'csv': 259 260 require_once(CLASS_EX_PATH . "helper_extends/SC_Helper_CSV_Ex.php"); 261 $objCSV = new SC_Helper_CSV_Ex(); 262 // オプションの指定 263 $option = "ORDER BY $order"; 264 265 // CSV出力タイトル行の作成 266 $arrCsvOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput(3, " WHERE csv_id = 3 AND status = 1")); 267 268 if (count($arrCsvOutput) <= 0) break; 269 270 $arrCsvOutputCols = $arrCsvOutput['col']; 271 $arrCsvOutputTitle = $arrCsvOutput['disp_name']; 272 $head = SC_Utils_Ex::sfGetCSVList($arrCsvOutputTitle); 273 $data = $objCSV->lfGetCSV("dtb_order", $where, $option, $arrval, $arrCsvOutputCols); 274 275 // CSVを送信する。 276 SC_Utils_Ex::sfCSVDownload($head.$data); 277 exit; 278 break; 279 case 'delete_all': 280 // 検索結果をすべて削除 281 $sqlval['del_flg'] = 1; 282 $objQuery = new SC_Query(); 283 $objQuery->update("dtb_order", $sqlval, $where, $arrval); 284 break; 285 default: 286 // 読み込む列とテーブルの指定 287 $col = "*"; 288 $from = "dtb_order"; 289 290 $objQuery = new SC_Query(); 291 // 行数の取得 292 $linemax = $objQuery->count($from, $where, $arrval); 293 $this->tpl_linemax = $linemax; // 何件が該当しました。表示用 294 295 // ページ送りの処理 296 if(is_numeric($_POST['search_page_max'])) { 297 $page_max = $_POST['search_page_max']; 298 } else { 299 $page_max = SEARCH_PMAX; 300 } 301 302 // ページ送りの取得 303 $objNavi = new SC_PageNavi($this->arrHidden['search_pageno'], 304 $linemax, $page_max, 305 "fnNaviSearchPage", NAVI_PMAX); 306 $startno = $objNavi->start_row; 307 $this->arrPagenavi = $objNavi->arrPagenavi; 308 309 // 取得範囲の指定(開始行番号、行数のセット) 310 $objQuery->setlimitoffset($page_max, $startno); 311 // 表示順序 312 $objQuery->setorder($order); 313 // 検索結果の取得 314 $this->arrResults = $objQuery->select($col, $from, $where, $arrval); 315 } 316 } 317 break; 318 319 default: 320 break; 329 break; 330 331 default: 332 break; 321 333 } 322 334 … … 341 353 342 354 $objView->assignobj($this); 343 $objView->display(MAIN_FRAME);355 $objView->display(MAIN_FRAME); 344 356 } 345 357 … … 381 393 $this->objFormParam->addParam("終了日", "search_ebirthmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 382 394 $this->objFormParam->addParam("終了日", "search_ebirthday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 395 $this->objFormParam->addParam("購入商品","search_product_name",STEXT_LEN,"KVa",array("MAX_LENGTH_CHECK")); 396 383 397 } 384 398 … … 397 411 $objErr->doFunc(array("終了日", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE")); 398 412 $objErr->doFunc(array("開始日", "終了日", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM")); 399 400 413 $objErr->doFunc(array("開始日", "search_sbirthyear", "search_sbirthmonth", "search_sbirthday"), array("CHECK_DATE")); 401 414 $objErr->doFunc(array("終了日", "search_ebirthyear", "search_ebirthmonth", "search_ebirthday"), array("CHECK_DATE"));
Note: See TracChangeset
for help on using the changeset viewer.