source: temp/trunk/html/admin/basis/delivery_input.php @ 1950

Revision 1950, 4.9 KB checked in by kakinaka, 20 years ago (diff)

blank

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?php
2
3require_once("../require.php");
4
5class LC_Page {
6    var $arrSession;
7    var $tpl_mode;
8    function LC_Page() {
9        $this->tpl_mainpage = 'basis/delivery_input.tpl';
10        $this->tpl_subnavi = 'basis/subnavi.tpl';
11        $this->tpl_subno = 'delivery';
12        $this->tpl_mainno = 'basis';
13        global $arrPref;
14        $this->arrPref = $arrPref;
15        $this->tpl_subtitle = 'ÇÛÁ÷¶È¼ÔÀßÄê';
16    }
17}
18
19$conn = new SC_DBConn();
20$objPage = new LC_Page();
21$objView = new SC_AdminView();
22$objSess = new SC_Session();
23$objQuery = new SC_Query();
24
25// ǧ¾Ú²ÄÈݤÎȽÄê
26sfIsSuccess($objSess);
27
28// ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹
29$objFormParam = new SC_FormParam();
30// ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½
31lfInitParam();
32// POSTÃͤμèÆÀ
33$objFormParam->setParam($_POST);
34
35switch($_POST['mode']) {
36case 'edit':
37    // ÆþÎÏÃͤÎÊÑ´¹
38    $objFormParam->convParam();
39    $objPage->arrErr = lfCheckError();
40    if(count($objPage->arrErr) == 0) {
41        $objPage->tpl_deliv_id = lfRegistData();
42        $objPage->tpl_onload = "window.alert('ÇÛÁ÷¶È¼ÔÀßÄ꤬´°Î»¤·¤Þ¤·¤¿¡£');";
43    }
44    break;
45case 'pre_edit':
46    if($_POST['deliv_id'] != "") {
47        lfGetDelivData($_POST['deliv_id']);
48        $objPage->tpl_deliv_id = $_POST['deliv_id'];
49    }
50    break;
51default:
52    break;
53}
54
55$objPage->arrForm = $objFormParam->getFormParamList();
56$objView->assignobj($objPage);
57$objView->display(MAIN_FRAME);
58//--------------------------------------------------------------------------------------------------------------------------------------
59/* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */
60function lfInitParam() {
61    global $objFormParam;
62    $objFormParam->addParam("ÇÛÁ÷¶È¼Ô̾", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
63    $objFormParam->addParam("ÅÁɼNo.³ÎǧURL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://");
64   
65    for($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
66        $objFormParam->addParam("ÇÛÁ÷»þ´Ö$cnt", "time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
67    }
68   
69    if(INPUT_DELIV_FEE) {
70        for($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) {
71            $objFormParam->addParam("ÇÛÁ÷ÎÁ¶â$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
72        }
73    }
74}
75
76/* DB¤ËÅÐÏ¿¤¹¤ë */
77function lfRegistData() {
78    global $objFormParam;
79    $arrRet = $objFormParam->getHashArray();
80    $objQuery = new SC_Query();
81    $objQuery->begin();
82
83    // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£
84    $sqlval['name'] = $arrRet['name'];
85    $sqlval['service_name'] = $arrRet['name'];
86    $sqlval['confirm_url'] = $arrRet['confirm_url'];
87    $sqlval['creator_id'] = $_SESSION['member_id'];
88    $sqlval['update_date'] = 'Now()';
89   
90    if($_POST['deliv_id'] != "") {
91        $deliv_id = $_POST['deliv_id'];
92        $where = "deliv_id = ?";
93        $objQuery->update("dtb_deliv", $sqlval, $where, array($deliv_id));
94        $objQuery->delete("dtb_delivfee", $where, array($deliv_id));
95        $objQuery->delete("dtb_delivtime", $where, array($deliv_id));
96    } else {
97        // ÅÐÏ¿¤¹¤ëÇÛÁ÷¶È¼ÔID¤Î¼èÆÀ
98        $deliv_id = $objQuery->nextval('dtb_deliv', 'deliv_id');
99        $sqlval['deliv_id'] = $deliv_id;
100        $sqlval['rank'] = $objQuery->max("dtb_deliv", "rank") + 1;
101        // INSERT¤Î¼Â¹Ô
102        $objQuery->insert("dtb_deliv", $sqlval);
103    }
104   
105    $sqlval = array();
106    // ÇÛÁ÷»þ´Ö¤ÎÀßÄê
107    for($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
108        $keyname = "time$cnt";
109        if($arrRet[$keyname] != "") {
110            $sqlval['deliv_id'] = $deliv_id;
111            $sqlval['time'] = $arrRet[$keyname];
112            // INSERT¤Î¼Â¹Ô
113            $objQuery->insert("dtb_delivtime", $sqlval);
114        }
115    }
116   
117    if(INPUT_DELIV_FEE) {
118        $sqlval = array();
119        // ÇÛÁ÷ÎÁ¶â¤ÎÀßÄê
120        for($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) {
121            $keyname = "fee$cnt";
122            if($arrRet[$keyname] != "") {
123                $sqlval['deliv_id'] = $deliv_id;
124                $sqlval['fee'] = $arrRet[$keyname];
125                $sqlval['pref'] = $cnt;
126                // INSERT¤Î¼Â¹Ô
127                $objQuery->insert("dtb_delivfee", $sqlval);
128            }
129        }
130    }
131    $objQuery->commit();
132    return $deliv_id;
133}
134
135/* ÇÛÁ÷¶È¼Ô¾ðÊó¤Î¼èÆÀ */
136function lfGetDelivData($deliv_id) {
137    global $objFormParam;
138    $objQuery = new SC_Query();
139    // ÇÛÁ÷¶È¼Ô°ìÍ÷¤Î¼èÆÀ
140    $col = "deliv_id, name, service_name, confirm_url";
141    $where = "deliv_id = ?";
142    $table = "dtb_deliv";
143    $arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
144    $objFormParam->setParam($arrRet[0]);
145    // ÇÛÁ÷»þ´Ö¤Î¼èÆÀ
146    $col = "time";
147    $where = "deliv_id = ?";
148    $table = "dtb_delivtime";
149    $arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
150    $objFormParam->setParamList($arrRet, 'time');
151    // ÇÛÁ÷ÎÁ¶â¤Î¼èÆÀ
152    $col = "fee";
153    $where = "deliv_id = ?";
154    $table = "dtb_delivfee";
155    $arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
156    $objFormParam->setParamList($arrRet, 'fee');
157}
158
159/* ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ */
160function lfCheckError() {
161    global $objFormParam;
162    // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£
163    $arrRet =  $objFormParam->getHashArray();
164    $objErr = new SC_CheckError($arrRet);
165    $objErr->arrErr = $objFormParam->checkError();
166   
167    if(!isset($objErr->arrErr['name']) && $_POST['deliv_id'] == "") {
168        // ´û¸¥Á¥§¥Ã¥¯
169        $ret = sfIsRecord("dtb_deliv", "service_name", array($arrRet['service_name']));
170        if ($ret) {
171            $objErr->arrErr['name'] = "¢¨ Ʊ¤¸Ì¾¾Î¤ÎÁȤ߹ç¤ï¤»¤ÏÅÐÏ¿¤Ç¤­¤Þ¤»¤ó¡£<br>";
172        }
173    }
174   
175    return $objErr->arrErr;
176}
Note: See TracBrowser for help on using the repository browser.