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

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