source: branches/version-1/data/downloads/module/mdl_cybs/class/mdl_cybs_config.php @ 17188

Revision 17188, 3.2 KB checked in by adachi, 15 years ago (diff)

サイバーソース設定画面対応

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-httpd-php
Line 
1<?php
2/**
3 * ¥â¥¸¥å¡¼¥ëÀßÄê¤Î¼èÆÀ¡¦¹¹¿·¤ò¹Ô¤¦
4 *
5 */
6class 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
75SELECT
76    module_id,
77    $memoCols
78FROM
79    dtb_payment
80WHERE
81    module_id = ?
82END;
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?>
Note: See TracBrowser for help on using the repository browser.