Changeset 15584
- Timestamp:
- 2007/09/04 14:49:20 (17 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 4 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/admin/order/index.php
r15532 r15584 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 require_once("../require.php");8 require_once("./index_csv.php");9 7 10 class LC_Page { 11 function LC_Page() { 12 $this->tpl_mainpage = 'order/index.tpl'; 13 $this->tpl_subnavi = 'order/subnavi.tpl'; 14 $this->tpl_mainno = 'order'; 15 $this->tpl_subno = 'index'; 16 $this->tpl_pager = DATA_PATH . 'Smarty/templates/admin/pager.tpl'; 17 $this->tpl_subtitle = '受注管理'; 18 global $arrORDERSTATUS; 19 $this->arrORDERSTATUS = $arrORDERSTATUS; 20 global $arrORDERSTATUS_COLOR; 21 $this->arrORDERSTATUS_COLOR = $arrORDERSTATUS_COLOR; 22 global $arrSex; 23 $this->arrSex = $arrSex; 24 global $arrPageMax; 25 $this->arrPageMax = $arrPageMax; 26 } 27 } 8 // {{{ requires 9 require_once("../../require.php"); 10 require_once(CLASS_PATH . "page_extends/admin/order/LC_Page_Admin_Order_Ex.php"); 28 11 29 $conn = new SC_DBConn(); 30 $objPage = new LC_Page(); 31 $objView = new SC_AdminView(); 32 $objSess = new SC_Session(); 33 // パラメータ管理クラス 34 $objFormParam = new SC_FormParam(); 35 // パラメータ情報の初期化 36 lfInitParam(); 37 $objFormParam->setParam($_POST); 12 // }}} 13 // {{{ generate page 38 14 39 $objFormParam->splitParamCheckBoxes('search_order_sex'); 40 $objFormParam->splitParamCheckBoxes('search_payment_id'); 41 42 // 検索ワードの引き継ぎ 43 foreach ($_POST as $key => $val) { 44 if (ereg("^search_", $key)) { 45 switch($key) { 46 case 'search_order_sex': 47 case 'search_payment_id': 48 $objPage->arrHidden[$key] = sfMergeParamCheckBoxes($val); 49 break; 50 default: 51 $objPage->arrHidden[$key] = $val; 52 break; 53 } 54 } 55 } 56 57 // ページ送り用 58 $objPage->arrHidden['search_pageno'] = $_POST['search_pageno']; 59 60 // 認証可否の判定 61 sfIsSuccess($objSess); 62 63 if($_POST['mode'] == 'delete') { 64 if(sfIsInt($_POST['order_id'])) { 65 $objQuery = new SC_Query(); 66 $where = "order_id = ?"; 67 $sqlval['del_flg'] = '1'; 68 $objQuery->update("dtb_order", $sqlval, $where, array($_POST['order_id'])); 69 } 70 } 71 72 switch($_POST['mode']) { 73 case 'delete': 74 case 'csv': 75 case 'delete_all': 76 case 'search': 77 // 入力値の変換 78 $objFormParam->convParam(); 79 $objPage->arrErr = lfCheckError($arrRet); 80 $arrRet = $objFormParam->getHashArray(); 81 // 入力なし 82 if (count($objPage->arrErr) == 0) { 83 $where = "del_flg = 0"; 84 foreach ($arrRet as $key => $val) { 85 if($val == "") { 86 continue; 87 } 88 $val = sfManualEscape($val); 89 90 switch ($key) { 91 case 'search_order_name': 92 if(DB_TYPE == "pgsql"){ 93 $where .= " AND order_name01||order_name02 ILIKE ?"; 94 }elseif(DB_TYPE == "mysql"){ 95 $where .= " AND concat(order_name01,order_name02) ILIKE ?"; 96 } 97 $nonsp_val = ereg_replace("[ ]+","",$val); 98 $arrval[] = "%$nonsp_val%"; 99 break; 100 case 'search_order_kana': 101 if(DB_TYPE == "pgsql"){ 102 $where .= " AND order_kana01||order_kana02 ILIKE ?"; 103 }elseif(DB_TYPE == "mysql"){ 104 $where .= " AND concat(order_kana01,order_kana02) ILIKE ?"; 105 } 106 $nonsp_val = ereg_replace("[ ]+","",$val); 107 $arrval[] = "%$nonsp_val%"; 108 break; 109 case 'search_order_id1': 110 $where .= " AND order_id >= ?"; 111 $arrval[] = $val; 112 break; 113 case 'search_order_id2': 114 $where .= " AND order_id <= ?"; 115 $arrval[] = $val; 116 break; 117 case 'search_order_sex': 118 $tmp_where = ""; 119 foreach($val as $element) { 120 if($element != "") { 121 if($tmp_where == "") { 122 $tmp_where .= " AND (order_sex = ?"; 123 } else { 124 $tmp_where .= " OR order_sex = ?"; 125 } 126 $arrval[] = $element; 127 } 128 } 129 130 if($tmp_where != "") { 131 $tmp_where .= ")"; 132 $where .= " $tmp_where "; 133 } 134 break; 135 case 'search_order_tel': 136 if(DB_TYPE == "pgsql"){ 137 $where .= " AND (order_tel01||order_tel02||order_tel03) ILIKE ?"; 138 }elseif(DB_TYPE == "mysql"){ 139 $where .= " AND concat(order_tel01,order_tel02,order_tel03) ILIKE ?"; 140 } 141 $nonmark_val = ereg_replace("[()-]+","",$val); 142 $arrval[] = "$nonmark_val%"; 143 break; 144 case 'search_order_email': 145 $where .= " AND order_email ILIKE ?"; 146 $arrval[] = "%$val%"; 147 break; 148 case 'search_payment_id': 149 $tmp_where = ""; 150 foreach($val as $element) { 151 if($element != "") { 152 if($tmp_where == "") { 153 $tmp_where .= " AND (payment_id = ?"; 154 } else { 155 $tmp_where .= " OR payment_id = ?"; 156 } 157 $arrval[] = $element; 158 } 159 } 160 161 if($tmp_where != "") { 162 $tmp_where .= ")"; 163 $where .= " $tmp_where "; 164 } 165 break; 166 case 'search_total1': 167 $where .= " AND total >= ?"; 168 $arrval[] = $val; 169 break; 170 case 'search_total2': 171 $where .= " AND total <= ?"; 172 $arrval[] = $val; 173 break; 174 case 'search_startyear': 175 $date = sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']); 176 $where.= " AND update_date >= ?"; 177 $arrval[] = $date; 178 break; 179 case 'search_endyear': 180 $date = sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday'], true); 181 $where.= " AND update_date <= ?"; 182 $arrval[] = $date; 183 break; 184 case 'search_sbirthyear': 185 $date = sfGetTimestamp($_POST['search_sbirthyear'], $_POST['search_sbirthmonth'], $_POST['search_sbirthday']); 186 $where.= " AND order_birth >= ?"; 187 $arrval[] = $date; 188 break; 189 case 'search_ebirthyear': 190 $date = sfGetTimestamp($_POST['search_ebirthyear'], $_POST['search_ebirthmonth'], $_POST['search_ebirthday'], true); 191 $where.= " AND order_birth <= ?"; 192 $arrval[] = $date; 193 break; 194 case 'search_order_status': 195 $where.= " AND status = ?"; 196 $arrval[] = $val; 197 break; 198 default: 199 break; 200 } 201 } 202 203 $order = "update_date DESC"; 204 205 switch($_POST['mode']) { 206 case 'csv': 207 // オプションの指定 208 $option = "ORDER BY $order"; 209 210 // CSV出力タイトル行の作成 211 $arrCsvOutput = sfSwapArray(sfgetCsvOutput(3, " WHERE csv_id = 3 AND status = 1")); 212 213 if (count($arrCsvOutput) <= 0) break; 214 215 $arrCsvOutputCols = $arrCsvOutput['col']; 216 $arrCsvOutputTitle = $arrCsvOutput['disp_name']; 217 $head = sfGetCSVList($arrCsvOutputTitle); 218 $data = lfGetCSV("dtb_order", $where, $option, $arrval, $arrCsvOutputCols); 219 220 // CSVを送信する。 221 sfCSVDownload($head.$data); 222 exit; 223 break; 224 case 'delete_all': 225 // 検索結果をすべて削除 226 $sqlval['del_flg'] = 1; 227 $objQuery = new SC_Query(); 228 $objQuery->update("dtb_order", $sqlval, $where, $arrval); 229 break; 230 default: 231 // 読み込む列とテーブルの指定 232 $col = "*"; 233 $from = "dtb_order"; 234 235 $objQuery = new SC_Query(); 236 // 行数の取得 237 $linemax = $objQuery->count($from, $where, $arrval); 238 $objPage->tpl_linemax = $linemax; // 何件が該当しました。表示用 239 240 // ページ送りの処理 241 if(is_numeric($_POST['search_page_max'])) { 242 $page_max = $_POST['search_page_max']; 243 } else { 244 $page_max = SEARCH_PMAX; 245 } 246 247 // ページ送りの取得 248 $objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX); 249 $startno = $objNavi->start_row; 250 $objPage->arrPagenavi = $objNavi->arrPagenavi; 251 252 // 取得範囲の指定(開始行番号、行数のセット) 253 $objQuery->setlimitoffset($page_max, $startno); 254 // 表示順序 255 $objQuery->setorder($order); 256 // 検索結果の取得 257 $objPage->arrResults = $objQuery->select($col, $from, $where, $arrval); 258 } 259 } 260 break; 261 262 default: 263 break; 264 } 265 266 $objDate = new SC_Date(); 267 // 登録・更新日検索用 268 $objDate->setStartYear(RELEASE_YEAR); 269 $objDate->setEndYear(DATE("Y")); 270 $objPage->arrRegistYear = $objDate->getYear(); 271 // 生年月日検索用 272 $objDate->setStartYear(BIRTH_YEAR); 273 $objDate->setEndYear(DATE("Y")); 274 $objPage->arrBirthYear = $objDate->getYear(); 275 // 月日の設定 276 $objPage->arrMonth = $objDate->getMonth(); 277 $objPage->arrDay = $objDate->getDay(); 278 279 // 入力値の取得 280 $objPage->arrForm = $objFormParam->getFormParamList(); 281 // 支払い方法の取得 282 $arrRet = sfGetPayment(); 283 $objPage->arrPayment = sfArrKeyValue($arrRet, 'payment_id', 'payment_method'); 284 285 $objView->assignobj($objPage); 286 $objView->display(MAIN_FRAME); 287 288 //----------------------------------------------------------------------------------------------------------------------------------- 289 /* パラメータ情報の初期化 */ 290 function lfInitParam() { 291 global $objFormParam; 292 $objFormParam->addParam("受注番号1", "search_order_id1", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 293 $objFormParam->addParam("受注番号2", "search_order_id2", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 294 $objFormParam->addParam("対応状況", "search_order_status", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 295 $objFormParam->addParam("顧客名", "search_order_name", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 296 $objFormParam->addParam("顧客名(カナ)", "search_order_kana", STEXT_LEN, "KVCa", array("KANA_CHECK","MAX_LENGTH_CHECK")); 297 $objFormParam->addParam("性別", "search_order_sex", INT_LEN, "n", array("MAX_LENGTH_CHECK")); 298 $objFormParam->addParam("年齢1", "search_age1", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 299 $objFormParam->addParam("年齢2", "search_age2", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 300 $objFormParam->addParam("メールアドレス", "search_order_email", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 301 $objFormParam->addParam("TEL", "search_order_tel", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 302 $objFormParam->addParam("支払い方法", "search_payment_id", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 303 $objFormParam->addParam("購入金額1", "search_total1", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 304 $objFormParam->addParam("購入金額2", "search_total2", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 305 $objFormParam->addParam("表示件数", "search_page_max", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 306 $objFormParam->addParam("開始日", "search_startyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 307 $objFormParam->addParam("開始日", "search_startmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 308 $objFormParam->addParam("開始日", "search_startday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 309 $objFormParam->addParam("終了日", "search_endyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 310 $objFormParam->addParam("終了日", "search_endmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 311 $objFormParam->addParam("終了日", "search_endday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 312 $objFormParam->addParam("開始日", "search_sbirthyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 313 $objFormParam->addParam("開始日", "search_sbirthmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 314 $objFormParam->addParam("開始日", "search_sbirthday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 315 $objFormParam->addParam("終了日", "search_ebirthyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 316 $objFormParam->addParam("終了日", "search_ebirthmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 317 $objFormParam->addParam("終了日", "search_ebirthday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 318 } 319 320 /* 入力内容のチェック */ 321 function lfCheckError() { 322 global $objFormParam; 323 // 入力データを渡す。 324 $arrRet = $objFormParam->getHashArray(); 325 $objErr = new SC_CheckError($arrRet); 326 $objErr->arrErr = $objFormParam->checkError(); 327 328 // 特殊項目チェック 329 $objErr->doFunc(array("受注番号1", "受注番号2", "search_order_id1", "search_order_id2"), array("GREATER_CHECK")); 330 $objErr->doFunc(array("年齢1", "年齢2", "search_age1", "search_age2"), array("GREATER_CHECK")); 331 $objErr->doFunc(array("購入金額1", "購入金額2", "search_total1", "search_total2"), array("GREATER_CHECK")); 332 $objErr->doFunc(array("開始日", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); 333 $objErr->doFunc(array("終了日", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE")); 334 $objErr->doFunc(array("開始日", "終了日", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM")); 335 336 $objErr->doFunc(array("開始日", "search_sbirthyear", "search_sbirthmonth", "search_sbirthday"), array("CHECK_DATE")); 337 $objErr->doFunc(array("終了日", "search_ebirthyear", "search_ebirthmonth", "search_ebirthday"), array("CHECK_DATE")); 338 $objErr->doFunc(array("開始日", "終了日", "search_sbirthyear", "search_sbirthmonth", "search_sbirthday", "search_ebirthyear", "search_ebirthmonth", "search_ebirthday"), array("CHECK_SET_TERM")); 339 340 return $objErr->arrErr; 341 } 342 343 15 $objPage = new LC_Page_Admin_Order_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 344 19 ?>
Note: See TracChangeset
for help on using the changeset viewer.