source: branches/feature-module-movilink/data/downloads/module/mdl_movilink/mdl_movilink.inc @ 16526

Revision 16526, 10.8 KB checked in by naka, 14 years ago (diff)

モビル連携モジュール中間アップ

Line 
1<?php
2/**
3 *
4 * @copyright   2000-2007 LOCKON CO.,LTD. All Rights Reserved.
5 * @link        http://www.lockon.co.jp/
6 *
7 */
8require_once(DATA_PATH . "include/csv_output.inc");
9require_once(DATA_PATH . "module/Request.php");
10require_once(DATA_PATH . "lib/slib.php");
11
12/**** ¢§Äê¿ôÀë¸À *********************************************************************************************/
13
14define("MDL_MOVILINK_ID", 12);
15define("MODULE_NAME", "¥â¥Ó¥ëÏ¢·È¥â¥¸¥å¡¼¥ë");
16
17/**** ¢§Äê¿ôÀë¸À *********************************************************************************************/
18// ¥»¥Ã¥·¥ç¥ó³«»Ï
19sfDomainSessionStart();
20if($_GET['aflkey'] != "") {
21    $_SESSION['aflkey'] = $_GET['aflkey'];
22}
23sfPrintR($_SESSION);
24
25/**************************************************************************************************************
26 * ´Ø¿ô̾   ¡§sfSetModuleDB
27 * ½èÍýÆâÍÆ ¡§É¬Íפʥǡ¼¥¿¤ò¼èÆÀ¤¹¤ë¡£
28 * °ú¿ô1    ¡§
29 * °ú¿ô2    ¡§
30 * °ú¿ô3    ¡§
31 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
32 **************************************************************************************************************/
33function sfSetModuleDB(){
34    global $objQuery;
35    $arrVal['status'] = $_POST['status'];
36    $arrVal['site_id'] = $_POST['site_id'];
37    $sqlval['sub_data'] = serialize($arrVal);   
38    $objQuery->update("dtb_module", $sqlval, "module_id = ?", array(MDL_MOVILINK_ID));
39}
40
41/**************************************************************************************************************
42 * ´Ø¿ô̾   ¡§sfGetModuleDB
43 * ½èÍýÆâÍÆ ¡§É¬Íפʥǡ¼¥¿¤ò¼èÆÀ¤¹¤ë¡£
44 * °ú¿ô1    ¡§
45 * °ú¿ô2    ¡§
46 * °ú¿ô3    ¡§
47 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
48 **************************************************************************************************************/
49// DB¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
50function sfGetModuleDB($module_id = MDL_MOVILINK_ID){
51    $objQuery = new SC_Query();
52    $arrVal = array($module_id);
53    $arrRet = array();
54    $sql = "SELECT
55                sub_data
56            FROM dtb_module WHERE module_id = ? " . $where;
57    $arrRet = $objQuery->getall($sql, $arrVal);
58    return unserialize($arrRet[0]['sub_data']);
59}
60
61/**************************************************************************************************************
62 * ´Ø¿ô̾   ¡§sfIsMoviLink
63 * ½èÍýÆâÍÆ ¡§¥â¥Ó¥ê¥ó¥¯¤¬Í­¸ú¤Ç¤¢¤ë¤«¤É¤¦¤«
64 * °ú¿ô1    ¡§
65 * °ú¿ô2    ¡§
66 * °ú¿ô3    ¡§
67 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
68 **************************************************************************************************************/
69// DB¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
70function sfIsMoviLink(){
71    $arrRet = sfGetModuleDB();
72    if($arrRet['status'] == '1')
73    {
74        return true;   
75    }
76    return false;
77}
78
79/**************************************************************************************************************
80 * ´Ø¿ô̾   ¡§sfMakeMoviLinkColumn
81 * ½èÍýÆâÍÆ ¡§É¬Íפʥ«¥é¥à¤¬¤¢¤ì¤ÐÀ¸À®¤¹¤ë¡£
82 * °ú¿ô1    ¡§
83 * °ú¿ô2    ¡§
84 * °ú¿ô3    ¡§
85 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
86 **************************************************************************************************************/
87function sfMakeMoviLinkColumn() {
88    $objQuery = new SC_Query();
89    $arrInsCol[] = array("name" => "movilink_net_percent", "type" => "numeric");
90    $arrInsCol[] = array("name" => "movilink_net_fix", "type" => "numeric");
91    $arrInsCol[] = array("name" => "movilink_draft_text1", "type" => "text");
92    $arrInsCol[] = array("name" => "movilink_draft_text2", "type" => "text");
93    $arrInsCol[] = array("name" => "movilink_code1", "type" => "text");
94    $arrInsCol[] = array("name" => "movilink_kana", "type" => "text");
95    $arrInsCol[] = array("name" => "movilink_price", "type" => "numeric");
96   
97    foreach($arrInsCol as $key => $val) {
98        // ¹àÌܤθºß¥Á¥§¥Ã¥¯
99        if(!sfColumnExists("dtb_products", $val["name"])){
100            // ¥â¥¸¥å¡¼¥ëID¤òÄɲÃ
101            $objQuery->query("alter table dtb_products add " . $val["name"] . " " . $val["type"]);
102        }
103    }
104}
105
106/**************************************************************************************************************
107 * ´Ø¿ô̾   ¡§sfSetMoviLinkCSV
108 * ½èÍýÆâÍÆ ¡§CSV½ÐÎÏÍѤΥ쥳¡¼¥É¤òÀßÄꤹ¤ë
109 * °ú¿ô1    ¡§
110 * °ú¿ô2    ¡§
111 * °ú¿ô3    ¡§
112 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
113 **************************************************************************************************************/
114function sfSetMoviLinkCSV() {
115    $objQuery = new SC_Query();
116    $rank = 0;
117   
118    $objQuery->delete("dtb_csv", "csv_id = ?", array(CSV_ID_MOVI));
119   
120    // ¹¹¿·¥Ç¡¼¥¿
121    $arrInsData[]= array("name"=>"¹­¹ð¼çÍ;¦ÉÊ¥³¡¼¥É",value=>"movilink_code1");
122    $arrInsData[]= array("name"=>"¾¦ÉÊ̾",value=>"name");
123    $arrInsData[]= array("name"=>"¾¦ÉÊ̾(¥Õ¥ê¥¬¥Ê)",value=>"movilink_kana");
124    $arrInsData[]= array("name"=>"¾¦ÉÊÊó½·Î¨",value=>"movilink_net_percent");
125    $arrInsData[]=array("name"=>"¾¦ÉÊÊó½·³Û",value=>"movilink_net_fix");
126    $arrInsData[]=array("name"=>"½ê°¥«¥Æ¥´¥ê",value=>"(SELECT category_name FROM dtb_category as cat WHERE dtb_products.category_id = cat.category_id) AS movilink_category");
127    $arrInsData[]=array("name"=>"¹­¹ð¥¿¥°¸¶¹Æ - ¥Æ¥­¥¹¥È1",value=>"movilink_draft_text1");
128    $arrInsData[]=array("name"=>"¹­¹ð¥¿¥°¸¶¹Æ - ¥Æ¥­¥¹¥È2",value=>"movilink_draft_text2");
129    $arrInsData[]=array("name"=>"¹­¹ð¥¿¥°¸¶¹Æ - ¥Æ¥­¥¹¥È2",value=>"movilink_draft_text2");
130    $arrInsData[]=array("name"=>"¾¦ÉÊÍ×Ìó",value=>"main_comment");
131    $arrInsData[]=array("name"=>"¾¦ÉʾܺÙ",value=>"main_list_comment");
132    $arrInsData[]=array("name"=>"¾¦ÉʲÁ³Ê",value=>"movilink_price");
133    $arrInsData[]=array("name"=>"¾¦ÉÊurl",value=>"product_id as movilink_url");
134    $arrInsData[]=array("name"=>"¥­¥ã¥ê¥¢Ê̾¦ÉÊurl¡Êdocomo¡Ë",value=>"'' as movilink_url_j");
135    $arrInsData[]=array("name"=>"¥­¥ã¥ê¥¢Ê̾¦ÉÊurl¡Êau¡Ë",value=>"'' as movilink_url_ez");
136    $arrInsData[]=array("name"=>"¥­¥ã¥ê¥¢Ê̾¦ÉÊurl¡Ê¥½¥Õ¥È¥Ð¥ó¥¯¥â¥Ð¥¤¥ë¡Ë",value=>"'' as movilink_url_sb");
137    $arrInsData[]=array("name"=>"¾¦ÉʲèÁüurl",value=>"main_list_image as movilink_image_url");
138    $arrInsData[]=array("name"=>"¾¦ÉʲèÁüurl(¥â¥Ð¥¤¥ë)",value=>"main_list_image as movilink_image_url_mobile");
139    $arrInsData[]=array("name"=>"¾¦ÉʲèÁü¥µ¥à¥Í¥¤¥ëurl",value=>"main_list_image as movilink_image_thumbnail_url");
140    $arrInsData[]=array("name"=>"¾¦ÉÊ¥³¥ß¥Ã¥·¥ç¥óΨ",value=>"'' as commission_percent");
141   
142    // ¹¹¿·¥Ç¡¼¥¿Ê¬¥ë¡¼¥×
143    foreach($arrInsData as $key => $val){
144        $sql = "INSERT INTO dtb_csv(csv_id,col,disp_name,rank,create_date,update_date) VALUES (?,?,?,?,now(),now())";
145        $arrVal = array(CSV_ID_MOVI, $val["value"], $val["name"], ++$rank);
146        $objQuery->query($sql,$arrVal);
147    }
148    /*
149    SELECT
150    (SELECT category_name FROM dtb_category as cat WHERE prdcls.category_id = cat.category_id) AS movilink_category
151    ,*
152FROM
153    vw_products_allclass as prdcls
154    */
155}
156
157
158/**************************************************************************************************************
159 * ´Ø¿ô̾   ¡§sfGetMovilinkCSVList
160 * ½èÍýÆâÍÆ ¡§ÇÛÎó¤ÎÍ×ÁǤòCSV¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç½ÐÎϤ¹¤ë
161 * °ú¿ô1    ¡§
162 * °ú¿ô2    ¡§
163 * °ú¿ô3    ¡§
164 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
165 **************************************************************************************************************/
166function sfGetMovilinkCSVList($array) {
167    if (count($array) > 0) {
168        foreach($array as $key => $val) {
169            switch($val) {
170            case    '¹­¹ð¥¿¥°¸¶¹Æ - ¥Æ¥­¥¹¥È2':
171                break;
172            default:
173                $val = mb_convert_encoding($val, CHAR_CODE, CHAR_CODE);
174                $line .= "\"".$val."\",";
175                break;
176            }
177        }
178        $line = ereg_replace(",$", "\n", $line);
179    }else{
180        return false;
181    }
182    return $line;
183}
184
185/**************************************************************************************************************
186 * ´Ø¿ô̾   ¡§sfGetMovilinkCSV
187 * ½èÍýÆâÍÆ ¡§ CSV½ÐÎϥǡ¼¥¿¤òºîÀ®¤¹¤ë¡£(MOVILINK)
188 * °ú¿ô1    ¡§
189 * °ú¿ô2    ¡§
190 * °ú¿ô3    ¡§
191 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
192 **************************************************************************************************************/
193function sfGetMovilinkCSV($where, $option, $arrval, $arrOutputCols) {
194    global $arrPRODUCTS_CVSCOL;
195
196    $from = "dtb_products";
197    $cols = sfGetCommaList($arrOutputCols);
198   
199    $objQuery = new SC_Query();
200    $objQuery->setoption($option);
201   
202    $list_data = $objQuery->select($cols, $from, $where, $arrval);
203    $max = count($list_data);
204   
205    for($i = 0; $i < $max; $i++) {
206        // ³Æ¹àÌܤòCSV½ÐÎÏÍѤËÊÑ´¹¤¹¤ë¡£
207        $data .= sfMakeMovilinkCSV($list_data[$i]);
208    }
209    return $data;
210}
211
212/**************************************************************************************************************
213 * ´Ø¿ô̾   ¡§sfMakeMovilinkCSV
214 * ½èÍýÆâÍÆ ¡§ ³Æ¹àÌܤòCSV½ÐÎÏÍѤËÊÑ´¹¤¹¤ë¡£(MOVILINK)
215 * °ú¿ô1    ¡§
216 * °ú¿ô2    ¡§
217 * °ú¿ô3    ¡§
218 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
219 **************************************************************************************************************/
220function sfMakeMovilinkCSV($list) {
221    global $arrDISP;
222    $line = "";
223    if(is_array($list)) {
224        foreach($list as $key => $val) {
225            // ¥â¥Ó¥ëÍѾ¦ÉÊ¥³¡¼¥É¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï½ÐÎϤ·¤Ê¤¤¡£
226            if($list['movilink_code1'] != "") {
227                $tmp = "";
228                $blank_flag = false;
229                switch($key) {
230                // ¹­¹ð¥¿¥°¸¶¹Æ
231                case 'movilink_draft_text1':
232                    $tmp = $list['movilink_draft_text1'] . "\n" . $list['movilink_draft_text2'];
233                    break;
234                case 'movilink_draft_text2':
235                    $blank_flag = true;             
236                    break;
237                // ¾¦ÉʲèÁüurl
238                case 'movilink_image_url':
239                case 'movilink_image_url_mobile':
240                case 'movilink_image_thumbnail_url':
241                    $tmp = SITE_URL . "upload/save_image/" . $val;
242                    break;
243                // ¾¦ÉÊurl
244                case 'movilink_url':
245                    $tmp = MOBILE_SITE_URL . "products/detail.php?product_id=" . $val;
246                    break;
247                default:
248                    $tmp = $val;
249                    break;
250                }
251                if(!$blank_flag) {
252                    $tmp = str_replace("\"", "\\\"", $tmp);
253                    $line .= "\"".$tmp."\",";
254                }
255            }
256        }
257        // ʸËö¤Î","¤òÊÑ´¹
258        $line = ereg_replace(",$", "\n", $line);
259    }
260    return $line;
261}
262
263/**************************************************************************************************************
264 * ´Ø¿ô̾   ¡§sfConnectMovilinkURL($order_id)
265 * ½èÍýÆâÍÆ ¡§¥â¥Ó¥ëURL¤ËÀܳ¤¹¤ë
266 * °ú¿ô1    ¡§
267 * °ú¿ô2    ¡§
268 * °ú¿ô3    ¡§
269 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì
270 **************************************************************************************************************/
271function sfConnectMovilinkURL($order_id) {
272    /*
273     * URL¥Õ¥©¡¼¥Þ¥Ã¥È
274     *
275     * http://c.moaf.jp/eres/?sid=¡ÚEC¥µ¥¤¥ÈID¡Û&aflkey=¡ÚAFL¥­¡¼¡Û&uid1=¡ÚÃíʸID1¡Û&uid2=¡ÚÃíʸID2¡Û&items=¡Ú¸ÄÊ̾¦ÉÊ¥³¡¼¥É¡Û
276     *
277     */
278   
279    $objQuery = new SC_Query();
280    $col = "(SELECT movilink_code1 FROM dtb_products WHERE dtb_products.product_id = dtb_order_detail.product_id) AS code,
281            product_id,
282            quantity,
283            price
284    ";
285    $arrRet = $objQuery->select($col, "dtb_order_detail", "order_id = ?", array($order_id));
286   
287    $items = "";
288    // ¸ÄÊ̾¦ÉÊ¥³¡¼¥É¤ÎºîÀ®
289    foreach($arrRet as $key => $val) {
290        if($items != "") {
291            $items.= ",";
292        }
293        $items.= $val['code'].";".$val['price']."x".$val['quantity'];
294    }
295   
296    $arrRet = sfGetModuleDB();
297    $site_id = $arrRet['site_id'];
298    $aflkey = $_SESSION['movilink_aflkey'];
299   
300    $url = "http://c.moaf.jp/eres/?sid=" . $site_id . "&aflkey=" . $aflkey . "&uid1=" . $order_id . "&items=" . $items;
301   
302    sfPrintR($url);
303}
304 
305
306?>
Note: See TracBrowser for help on using the repository browser.