source: branches/dev/data/include/module.inc @ 15049

Revision 15049, 5.7 KB checked in by adati, 14 years ago (diff)

エビスタグ付加モジュール

Line 
1<?php
2
3// ¥¨¥Ó¥¹¥¿¥°½ÐÎÏÍÑ¥¯¥é¥¹
4class LC_EbisPage {
5    function LC_EbisPage() {
6        $this->tpl_mainpage = MODULE_PATH . "ebis_tag_text.tpl";
7    }
8}
9
10// ¥¨¥Ó¥¹¥¿¥°¤Îȯ¹Ô
11function sfPrintEbisTag($pid = "") {
12    $objQuery = new SC_Query();
13    $arrRet   = $objQuery->select("sub_data", "dtb_module", "module_id = ?", array(EBIS_TAG_MID));
14    $arrSubData = unserialize($arrRet[0]['sub_data']);
15   
16    if ( empty($arrSubData['cid']) ) return;
17   
18    $arrEbis = array(
19        'cid'       => $arrSubData['cid'],
20        'login_url' => $arrSubData['login_url'],
21    );
22   
23    if(!is_array($pid) && $pid != "") {
24        if(!ereg(".tpl$", $pid)) {
25            // ¥Ú¡¼¥¸ID¤ò¾å½ñ¤­¤¹¤ë
26            $arrEbis['pid'] = $pid;
27        } else {
28            // ¥Æ¥ó¥×¥ì¡¼¥È¤Î¥Ñ¥¹¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¾ì¹ç
29            $temp_id = str_replace(USER_TEMPLATE_PATH, '', $pid);
30            $temp_id = str_replace(HTML_PATH,   '',  $temp_id);
31            $temp_id = preg_replace('|^/+|',    '',  $temp_id);
32            $temp_id = preg_replace('|\.tpl$|', '',  $temp_id);
33            $temp_id = preg_replace('|[\./]|',  '_', $temp_id);
34            $arrEbis['pid'] = $temp_id;
35        }
36    }   
37   
38    // ¾¦ÉÊ°ìÍ÷¥Ú¡¼¥¸¤Ï¡¢ÆüìID¤òȯ¹Ô
39    if(ereg("/products/list.php\?category_id=[0-9]+$", $_SERVER["REQUEST_URI"])) {
40        $filename = basename($_SERVER["REQUEST_URI"]);
41        $arrEbis['pid'] = ereg_replace("list.php\?category_id=", "list-c", $filename);
42    }
43   
44    // ¾¦Éʾܺ٥ڡ¼¥¸¤Ï¡¢ÆüìID¤òȯ¹Ô
45    if(ereg("/products/detail.php\?product_id=[0-9]+$", $_SERVER["REQUEST_URI"])) {
46        $filename = basename($_SERVER["REQUEST_URI"]);
47        $arrEbis['pid'] = ereg_replace("detail.php\?product_id=", "detail-p", $filename);
48    }
49
50    // ¹ØÆþ´°Î»¥Ú¡¼¥¸(thanks¥Ú¡¼¥¸)¤ÏÆüìID¤òȯ¹Ô
51    lfSetThanksPegeTag($arrEbis, $arrSubData);
52
53    // ID³ä¤êÅö¤Æ¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ú¡¼¥¸¤Ï¡¢¼«Æ°Åª¤ËÀ¸À®¤¹¤ë¡£
54    if($arrEbis['pid'] == "") {             
55        $temp_id = ereg_replace("^[/]+","",$_SERVER['PHP_SELF']);
56        $temp_id = ereg_replace(".php$","",$temp_id);
57        $temp_id = ereg_replace("[\./]","_",$temp_id);
58        $arrEbis['pid'] = $temp_id;
59    }
60
61    // ¥Ú¡¼¥¸ID¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¤ß¥¿¥°¤ò½ÐÎϤ¹¤ë¡£
62    if($arrEbis['pid'] != "") {
63        $objSubPage = new LC_EbisPage();
64        $objSubPage->arrEbis = $arrEbis;
65        $objSubView = new SC_SiteView();
66        $objSubView->assignobj($objSubPage);
67        $objSubView->display($objSubPage->tpl_mainpage);
68    }
69}
70
71function lfSetThanksPegeTag(&$arrEbis, $arrSubData){
72    $pattern = "|/shopping/complete.php$|";
73    $target  = $_SERVER["REQUEST_URI"];
74    if( !preg_match($pattern, $target) ) return;
75   
76    global $arrEBiSTagAttrTagName;
77    global $arrJobEN;
78    global $arrSexEN;
79    global $order_id;
80   
81    $objQuery = new SC_Query();
82    $arrRet   = $objQuery->select('*', 'dtb_order', 'order_id = ?', array($order_id));
83    $arrCustomerInfo = $arrRet[0];
84    $arrEbis['pid']  = 'thanks'; // ¥Ú¡¼¥¸ID¤ò¥»¥Ã¥È
85   
86    /**
87     * $arrSubData == Array (
88     *      [user] => username
89     *      [pass] => password
90     *      [login_url] => http://login_url/
91     *      [cid] => ebis_parameter
92     *      [m1id] => 1
93     *      [a1id] => 2
94     *      [o1id] => 3
95     *      [o2id] => 4
96     *      [o3id] => 0
97     *      [o4id] => 0
98     *      [o5id] => 0
99     * )
100     * $arrEBiSTagAttrTagName == Array(
101     *      'm1id', 'a1id', 'o1id', 'o2id'
102     *      'o3id', 'o4id', 'o5id'
103     * )
104     **/
105   
106    foreach ($arrEBiSTagAttrTagName as $tagname) {
107        if ( empty($arrSubData[$tagname]) ) continue;
108       
109        $value = $arrSubData[$tagname];
110       
111        // °À­¾ðÊó¤ò¥»¥Ã¥È
112        switch ($value) {
113        case EBiS_TAG_ATTR_CUSTOMER_ID:
114            $arrEbis[$tagname] = $arrCustomerInfo['customer_id'];
115            break;
116        case EBiS_TAG_ATTR_PAYMENT:
117            $arrEbis[$tagname] = $arrCustomerInfo['payment_total'];
118            break;
119        case EBiS_TAG_ATTR_JOB:
120            if ( empty($arrCustomerInfo['order_job']) ) break;
121            $arrEbis[$tagname] = $arrJobEN[$arrCustomerInfo['order_job']];
122            break;
123        case EBiS_TAG_ATTR_SEX:
124            $arrEbis[$tagname] = $arrSexEN[$arrCustomerInfo['order_sex']];
125            break;
126        case EBiS_TAG_ATTR_AGE:
127            if ( empty($arrCustomerInfo['order_birth']) ) break;
128            $arrEbis[$tagname] = gfGetAge($arrCustomerInfo['order_birth']);
129            break;
130        case EBiS_TAG_ATTR_IS_CUSTOMER:
131            if ( $arrCustomerInfo['customer_id'] == '0' ) {
132                $arrEbis[$tagname] = '0';
133            } else {
134                $arrEbis[$tagname] = '1';
135            }
136            break;
137        default:
138        }
139    }
140}
141
142// ¥³¥ó¥Ð¡¼¥¸¥ç¥ó¥¿¥°¤Îȯ¹Ô
143function sfPrintAffTag($conv_page, $option) {
144    if(is_numeric($conv_page)) {
145        // sub_data¤è¤ê¥¿¥°¾ðÊó¤òÆɤ߹þ¤à
146        $objQuery = new SC_Query();
147        $arrRet = $objQuery->select("sub_data", "dtb_module", "module_id = ?", array(AFF_TAG_MID));
148        $arrSubData = unserialize($arrRet[0]['sub_data']);
149        $aff_tag = $arrSubData[$conv_page];
150       
151        $array = split("\|", $option);
152       
153        // ÆÃÄêʸ»ú¤ÎÃÖ¤­´¹¤¨
154        foreach($array as $each) {
155            list($key, $value) = split("=", $each);
156            $aff_tag = ereg_replace("\[\[" . $key . "\]\]", $value, $aff_tag);
157        }
158        print($aff_tag);       
159    }
160}
161
162// dtb_payment¤ËÈÆÍѹàÌܤ¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤ÐÄɲ乤ë
163function sfAlterMemo(){
164    $objQuery = new SC_Query();
165   
166    // ÈÆÍѹàÌܤθºß¥Á¥§¥Ã¥¯
167    if(!sfColumnExists("dtb_payment", "memo01")){
168       
169        // ¥â¥¸¥å¡¼¥ëID¤òÄɲÃ
170        $objQuery->query("alter table dtb_payment add module_id int4;");
171       
172        // ¥â¥¸¥å¡¼¥ë¥Ñ¥¹¤òÄɲÃ
173        $objQuery->query("alter table dtb_payment add module_path text;");
174       
175        // ÈÆÍѹàÌܤò10¸ÄÄɲÃ
176        for($i=1; $i<=9; $i++){
177            $objQuery->query("alter table dtb_payment add memo0".$i." text;");
178        }
179        $objQuery->query("alter table dtb_payment add memo10 text;");
180    }
181}
182
183?>
Note: See TracBrowser for help on using the repository browser.