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

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