source: branches/rel/html/admin/mail/inc_mailmagazine.php @ 12157

Revision 12157, 11.2 KB checked in by uehara, 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
80                    );
81
82//--------------------------------------------------------------------------------------------------------------------------------------
83
84//---- HTML¥Æ¥ó¥×¥ì¡¼¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë¡£   
85function lfGetHtmlTemplateData($id) {
86   
87    global $conn;
88    $sql = "SELECT * FROM dtb_mailmaga_template WHERE template_id = ?";
89    $result = $conn->getAll($sql, array($id));
90    $list_data = $result[0];
91
92    // ¥á¥¤¥ó¾¦ÉʤξðÊó¼èÆÀ
93    $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 = ?";
94    $main = $conn->getAll($sql, array($list_data["main_product_id"]));
95    $list_data["main"] = $main[0];
96
97    // ¥µ¥Ö¾¦ÉʤξðÊó¼èÆÀ
98    $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 = ?";
99    $k = 0;
100    $l = 0;
101    for ($i = 1; $i <= 12; $i ++) {
102        if ($l == 4) {
103            $l = 0;
104            $k ++;
105        }
106        $result = "";
107        $j = sprintf("%02d", $i);
108        if ($i > 0 && $i < 5 ) $k = 0;
109        if ($i > 4 && $i < 9 ) $k = 1;
110        if ($i > 8 && $i < 13 ) $k = 2;
111       
112        if (is_numeric($list_data["sub_product_id" .$j])) {
113            $result = $conn->getAll($sql, array($list_data["sub_product_id" .$j]));
114            $list_data["sub"][$k][$l] = $result[0];
115            $list_data["sub"][$k]["data_exists"] = "OK";    //Åö³ºÃʤ˥ǡ¼¥¿¤¬£±¤Ä°Ê¾å¸ºß¤¹¤ë¥Õ¥é¥°
116        }
117        $l ++;
118    }
119    return $list_data;
120}
121
122//---   ¥Æ¥ó¥×¥ì¡¼¥È¤Î¼ïÎà¤òÊÖ¤¹
123function lfGetTemplateMethod($conn, $templata_id){
124   
125    if ( sfCheckNumLength($template_id) ){
126        $sql = "SELECT mail_method FROM dtb_mailmaga_template WEHRE template_id = ?";
127    }   
128}
129
130//---   hiddenÍ×ÁǽÐÎÏÍÑÇÛÎó¤ÎºîÀ®
131function lfGetHidden( $array ){
132    if ( is_array($array) ){
133        foreach( $array as $key => $val ){
134            if ( is_array( $val )){
135                for ( $i=0; $i<count($val); $i++){
136                    $return[ $key.'['.$i.']'] = $val[$i];
137                }               
138            } else {
139                $return[$key] = $val;           
140            }
141        }
142    }
143    return $return;
144}
145
146//----¡¡¼èÆÀʸ»úÎó¤ÎÊÑ´¹
147function lfConvertParam($array, $arrSearchColumn) {
148   
149    // ʸ»úÊÑ´¹
150    foreach ($arrSearchColumn as $data) {
151        $arrConvList[ $data["column"] ] = $data["convert"];
152    }
153
154    $new_array = array();
155    foreach ($arrConvList as $key => $val) {
156        if ( strlen($array[$key]) > 0 ){                        // ¥Ç¡¼¥¿¤Î¤¢¤ë¤â¤Î¤À¤±ÊÖ¤¹
157            $new_array[$key] = $array[$key];
158            if( strlen($val) > 0) {
159                $new_array[$key] = mb_convert_kana($new_array[$key] ,$val);
160            }
161        }
162    }
163    return $new_array;
164   
165}
166
167
168//---- ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
169function lfErrorCheck($array, $flag = '') {
170
171    // flag ¤ÏÅÐÏ¿»þÍÑ
172   
173    $objErr = new SC_CheckError($array);
174   
175    $objErr->doFunc(array("¸ÜµÒ¥³¡¼¥É", "customer_id", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
176    $objErr->doFunc(array("ÅÔÆ»Éܸ©", "pref", 2), array("NUM_CHECK","MAX_LENGTH_CHECK"));
177    $objErr->doFunc(array("¸ÜµÒ̾", "name", STEXT_LEN), array("MAX_LENGTH_CHECK"));
178    $objErr->doFunc(array("¸ÜµÒ̾(¥«¥Ê)", "kana", STEXT_LEN), array("KANA_CHECK", "MAX_LENGTH_CHECK"));
179
180    $objErr->doFunc(array('¥á¡¼¥ë¥¢¥É¥ì¥¹', "email", STEXT_LEN) ,array("EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
181    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ", "tel", TEL_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
182       
183    $objErr->doFunc(array("¹ØÆþ²ó¿ô(³«»Ï)", "buy_times_from", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
184    $objErr->doFunc(array("¹ØÆþ²ó¿ô(½ªÎ»)", "buy_times_to", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
185    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"] .= "¢¨ ¹ØÆþ²ó¿ô¤Î»ØÄêÈϰϤ¬ÉÔÀµ¤Ç¤¹¡£";
186   
187    $objErr->doFunc(array("ÃÂÀ¸·î", "birth_month", 2), array("NUM_CHECK","MAX_LENGTH_CHECK"));
188   
189    $objErr->doFunc(array("ÃÂÀ¸Æü(³«»ÏÆü)", "b_start_year", "b_start_month", "b_start_day",), array("CHECK_DATE"));
190    $objErr->doFunc(array("ÃÂÀ¸Æü(½ªÎ»Æü)", "b_end_year", "b_end_month", "b_end_day"), array("CHECK_DATE"));   
191    $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"));
192   
193    $objErr->doFunc(array("ÅÐÏ¿¡¦¹¹¿·Æü(³«»ÏÆü)", "start_year", "start_month", "start_day",), array("CHECK_DATE"));
194    $objErr->doFunc(array("ÅÐÏ¿¡¦¹¹¿·Æü(½ªÎ»Æü)", "end_year", "end_month", "end_day"), array("CHECK_DATE"));   
195    $objErr->doFunc(array("ÅÐÏ¿¡¦¹¹¿·Æü(³«»ÏÆü)","ÅÐÏ¿¡¦¹¹¿·Æü(½ªÎ»Æü)", "start_year", "start_month", "start_day", "end_year", "end_month", "end_day"), array("CHECK_SET_TERM"));
196   
197    $objErr->doFunc(array("ºÇ½ª¹ØÆþÆü(³«»ÏÆü)", "buy_start_year", "buy_start_month", "buy_start_day",), array("CHECK_DATE"));
198    $objErr->doFunc(array("ºÇ½ª¹ØÆþ(½ªÎ»Æü)", "buy_end_year", "buy_end_month", "buy_end_day"), array("CHECK_DATE"));   
199    $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"));
200   
201    $objErr->doFunc(array("¹ØÆþ¾¦ÉÊ¥³¡¼¥É", "buy_product_code", STEXT_LEN), array("MAX_LENGTH_CHECK"));
202
203    $objErr->doFunc(array("¹ØÆþ¾¦ÉÊ̾", "buy_product_name", STEXT_LEN), array("MAX_LENGTH_CHECK"));
204   
205    $objErr->doFunc(array("¹ØÆþ¶â³Û(³«»Ï)", "buy_total_from", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));
206    $objErr->doFunc(array("¹ØÆþ¶â³Û(½ªÎ»)", "buy_total_to", INT_LEN), array("NUM_CHECK","MAX_LENGTH_CHECK"));   
207
208    $objErr->doFunc(array("¥­¥ã¥ó¥Ú¡¼¥ó", "campaign_id", INT_LEN), array("NUM_CHECK"));
209       
210    //¹ØÆþ¶â³Û(from) ¡ä ¹ØÆþ¶â³Û(to) ¤Î¾ì¹ç¤Ï¥¨¥é¡¼¤È¤¹¤ë
211    if ( (is_numeric($array["buy_total_from"]) && is_numeric($array["buy_total_to"]) ) &&
212         ($array["buy_total_from"] > $array["buy_total_to"]) ) {
213         $objErr->arrErr["buy_total_from"] .= "¢¨ ¹ØÆþ¶â³Û¤Î»ØÄêÈϰϤ¬ÉÔÀµ¤Ç¤¹¡£";
214     }
215
216    if ( $flag ){
217        $objErr->doFunc(array("¥Æ¥ó¥×¥ì¡¼¥È", "template_id"), array("EXIST_CHECK", "NUM_CHECK"));
218        $objErr->doFunc(array("¥á¡¼¥ëÁ÷¿®Ë¡Ë¡", "mail_method"), array("EXIST_CHECK", "NUM_CHECK"));
219       
220        if(MELMAGA_BATCH_MODE) {
221            $objErr->doFunc(array("ÇÛ¿®Æü¡Êǯ¡Ë","send_year"), array("EXIST_CHECK", "NUM_CHECK"));
222            $objErr->doFunc(array("ÇÛ¿®Æü¡Ê·î¡Ë","send_month"), array("EXIST_CHECK", "NUM_CHECK"));
223            $objErr->doFunc(array("ÇÛ¿®Æü¡ÊÆü¡Ë","send_day"), array("EXIST_CHECK", "NUM_CHECK"));
224            $objErr->doFunc(array("ÇÛ¿®Æü¡Ê»þ¡Ë","send_hour"), array("EXIST_CHECK", "NUM_CHECK"));
225            $objErr->doFunc(array("ÇÛ¿®Æü¡Êʬ¡Ë","send_minutes"), array("EXIST_CHECK", "NUM_CHECK"));
226            $objErr->doFunc(array("ÇÛ¿®Æü", "send_year", "send_month", "send_day"), array("CHECK_DATE"));
227            $objErr->doFunc(array("ÇÛ¿®Æü", "send_year", "send_month", "send_day","send_hour", "send_minutes"), array("ALL_EXIST_CHECK"));
228        }
229        $objErr->doFunc(array("Subject", "subject", STEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK"));
230        $objErr->doFunc(array("ËÜʸ", 'body', LLTEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK"));    // HTML¥Æ¥ó¥×¥ì¡¼¥È¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç
231    }
232   
233    return $objErr->arrErr;
234}
235
236/* ¥Æ¥ó¥×¥ì¡¼¥ÈID¤Èsubject¤ÎÇÛÎó¤òÊÖ¤¹ */
237function getTemplateList($conn){
238    global $arrMagazineTypeAll;
239   
240    $sql = "SELECT template_id, subject, mail_method FROM dtb_mailmaga_template WHERE del_flg = 0 ";
241    if ($_POST["htmlmail"] == 2 || $_POST['mail_type'] == 2) {
242        $sql .= " AND mail_method = 2 ";    //TEXT´õ˾¼Ô¤Ø¤ÎTEST¥á¡¼¥ë¥Æ¥ó¥×¥ì¡¼¥È¥ê¥¹¥È
243    }
244    $sql .= " ORDER BY template_id DESC";
245    $result = $conn->getAll($sql);
246   
247    if ( is_array($result) ){
248        foreach( $result as $line ){
249            $return[$line['template_id']] = "¡Ú" . $arrMagazineTypeAll[$line['mail_method']] . "¡Û" . $line['subject']; 
250        }
251    }
252   
253    return $return;
254}
255
256/* ¥Æ¥ó¥×¥ì¡¼¥ÈID¤«¤é¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ */
257function getTemplateData($conn, $id){
258   
259    if ( sfCheckNumLength($id) ){
260        $sql = "SELECT * FROM dtb_mailmaga_template WHERE template_id = ? ORDER BY template_id DESC";
261        $result = $conn->getAll( $sql, array($id) );
262        if ( is_array($result) ) {
263            $return = $result[0];
264        }
265    }
266    return $return;
267}
268
269
270
271?>
Note: See TracBrowser for help on using the repository browser.