1 | <?php |
---|
2 | /** |
---|
3 | * ¥â¥¸¥å¡¼¥ëÀßÄê¤Î¼èÆÀ¡¦¹¹¿·¤ò¹Ô¤¦ |
---|
4 | * |
---|
5 | */ |
---|
6 | class Mdl_Cybs_Config { |
---|
7 | var $arrConfig; |
---|
8 | |
---|
9 | /** |
---|
10 | * dtb_payment¤Îmemo**¤ØÅÐÏ¿¤¹¤ë¹àÌܤòÁý¤ä¤¹¾ì¹ç¤Ï¡¢ |
---|
11 | * ¤³¤ÎÇÛÎó¤Ëmemo¤ËÂбþ¤¹¤ë¥¡¼Ì¾¤òÄɲä·¡¢ |
---|
12 | * ¥Æ¥ó¥×¥ì¡¼¥È¦¤ÇÄɲä·¤¿¥¡¼Ì¾¤ò»ÈÍѤ¹¤ë |
---|
13 | * |
---|
14 | * @see $this->_getConfig() |
---|
15 | * @see $this->createSqlArray() |
---|
16 | * @var array |
---|
17 | */ |
---|
18 | var $arrPaymentMemoCols = array( |
---|
19 | 'memo01' => 'cybs_request_url', |
---|
20 | 'memo02' => 'cybs_merchant_id', |
---|
21 | 'memo03' => 'cybs_ondemand_use', |
---|
22 | 'memo04' => 'cybs_3d_use' |
---|
23 | ); |
---|
24 | |
---|
25 | /** |
---|
26 | * Mdl_Cybs_Config¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¼èÆÀ¤¹¤ë. |
---|
27 | * ¥¤¥ó¥¹¥¿¥ó¥¹À¸À®¤Ïnew±é»»»Ò¤ò»ÈÍѤ»¤ºgetInstanse()¤ò»ÈÍѤ¹¤ë |
---|
28 | * |
---|
29 | * @return Mdl_Cybs_Config |
---|
30 | */ |
---|
31 | function &getInstanse() { |
---|
32 | static $_CybsConfigObj; |
---|
33 | |
---|
34 | if ($_CybsConfigObj == null) { |
---|
35 | $_CybsConfigObj = new Mdl_Cybs_Config(); |
---|
36 | } |
---|
37 | return $_CybsConfigObj; |
---|
38 | } |
---|
39 | |
---|
40 | /** |
---|
41 | * ÀßÄê¤ò¼èÆÀ¤¹¤ë |
---|
42 | * |
---|
43 | * @param string $key |
---|
44 | * @return array|null |
---|
45 | */ |
---|
46 | function getConfig($key = null) { |
---|
47 | if (empty($this->arrConfig)) { |
---|
48 | $this->arrConfig = $this->_getConfig(); |
---|
49 | } |
---|
50 | |
---|
51 | // °ú¿ô¤¬Ìµ¤¤¾ì¹ç¤ÏÁ´¤Æ¤Î¥Ç¡¼¥¿¤òÊÖ¤¹ |
---|
52 | if (empty($key)) { |
---|
53 | return $this->arrConfig; |
---|
54 | } |
---|
55 | |
---|
56 | // $key¤¬°ú¿ô¤ÇÅϤµ¤ì¤¿¾ì¹ç¤Ï$key¤ËÂбþ¤¹¤ëÃͤòÊÖ¤¹ |
---|
57 | return isset($this->arrConfig[$key]) |
---|
58 | ? $this->arrConfig[$key] |
---|
59 | : null; |
---|
60 | } |
---|
61 | |
---|
62 | /** |
---|
63 | * DB¤«¤éÀßÄê¤ò¼èÆÀ¤¹¤ë |
---|
64 | * |
---|
65 | * @return array |
---|
66 | */ |
---|
67 | function _getConfig() { |
---|
68 | // memo01¢·memo10 |
---|
69 | $arrMemo = array(); |
---|
70 | foreach ($this->arrPaymentMemoCols as $k => $v) { |
---|
71 | $arrMemo[] = "$k as $v"; |
---|
72 | } |
---|
73 | $memoCols = implode(',', $arrMemo); |
---|
74 | $sql =<<<END |
---|
75 | SELECT |
---|
76 | module_id, |
---|
77 | $memoCols |
---|
78 | FROM |
---|
79 | dtb_payment |
---|
80 | WHERE |
---|
81 | module_id = ? |
---|
82 | END; |
---|
83 | $objQuery = new SC_Query; |
---|
84 | $arrRet = $objQuery->getAll($sql, array(MDL_CYBS_ID)); |
---|
85 | return isset($arrRet[0]) ? $arrRet[0] : array(); |
---|
86 | } |
---|
87 | |
---|
88 | /** |
---|
89 | * DB¤ØÀßÄê¤òÅÐÏ¿¤¹¤ë. |
---|
90 | * |
---|
91 | * @param array $arrConfig |
---|
92 | */ |
---|
93 | function registerConfig($arrConfig) { |
---|
94 | $table = 'dtb_payment'; |
---|
95 | $where = 'module_id = ' . MDL_CYBS_ID; |
---|
96 | |
---|
97 | $objQuery = new SC_Query; |
---|
98 | $count = $objQuery->count($table, $where); |
---|
99 | |
---|
100 | if ($count) { |
---|
101 | $objQuery->update($table, $arrConfig, $where); |
---|
102 | } else { |
---|
103 | $objQuery->insert($table, $arrConfig); |
---|
104 | } |
---|
105 | } |
---|
106 | |
---|
107 | /** |
---|
108 | * Insert/UpdateÍѤÎÏ¢ÁÛÇÛÎó¤òÀ¸À®¤¹¤ë |
---|
109 | * |
---|
110 | * @param SC_FormParam $objForm |
---|
111 | * @return array |
---|
112 | */ |
---|
113 | function createSqlArray($objForm) { |
---|
114 | $objSess = new SC_Session; |
---|
115 | |
---|
116 | $arrData = array(); |
---|
117 | $arrData["payment_method"] = "¥µ¥¤¥Ð¡¼¥½¡¼¥¹¥¯¥ì¥¸¥Ã¥È"; |
---|
118 | $arrData["fix"] = 3; |
---|
119 | $arrData["module_id"] = MDL_CYBS_ID; |
---|
120 | $arrData["module_path"] = MODULE_PATH . "mdl_cybs/mdl_cybs_credit.php"; |
---|
121 | // memo01¢·memo10 |
---|
122 | foreach ($this->arrPaymentMemoCols as $k => $v) { |
---|
123 | $arrData[$k] = $objForm->getValue($v); |
---|
124 | } |
---|
125 | $arrData["del_flg"] = "0"; |
---|
126 | $arrData["creator_id"] = $objSess->member_id; |
---|
127 | $arrData["update_date"] = "NOW()"; |
---|
128 | |
---|
129 | return $arrData; |
---|
130 | } |
---|
131 | |
---|
132 | /** |
---|
133 | * 3D¥»¥¥å¥¢¤òÍøÍѤ¹¤ë¤«¤É¤¦¤« |
---|
134 | * |
---|
135 | * @return boolean |
---|
136 | */ |
---|
137 | function use3D() { |
---|
138 | $use3D = $this->getConfig('cybs_3d_use'); |
---|
139 | |
---|
140 | return $use3D |
---|
141 | ? true |
---|
142 | : false; |
---|
143 | } |
---|
144 | |
---|
145 | /** |
---|
146 | * ¥ª¥ó¥Ç¥Þ¥ó¥É²Ý¶â¤¬Í¸ú¤«¤É¤¦¤« |
---|
147 | * |
---|
148 | * @return boolean |
---|
149 | */ |
---|
150 | function enableOndemand() { |
---|
151 | // Èó²ñ°÷¤Ï̵¸ú |
---|
152 | $objCustomer = new SC_Customer; |
---|
153 | if (!$objCustomer->isLoginSuccess()) return false; |
---|
154 | |
---|
155 | $useOndemand = $this->getConfig('cybs_ondemand_use'); |
---|
156 | |
---|
157 | return $useOndemand ? true : false; |
---|
158 | } |
---|
159 | |
---|
160 | /** |
---|
161 | * ²ñ°÷¤Î¥µ¥Ö¥¹¥¯¥ê¥×¥·¥ç¥óID¤òÊÖ¤¹. |
---|
162 | * |
---|
163 | * array( |
---|
164 | * 'subs_id' => '***', |
---|
165 | * 'merchant_ref_number' => '***', |
---|
166 | * ), |
---|
167 | * array( |
---|
168 | * 'subs_id' => '***', |
---|
169 | * 'merchant_ref_number' => '***', |
---|
170 | * ), |
---|
171 | * ... |
---|
172 | * |
---|
173 | * @return array |
---|
174 | */ |
---|
175 | function getSubsIds() { |
---|
176 | $objCustomer = new SC_Customer; |
---|
177 | $objCustomer->updateSession(); |
---|
178 | $subsDataString = $objCustomer->getValue('cybs_subs_id'); |
---|
179 | |
---|
180 | if (is_null($subsDataString)) { |
---|
181 | return array(); |
---|
182 | } |
---|
183 | |
---|
184 | $subsData = unserialize($subsDataString); |
---|
185 | |
---|
186 | return is_array($subsData) ? $subsData : array(); |
---|
187 | } |
---|
188 | |
---|
189 | /** |
---|
190 | * ¥µ¥Ö¥¹¥¯¥ê¥×¥·¥ç¥óID¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë. |
---|
191 | * |
---|
192 | * @param string $subsId |
---|
193 | * @param integer $merchant_ref_number |
---|
194 | * @param array $arrSubsResults |
---|
195 | */ |
---|
196 | function addSubsId($subsId, $merchant_ref_number) { |
---|
197 | if (!$this->canAddSubsId()) { |
---|
198 | return; |
---|
199 | } |
---|
200 | $objCustomer = new SC_Customer; |
---|
201 | $customerId = $objCustomer->getValue('customer_id'); |
---|
202 | |
---|
203 | $arrSubsId = $this->getSubsIds(); |
---|
204 | |
---|
205 | $arrSubsId[] = array( |
---|
206 | 'subs_id' => $subsId, |
---|
207 | 'merchant_ref_number' => $merchant_ref_number); |
---|
208 | $arrUpdate = array('cybs_subs_id' => serialize($arrSubsId)); |
---|
209 | |
---|
210 | $objQuery = new SC_Query; |
---|
211 | $objQuery->update('dtb_customer', $arrUpdate, 'customer_id = ?', array($customerId)); |
---|
212 | } |
---|
213 | |
---|
214 | /** |
---|
215 | * ¥µ¥Ö¥¹¥¯¥ê¥×¥·¥ç¥ó¤ÎÅÐÏ¿¿ô¤¬Max¤«¤É¤¦¤«¤òȽÄꤹ¤ë |
---|
216 | * |
---|
217 | * @return boolean |
---|
218 | */ |
---|
219 | function canAddSubsId() { |
---|
220 | $arrSubsData = $this->getSubsIds(); |
---|
221 | if (is_array($arrSubsData) && count($arrSubsData) < MDL_CYBS_SUBS_ID_MAX) { |
---|
222 | return true; |
---|
223 | } |
---|
224 | return false; |
---|
225 | } |
---|
226 | } |
---|
227 | ?> |
---|