source: branches/rel/html/contact/index.php @ 15020

Revision 15020, 7.5 KB checked in by adati, 15 years ago (diff)

お問い合わせ内容で、入力内容にURLが含まれているかチェックするようにした

Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7require_once("../require.php");
8
9class LC_Page {
10    function LC_Page() {
11        $this->tpl_css = URL_DIR.'css/layout/contact/index.css';    // ¥á¥¤¥óCSS¥Ñ¥¹
12        $this->tpl_mainpage = 'contact/index.tpl';
13        $this->tpl_title = '¤ªÌ䤤¹ç¤ï¤»(ÆþÎÏ¥Ú¡¼¥¸)';
14        $this->tpl_page_category = 'contact';
15        global $arrPref;
16        $this->arrPref = $arrPref;
17    }
18}
19
20$conn = new SC_DBConn();
21$objPage = new LC_Page();
22$objView = new SC_SiteView();
23$objCampaignSess = new SC_CampaignSession();
24$CONF = sf_getBasisData();          // ŹÊÞ´ðËܾðÊó
25sfDomainSessionStart(); 
26
27$objCustomer = new SC_Customer();
28
29if ($objCustomer->isloginSuccess()){
30    $objPage->arrData = $_SESSION['customer'];
31}
32
33//SSLURLȽÄê
34if (SSLURL_CHECK == 1){
35    $ssl_url= sfRmDupSlash(SSL_URL.$_SERVER['REQUEST_URI']);
36    if (!ereg("^https://", $non_ssl_url)){
37        sfDispSiteError(URL_ERROR);
38    }
39}
40
41// ¥ì¥¤¥¢¥¦¥È¥Ç¥¶¥¤¥ó¤ò¼èÆÀ
42$objPage = sfGetPageLayout($objPage, false, DEF_LAYOUT);
43
44//¥Õ¥©¡¼¥àÃÍÊÑ´¹ÍÑ¥«¥é¥à
45$arrConvertColumn = array(
46                             array(  "column" => "name01",      "convert" => "aKV" ),
47                             array(  "column" => "name02",      "convert" => "aKV" ),
48                             array(  "column" => "kana01",      "convert" => "CKV" ),
49                             array(  "column" => "kana02",      "convert" => "CKV" ),
50                             array(  "column" => "zip01",       "convert" => "n" ),
51                             array(  "column" => "zip02",       "convert" => "n" ),
52                             array(  "column" => "pref",        "convert" => "n" ),
53                             array(  "column" => "addr01",      "convert" => "aKV" ),
54                             array(  "column" => "addr02",      "convert" => "aKV" ),
55                             array(  "column" => "email",       "convert" => "a" ),
56                             array(  "column" => "tel01",       "convert" => "n" ),
57                             array(  "column" => "tel02",       "convert" => "n" ),
58                             array(  "column" => "tel03",       "convert" => "n" ),
59                             array(  "column" => "contents",   "convert" => "aKV")
60                          );
61
62switch ($_POST['mode']){
63    case 'confirm':
64    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯
65    $objPage->arrForm = $_POST;
66    $objPage->arrForm['email'] = strtolower($_POST['email']);
67    $objPage->arrForm = lfConvertParam($objPage->arrForm,$arrConvertColumn);
68    $objPage->arrErr = lfErrorCheck($objPage->arrForm);
69    if ( ! $objPage->arrErr ){
70        // ¥¨¥é¡¼Ìµ¤·¤Ç´°Î»²èÌÌ
71        $objPage->tpl_mainpage = 'contact/confirm.tpl';
72        $objPage->tpl_title = '¤ªÌ䤤¹ç¤ï¤»(³Îǧ¥Ú¡¼¥¸)';
73    } else {
74        foreach ($objPage->arrForm as $key => $val){
75        $objPage->$key = $val;
76        }
77    }
78    break;
79   
80    case 'return':
81    foreach ($_POST as $key => $val){
82        $objPage->$key = $val;
83        }
84    break;
85   
86    case 'complete':
87    $objPage->arrForm = $_POST;
88    $objPage->arrForm['email'] = strtolower($_POST['email']);
89    $objPage->arrForm = lfConvertParam($objPage->arrForm,$arrConvertColumn);
90    $objPage->arrErr = lfErrorCheck($objPage->arrForm);
91    if(!$objPage->arrErr) {
92        lfSendMail($CONF, $objPage);
93        //´°Î»¥Ú¡¼¥¸¤Ø°ÜÆ°¤¹¤ë
94        header("location: ./complete.php");
95        exit;
96    } else {
97        sfDispSiteError(CUSTOMER_ERROR);
98    }
99    break;
100   
101    default:
102    break;
103}
104
105//----¡¡¥Ú¡¼¥¸É½¼¨
106$objView->assignobj($objPage);
107// ¥Õ¥ì¡¼¥à¤òÁªÂò(¥­¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊѹ¹)
108$objCampaignSess->pageView($objView);
109//------------------------------------------------------------------------------------------------------------------------------------------
110
111//¥¨¥é¡¼¥Á¥§¥Ã¥¯½èÍýÉô
112function lfErrorCheck($array) {
113    $objErr = new SC_CheckError($array);
114    $objErr->doFunc(array("¤ªÌ¾Á°(À«)", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
115    $objErr->doFunc(array("¤ªÌ¾Á°(̾)", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
116    $objErr->doFunc(array("¥Õ¥ê¥¬¥Ê(¥»¥¤)", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK", "KANA_CHECK"));
117    $objErr->doFunc(array("¥Õ¥ê¥¬¥Ê(¥á¥¤)", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK", "KANA_CHECK"));
118    $objErr->doFunc(array("͹ÊØÈÖ¹æ1", "zip01", ZIP01_LEN ) ,array("SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
119    $objErr->doFunc(array("͹ÊØÈÖ¹æ2", "zip02", ZIP02_LEN ) ,array("SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
120    $objErr->doFunc(array("¤´½»½ê1", "addr01", MTEXT_LEN), array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
121    $objErr->doFunc(array("¤´½»½ê2", "addr02", MTEXT_LEN), array("SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
122    $objErr->doFunc(array("¤ªÌ䤤¹ç¤ï¤»ÆâÍÆ", "contents", MLTEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
123    $objErr->doFunc(array('¥á¡¼¥ë¥¢¥É¥ì¥¹', "email", MTEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
124    $objErr->doFunc(array('¥á¡¼¥ë¥¢¥É¥ì¥¹(³Îǧ)', "email02", MTEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
125    $objErr->doFunc(array('¥á¡¼¥ë¥¢¥É¥ì¥¹', '¥á¡¼¥ë¥¢¥É¥ì¥¹(³Îǧ)', "email", "email02") ,array("EQUAL_CHECK"));
126    $objErr->doFunc(array("¤ªÅÅÏÃÈÖ¹æ1", 'tel01', TEL_ITEM_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK"));
127    $objErr->doFunc(array("¤ªÅÅÏÃÈÖ¹æ2", 'tel02', TEL_ITEM_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK"));
128    $objErr->doFunc(array("¤ªÅÅÏÃÈÖ¹æ3", 'tel03', TEL_ITEM_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK"));
129   
130    if (REVIEW_ALLOW_URL == false) {
131        // URL¤ÎÆþÎϤò¶Ø»ß
132        global $arrReviewDenyURL;
133        $objErr->doFunc(array("URL", "contents", $arrReviewDenyURL), array("PROHIBITED_STR_CHECK"));
134    }
135   
136    return $objErr->arrErr;
137}
138
139//----¡¡¼èÆÀʸ»úÎó¤ÎÊÑ´¹
140function lfConvertParam($array, $arrConvertColumn) {
141    /*
142     *  ʸ»úÎó¤ÎÊÑ´¹
143     *  K :  ¡ÖȾ³Ñ(ŽÊŽÝŽ¶Ž¸)ÊÒ²¾Ì¾¡×¤ò¡ÖÁ´³ÑÊÒ²¾Ì¾¡×¤ËÊÑ´¹
144     *  C :  ¡ÖÁ´³Ñ¤Ò¤é²¾Ì¾¡×¤ò¡ÖÁ´³Ñ¤«¤¿²¾Ì¾¡×¤ËÊÑ´¹
145     *  V :  ÂùÅÀÉÕ¤­¤Îʸ»ú¤ò°ìʸ»ú¤ËÊÑ´¹¡£"K","H"¤È¶¦¤Ë»ÈÍѤ·¤Þ¤¹ 
146     *  n :  ¡ÖÁ´³Ñ¡×¿ô»ú¤ò¡ÖȾ³Ñ(ŽÊŽÝŽ¶Ž¸)¡×¤ËÊÑ´¹
147     *  a :  Á´³Ñ±Ñ¿ô»ú¤òȾ³Ñ±Ñ¿ô»ú¤ËÊÑ´¹¤¹¤ë
148     */
149    // ¥«¥é¥à̾¤È¥³¥ó¥Ð¡¼¥È¾ðÊó
150    foreach ($arrConvertColumn as $data) {
151        $arrConvList[ $data["column"] ] = $data["convert"];
152    }
153   
154    // ʸ»úÊÑ´¹
155    foreach ($arrConvList as $key => $val) {
156        // POST¤µ¤ì¤Æ¤­¤¿ÃͤΤßÊÑ´¹¤¹¤ë¡£
157        if(strlen(($array[$key])) > 0) {
158            $array[$key] = mb_convert_kana($array[$key] ,$val);
159        }
160    }
161    return $array;
162}
163
164// ------------  ¥á¡¼¥ëÁ÷¿® ------------
165
166function lfSendMail($CONF, $objPage){
167    //¡¡¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¤ªÃΤ餻¥á¡¼¥ëÁ÷¿®
168   
169    $objMailText = new SC_SiteView();
170    $objSiteInfo = $objView->objSiteInfo;
171    $arrInfo = $objSiteInfo->data;
172    $objPage->tpl_shopname=$arrInfo['shop_name'];
173    $objPage->tpl_infoemail = $arrInfo['email02'];
174    $objMailText->assignobj($objPage);
175    $toCustomerMail = $objMailText->fetch("mail_templates/contact_mail.tpl");
176    $objMail = new GC_SendMail();
177   
178    if ( $objPage->arrForm['email'] ) {
179        $fromMail_name = $objPage->arrForm['name01'] ." ÍÍ";
180        $fromMail_address = $objPage->arrForm['email'];
181    } else {
182        $fromMail_name = $CONF["shop_name"];
183        $fromMail_address = $CONF["email02"];
184    }
185    $subject = sfMakeSubject("¤ªÌ䤤¹ç¤ï¤»¤¬¤¢¤ê¤Þ¤·¤¿¡£");
186    $objMail->setItem(
187                          $CONF["email02"]                  //¡¡°¸Àè
188                        , $subject                          //¡¡¥µ¥Ö¥¸¥§¥¯¥È
189                        , $toCustomerMail                   //¡¡ËÜʸ
190                        , $fromMail_address                 //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹
191                        , $fromMail_name                    //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á°
192                        , $fromMail_address                 //¡¡reply_to
193                        , $CONF["email04"]                  //¡¡return_path
194                        , $CONF["email04"]                  //  Errors_to
195                                                        );
196    $objMail->sendMail();
197   
198    $subject = sfMakeSubject("¤ªÌ䤤¹ç¤ï¤»¤ò¼õ¤±ÉÕ¤±¤Þ¤·¤¿¡£");
199    $objMail->setItem(
200                          ''                                //¡¡°¸Àè
201                        , $subject                          //¡¡¥µ¥Ö¥¸¥§¥¯¥È
202                        , $toCustomerMail                   //¡¡ËÜʸ
203                        , $CONF["email03"]                  //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹
204                        , $CONF["shop_name"]                //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á°
205                        , $CONF["email02"]                  //¡¡reply_to
206                        , $CONF["email04"]                  //¡¡return_path
207                        , $CONF["email04"]                  //  Errors_to
208                                                        );
209    $objMail->setTo($objPage->arrForm['email'], $objPage->arrForm['name01'] ." ÍÍ");
210    $objMail->sendMail();   
211}
212?>
Note: See TracBrowser for help on using the repository browser.