source: branches/feature-module-update/html/admin/order/status.php @ 15080

Revision 15080, 4.9 KB checked in by nanasess, 17 years ago (diff)

svn properties 設定

  • svn:mime-type - application/x-httpd-php; charset=UTF-8
  • svn:keywords - Id
  • Property svn:keywords set to Id
  • Property svn:mime-type set to application/x-httpd-php; charset=UTF-8
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7require_once("../require.php");
8require_once("./index_csv.php");
9
10//ステータス管理-一括移動機能
11
12class LC_Page {
13    function LC_Page() {
14        $this->tpl_mainpage = 'order/status.tpl';
15        $this->tpl_subnavi = 'order/subnavi.tpl';
16        $this->tpl_mainno = 'order';
17        $this->tpl_subno = 'status';
18        global $arrORDERSTATUS;
19        global $arrORDERSTATUS_COLOR;
20        $this->arrORDERSTATUS = $arrORDERSTATUS;
21        $this->arrORDERSTATUS_COLOR = $arrORDERSTATUS_COLOR;
22       
23    }
24}
25
26$objPage = new LC_Page();
27$objView = new SC_AdminView();
28$objSess = new SC_Session();
29$objQuery = new SC_Query();
30
31// 認証可否の判定
32$objSess = new SC_Session();
33sfIsSuccess($objSess);
34
35//ステータス情報(仮定)
36$objPage->SelectedStatus = $_POST['status'];
37$objPage->arrForm = $_POST;
38
39//支払方法の取得
40$objPage->arrPayment = sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
41
42switch ($_POST['mode']){
43   
44    case 'search':
45        switch($_POST['change_status']){
46               
47            default:
48            break;
49           
50            //新規受付
51            case ORDER_NEW:
52                lfStatusMove(ORDER_NEW, $_POST['move']);
53            break;
54           
55            //入金待ち
56            case ORDER_PAY_WAIT:
57                lfStatusMove(ORDER_PAY_WAIT, $_POST['move']);
58            break;
59           
60            //キャンセル
61            case ORDER_CANCEL:
62                lfStatusMove(ORDER_CANCEL, $_POST['move']);
63            break;
64           
65            //取り寄せ中
66            case ORDER_BACK_ORDER:
67                lfStatusMove(ORDER_BACK_ORDER, $_POST['move']);
68            break;
69           
70            //発送済み
71            case ORDER_DELIV:
72                lfStatusMove(ORDER_DELIV, $_POST['move']);
73            break;
74           
75            //入金済み
76            case ORDER_PRE_END:
77                lfStatusMove(ORDER_PRE_END, $_POST['move']);
78            break;
79           
80            //削除
81            case 'delete':
82                lfStatusMove("delete",$_POST['move']);
83            break;
84        }
85       
86        //検索結果の表示
87        lfStatusDisp($_POST['status'],$_POST['search_pageno']);
88        break;
89       
90    default:
91        //デフォルトで新規受付一覧表示
92        lfStatusDisp(ORDER_NEW, $_POST['search_pageno']);
93        $objPage->defaultstatus = ORDER_NEW;
94        break;
95}
96
97$objView->assignobj($objPage);
98$objView->display(MAIN_FRAME);
99
100//-----------------------------------------------------------------------------------------------------------------------------------
101
102//ステータス一覧の表示
103function lfStatusDisp($status,$pageno){
104    global $objPage;
105    global $objQuery;
106   
107    $select ="*";
108    $from = "dtb_order";
109    $where="del_flg=0 AND status=?";
110    $order = "order_id DESC";
111   
112    $linemax = $objQuery->count("dtb_order", "del_flg = 0 AND status=?", array($status));
113    $objPage->tpl_linemax = $linemax;
114   
115    // ページ送りの処理
116    $page_max = ORDER_STATUS_MAX;
117   
118    // ページ送りの取得
119    $objNavi = new SC_PageNavi($pageno, $linemax, $page_max, "fnNaviSearchOnlyPage", NAVI_PMAX);
120    $objPage->tpl_strnavi = $objNavi->strnavi;      // 表示文字列
121    $startno = $objNavi->start_row;
122   
123    $objPage->tpl_pageno = $pageno;
124   
125    // 取得範囲の指定(開始行番号、行数のセット)
126    $objQuery->setlimitoffset($page_max, $startno);
127   
128    //表示順序
129    $objQuery->setorder($order);
130   
131    //検索結果の取得
132    $objPage->arrStatus = $objQuery->select($select, $from, $where, array($status));
133   
134    return $objPage;
135}
136
137//ステータス情報の更新(削除)
138function lfStatusMove($status_id, $arrMove){
139    global $objQuery;
140    global $objPage;
141    global $arrORDERSTATUS;
142   
143    $table = 'dtb_order';
144    $where = 'order_id = ?';
145    $arrUpdate = array('update_date' => 'NOW()');
146   
147    $delflg  = '1'; // 削除フラグ
148    $message = '';  // ステータス変更後にポップアップするメッセージの内容
149   
150    if ( $status_id == 'delete' ) {
151        $arrUpdate['del_flg'] = $delflg;
152        $message = '削除';
153    }
154    // ステータスが発送済みの時は発送日を更新
155    elseif ( $status_id == ORDER_DELIV ) {
156        $arrUpdate['status'] = $status_id;
157        $arrUpdate['commit_date'] = 'NOW()';
158        $message = $arrORDERSTATUS[$status_id] . 'へ移動';
159    }
160    else {
161        $arrUpdate['status'] = $status_id;
162        $message = $arrORDERSTATUS[$status_id] . 'へ移動';
163    }
164   
165    if ( isset($arrMove) ){
166        foreach ( $arrMove as $val ){
167            if ( $val != "" ) {
168                $objQuery->update($table, $arrUpdate, $where, array($val));
169            }
170           
171        }
172    }
173   
174    $objPage->tpl_onload = "window.alert('選択項目を" . $message . "しました。');";
175}
176
177?>
Note: See TracBrowser for help on using the repository browser.