source: branches/dev/html/admin/mail/inc_mailmagazine.php @ 12461

Revision 12461, 11.3 KB checked in by matsumoto, 17 years ago (diff)
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 *
7 * CSVÇÛ¿®µ¡Ç½¼ÂÁõ¤Î¤¿¤á¡¢¶¦ÄÌÉôʬ¤ò³°Éô¥Õ¥¡¥¤¥ë²½¤·¤Þ¤·¤¿¡£<br>
8 * @author hirokazu_fukuda
9 * @version 2005/12/27
10 */
11
12
13//---- ¸¡º÷ÍѹàÌÜÇÛÎó
14$objPage->arrHtmlmail = array( "" => "ξÊý",  1 => "HTML", 2 => "TEXT" );
15
16
17//---- ÇÛÎóÆâÍÆÀìÍѹàÌܤÎÇÛÎó
18$arrRegistColumn = array(
19                             array(  "column" => "template_id",     "convert" => "n" )
20                            ,array(  "column" => "mail_method",     "convert" => "n" )
21                            ,array(  "column" => "send_year",       "convert" => "n" )
22                            ,array(  "column" => "send_month",      "convert" => "n" )
23                            ,array(  "column" => "send_day",        "convert" => "n" )
24                            ,array(  "column" => "send_hour",       "convert" => "n" )
25                            ,array(  "column" => "send_minutes",    "convert" => "n" )
26                            ,array(  "column" => "subject",         "convert" => "aKV" )
27                            ,array(  "column" => "body",            "convert" => "KV" )
28                        );
29
30//---- ¥á¥ë¥Þ¥¬²ñ°÷¼ïÊÌ
31$arrCustomerType = array(
32                        1 => "²ñ°÷",
33                        2 => "Èó²ñ°÷",
34                        //3 => "CSVÅÐÏ¿"
35                        );
36
37//---- ¸¡º÷¹àÌÜ
38$arrSearchColumn = array(
39                            array(  "column" => "name",             "convert" => "aKV"),
40                            array(  "column" => "pref",             "convert" => "n" ),
41                            array(  "column" => "kana",             "convert" => "CKV"),
42                            array(  "column" => "sex",              "convert" => "" ),
43                            array(  "column" => "tel",              "convert" => "n" ),
44                            array(  "column" => "job",              "convert" => "" ),
45                            array(  "column" => "email",            "convert" => "a" ),
46                            array(  "column" => "email_mobile",     "convert" => "a" ),                         
47                            array(  "column" => "htmlmail",         "convert" => "n" ),
48                            array(  "column" => "customer",         "convert" => "" ),
49                            array(  "column" => "buy_total_from",   "convert" => "n" ),
50                            array(  "column" => "buy_total_to",     "convert" => "n" ),
51                            array(  "column" => "buy_times_from",   "convert" => "n" ),
52                            array(  "column" => "buy_times_to",     "convert" => "n" ),
53                            array(  "column" => "birth_month",      "convert" => "n" ),
54                            array(  "column" => "b_start_year",     "convert" => "n" ),
55                            array(  "column" => "b_start_month",    "convert" => "n" ),
56                            array(  "column" => "b_start_day",      "convert" => "n" ),
57                            array(  "column" => "b_end_year",       "convert" => "n" ),
58                            array(  "column" => "b_end_month",      "convert" => "n" ),
59                            array(  "column" => "b_end_day",        "convert" => "n" ),
60                            array(  "column" => "start_year",       "convert" => "n" ),
61                            array(  "column" => "start_month",      "convert" => "n" ),
62                            array(  "column" => "start_day",        "convert" => "n" ),
63                            array(  "column" => "end_year",         "convert" => "n" ),
64                            array(  "column" => "end_month",        "convert" => "n" ),
65                            array(  "column" => "end_day",          "convert" => "n" ),
66                            array(  "column" => "buy_start_year",   "convert" => "n" ),
67                            array(  "column" => "buy_start_month",  "convert" => "n" ),
68                            array(  "column" => "buy_start_day",    "convert" => "n" ),
69                            array(  "column" => "buy_end_year",     "convert" => "n" ),
70                            array(  "column" => "buy_end_month",    "convert" => "n" ),
71                            array(  "column" => "buy_end_day",      "convert" => "n" ),
72                            array(  "column" => "buy_product_code", "convert" => "aKV" ),
73                            array(  "column" => "buy_product_name", "convert" => "aKV" ),
74                            array(  "column" => "category_id",      "convert" => ""  ),     
75                            array(  "column" => "buy_total_from",   "convert" => "n" ),
76                            array(  "column" => "buy_total_to",     "convert" => "n" ),
77                            array(  "column" => "campaign_id",      "convert" => ""  ),
78                            array(  "column" => "mail_type",        "convert" => ""  ),
79                            array(  "column" => "domain",           "convert" => "n" ),
80                            array(  "column" => "domain_type",      "convert" => "n" )
81
82                    );
83
84//--------------------------------------------------------------------------------------------------------------------------------------
85
86//---- HTML¥Æ¥ó¥×¥ì¡¼¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë¡£   
87function lfGetHtmlTemplateData($id) {
88   
89    global $conn;
90    $sql = "SELECT * FROM dtb_mailmaga_template WHERE template_id = ?";
91    $result = $conn->getAll($sql, array($id));
92    $list_data = $result[0];
93
94    // ¥á¥¤¥ó¾¦ÉʤξðÊó¼èÆÀ
95    $sql = "SELECT name, main_image, point_rate, deliv_fee, price01_min, price01_max, price02_min, price02_max FROM vw_products_allclass AS allcls WHERE product_id = ?";
96    $main = $conn->getAll($sql, array($list_data["main_product_id"]));
97    $list_data["main"] = $main[0];
98
99    // ¥µ¥Ö¾¦ÉʤξðÊó¼èÆÀ
100    $sql = "SELECT product_id, name, main_list_image, price01_min, price01_max, price02_min, price02_max FROM vw_products_allclass AS allcls WHERE product_id = ?";
101    $k = 0;
102    $l = 0;
103    for ($i = 1; $i <= 12; $i ++) {
104        if ($l == 4) {
105            $l = 0;
106            $k ++;
107        }
108        $result = "";
109        $j = sprintf("%02d", $i);
110        if ($i > 0 && $i < 5 ) $k = 0;
111        if ($i > 4 && $i < 9 ) $k = 1;
112        if ($i > 8 && $i < 13 ) $k = 2;
113       
114        if (is_numeric($list_data["sub_product_id" .$j])) {
115            $result = $conn->getAll($sql, array($list_data["sub_product_id" .$j]));
116            $list_data["sub"][$k][$l] = $result[0];
117            $list_data["sub"][$k]["data_exists"] = "OK";    //Åö³ºÃʤ˥ǡ¼¥¿¤¬£±¤Ä°Ê¾å¸ºß¤¹¤ë¥Õ¥é¥°
118        }
119        $l ++;
120    }
121    return $list_data;
122}
123
124//---   ¥Æ¥ó¥×¥ì¡¼¥È¤Î¼ïÎà¤òÊÖ¤¹
125function lfGetTemplateMethod($conn, $templata_id){
126   
127    if ( sfCheckNumLength($template_id) ){
128        $sql = "SELECT mail_method FROM dtb_mailmaga_template WEHRE template_id = ?";
129    }   
130}
131
132//---   hiddenÍ×ÁǽÐÎÏÍÑÇÛÎó¤ÎºîÀ®
133function lfGetHidden( $array ){
134    if ( is_array($array) ){
135        foreach( $array as $key => $val ){
136            if ( is_array( $val )){
137                for ( $i=0; $i<count($val); $i++){
138                    $return[ $key.'['.$i.']'] = $val[$i];
139                }               
140            } else {
141                $return[$key] = $val;           
142            }
143        }
144    }
145    return $return;
146}
147
148//----¡¡¼èÆÀʸ»úÎó¤ÎÊÑ´¹
149function lfConvertParam($array, $arrSearchColumn) {
150   
151    // ʸ»úÊÑ´¹
152    foreach ($arrSearchColumn as $data) {
153        $arrConvList[ $data["column"] ] = $data["convert"];
154    }
155
156    $new_array = array();
157    foreach ($arrConvList as $key => $val) {
158        if ( strlen($array[$key]) > 0 ){                        // ¥Ç¡¼¥¿¤Î¤¢¤ë¤â¤Î¤À¤±ÊÖ¤¹
159            $new_array[$key] = $array[$key];
160            if( strlen($val) > 0) {
161                $new_array[$key] = mb_convert_kana($new_array[$key] ,$val);
162            }
163        }
164    }
165    return $new_array;
166   
167}
168
169
170//---- ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
171function lfErrorCheck($array, $flag = '') {
172
173    // flag ¤ÏÅÐÏ¿»þÍÑ
174   
175    $objErr = new SC_CheckError($array);
176   
177    $objErr->doFunc(array("¸ÜµÒ¥³¡¼¥É", "customer_id", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
178    $objErr->doFunc(array("ÅÔÆ»Éܸ©", "pref", 2), array("NUM_CHECK","MAX_LENGTH_CHECK"));
179    $objErr->doFunc(array("¸ÜµÒ̾", "name", STEXT_LEN), array("MAX_LENGTH_CHECK"));
180    $objErr->doFunc(array("¸ÜµÒ̾(¥«¥Ê)", "kana", STEXT_LEN), array("KANA_CHECK", "MAX_LENGTH_CHECK"));
181
182    $objErr->doFunc(array('¥á¡¼¥ë¥¢¥É¥ì¥¹', "email", STEXT_LEN) ,array("EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
183    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ", "tel", TEL_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
184       
185    $objErr->doFunc(array("¹ØÆþ²ó¿ô(³«»Ï)", "buy_times_from", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
186    $objErr->doFunc(array("¹ØÆþ²ó¿ô(½ªÎ»)", "buy_times_to", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
187    if ((is_numeric($array["buy_total_from"]) && is_numeric($array["buy_total_to"]) ) && ($array["buy_times_from"] > $array["buy_times_to"]) ) $objErr->arrErr["buy_times_from"] .= "¢¨ ¹ØÆþ²ó¿ô¤Î»ØÄêÈϰϤ¬ÉÔÀµ¤Ç¤¹¡£";
188   
189    $objErr->doFunc(array("ÃÂÀ¸·î", "birth_month", 2), array("NUM_CHECK","MAX_LENGTH_CHECK"));
190   
191    $objErr->doFunc(array("ÃÂÀ¸Æü(³«»ÏÆü)", "b_start_year", "b_start_month", "b_start_day",), array("CHECK_DATE"));
192    $objErr->doFunc(array("ÃÂÀ¸Æü(½ªÎ»Æü)", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_DATE"));   
193    $objErr->doFunc(array("ÃÂÀ¸Æü(³«»ÏÆü)","ÃÂÀ¸Æü(½ªÎ»Æü)", "b_start_year", "b_start_month", "b_start_day", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_SET_TERM"));
194   
195    $objErr->doFunc(array("ÅÐÏ¿¡¦¹¹¿·Æü(³«»ÏÆü)", "start_year", "start_month", "start_day",), array("CHECK_DATE"));
196    $objErr->doFunc(array("ÅÐÏ¿¡¦¹¹¿·Æü(½ªÎ»Æü)", "end_year", "end_month", "end_day"), array("CHECK_DATE"));   
197    $objErr->doFunc(array("ÅÐÏ¿¡¦¹¹¿·Æü(³«»ÏÆü)","ÅÐÏ¿¡¦¹¹¿·Æü(½ªÎ»Æü)", "start_year", "start_month", "start_day", "end_year", "end_month", "end_day"), array("CHECK_SET_TERM"));
198   
199    $objErr->doFunc(array("ºÇ½ª¹ØÆþÆü(³«»ÏÆü)", "buy_start_year", "buy_start_month", "buy_start_day",), array("CHECK_DATE"));
200    $objErr->doFunc(array("ºÇ½ª¹ØÆþ(½ªÎ»Æü)", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_DATE"));   
201    $objErr->doFunc(array("ºÇ½ª¹ØÆþÆü(³«»ÏÆü)","ÅÐÏ¿¡¦¹¹¿·Æü(½ªÎ»Æü)", "buy_start_year", "buy_start_month", "buy_start_day", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_SET_TERM"));
202   
203    $objErr->doFunc(array("¹ØÆþ¾¦ÉÊ¥³¡¼¥É", "buy_product_code", STEXT_LEN), array("MAX_LENGTH_CHECK"));
204
205    $objErr->doFunc(array("¹ØÆþ¾¦ÉÊ̾", "buy_product_name", STEXT_LEN), array("MAX_LENGTH_CHECK"));
206   
207    $objErr->doFunc(array("¹ØÆþ¶â³Û(³«»Ï)", "buy_total_from", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
208    $objErr->doFunc(array("¹ØÆþ¶â³Û(½ªÎ»)", "buy_total_to", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));   
209
210    $objErr->doFunc(array("¥­¥ã¥ó¥Ú¡¼¥ó", "campaign_id", INT_LEN), array("NUM_CHECK"));
211       
212    //¹ØÆþ¶â³Û(from) ¡ä ¹ØÆþ¶â³Û(to) ¤Î¾ì¹ç¤Ï¥¨¥é¡¼¤È¤¹¤ë
213    if ( (is_numeric($array["buy_total_from"]) && is_numeric($array["buy_total_to"]) ) &&
214         ($array["buy_total_from"] > $array["buy_total_to"]) ) {
215         $objErr->arrErr["buy_total_from"] .= "¢¨ ¹ØÆþ¶â³Û¤Î»ØÄêÈϰϤ¬ÉÔÀµ¤Ç¤¹¡£";
216     }
217
218    if ( $flag ){
219        $objErr->doFunc(array("¥Æ¥ó¥×¥ì¡¼¥È", "template_id"), array("EXIST_CHECK", "NUM_CHECK"));
220        $objErr->doFunc(array("¥á¡¼¥ëÁ÷¿®ÊýË¡", "mail_method"), array("EXIST_CHECK", "NUM_CHECK"));
221       
222        if(MELMAGA_BATCH_MODE) {
223            $objErr->doFunc(array("ÇÛ¿®Æü¡Êǯ¡Ë","send_year"), array("EXIST_CHECK", "NUM_CHECK"));
224            $objErr->doFunc(array("ÇÛ¿®Æü¡Ê·î¡Ë","send_month"), array("EXIST_CHECK", "NUM_CHECK"));
225            $objErr->doFunc(array("ÇÛ¿®Æü¡ÊÆü¡Ë","send_day"), array("EXIST_CHECK", "NUM_CHECK"));
226            $objErr->doFunc(array("ÇÛ¿®Æü¡Ê»þ¡Ë","send_hour"), array("EXIST_CHECK", "NUM_CHECK"));
227            $objErr->doFunc(array("ÇÛ¿®Æü¡Êʬ¡Ë","send_minutes"), array("EXIST_CHECK", "NUM_CHECK"));
228            $objErr->doFunc(array("ÇÛ¿®Æü", "send_year", "send_month", "send_day"), array("CHECK_DATE"));
229            $objErr->doFunc(array("ÇÛ¿®Æü", "send_year", "send_month", "send_day","send_hour", "send_minutes"), array("ALL_EXIST_CHECK"));
230        }
231        $objErr->doFunc(array("Subject", "subject", STEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK"));
232        $objErr->doFunc(array("ËÜʸ", 'body', LLTEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK"));    // HTML¥Æ¥ó¥×¥ì¡¼¥È¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç
233    }
234   
235    return $objErr->arrErr;
236}
237
238/* ¥Æ¥ó¥×¥ì¡¼¥ÈID¤Èsubject¤ÎÇÛÎó¤òÊÖ¤¹ */
239function getTemplateList($conn){
240    global $arrMagazineTypeAll;
241   
242    $sql = "SELECT template_id, subject, mail_method FROM dtb_mailmaga_template WHERE del_flg = 0 ";
243    if ($_POST["htmlmail"] == 2 || $_POST['mail_type'] == 2) {
244        $sql .= " AND mail_method = 2 ";    //TEXT´õ˾¼Ô¤Ø¤ÎTEST¥á¡¼¥ë¥Æ¥ó¥×¥ì¡¼¥È¥ê¥¹¥È
245    }
246    $sql .= " ORDER BY template_id DESC";
247    $result = $conn->getAll($sql);
248   
249    if ( is_array($result) ){
250        foreach( $result as $line ){
251            $return[$line['template_id']] = "¡Ú" . $arrMagazineTypeAll[$line['mail_method']] . "¡Û" . $line['subject']; 
252        }
253    }
254   
255    return $return;
256}
257
258/* ¥Æ¥ó¥×¥ì¡¼¥ÈID¤«¤é¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ */
259function getTemplateData($conn, $id){
260   
261    if ( sfCheckNumLength($id) ){
262        $sql = "SELECT * FROM dtb_mailmaga_template WHERE template_id = ? ORDER BY template_id DESC";
263        $result = $conn->getAll( $sql, array($id) );
264        if ( is_array($result) ) {
265            $return = $result[0];
266        }
267    }
268    return $return;
269}
270
271
272
273?>
Note: See TracBrowser for help on using the repository browser.