| 1 | <?php |
|---|
| 2 | /** |
|---|
| 3 | * ¥á¥ë¥Þ¥¬³Îǧ |
|---|
| 4 | */ |
|---|
| 5 | |
|---|
| 6 | require_once('../require.php'); |
|---|
| 7 | |
|---|
| 8 | class LC_Page { |
|---|
| 9 | function LC_Page() { |
|---|
| 10 | /** ɬ¤ºÊѹ¹¤¹¤ë **/ |
|---|
| 11 | $this->tpl_mainpage = 'magazine/confirm.tpl'; |
|---|
| 12 | $this->tpl_title .= '¥á¥ë¥Þ¥¬³Îǧ'; |
|---|
| 13 | } |
|---|
| 14 | } |
|---|
| 15 | |
|---|
| 16 | $objPage = new LC_Page(); |
|---|
| 17 | $objConn = new SC_DbConn(); |
|---|
| 18 | $objPage->arrForm = $_POST; |
|---|
| 19 | |
|---|
| 20 | // ÅÐÏ¿ |
|---|
| 21 | if (isset($_REQUEST['btnRegist'])) { |
|---|
| 22 | $objPage->arrErr = lfMailErrorCheck($objPage->arrForm, "regist"); |
|---|
| 23 | |
|---|
| 24 | // ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð |
|---|
| 25 | if (count($objPage->arrErr) == 0) { |
|---|
| 26 | // ³Îǧ |
|---|
| 27 | $objPage->arrForm['kind'] = '¥á¥ë¥Þ¥¬ÅÐÏ¿'; |
|---|
| 28 | $objPage->arrForm['type'] = 'regist'; |
|---|
| 29 | $objPage->arrForm['mail'] = $objPage->arrForm['regist']; |
|---|
| 30 | } else { |
|---|
| 31 | $objPage->tpl_mainpage = 'magazine/index.tpl'; |
|---|
| 32 | $objPage->tpl_title = '¥á¥ë¥Þ¥¬ÅÐÏ¿¡¦²ò½ü'; |
|---|
| 33 | } |
|---|
| 34 | // ²ò½ü |
|---|
| 35 | } elseif (isset($_REQUEST['btnCancel'])) { |
|---|
| 36 | $objPage->arrErr = lfMailErrorCheck($objPage->arrForm, "cancel"); |
|---|
| 37 | |
|---|
| 38 | // ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð |
|---|
| 39 | if (count($objPage->arrErr) == 0) { |
|---|
| 40 | // ³Îǧ |
|---|
| 41 | $objPage->arrForm['kind'] = '¥á¥ë¥Þ¥¬²ò½ü'; |
|---|
| 42 | $objPage->arrForm['type'] = 'cancel'; |
|---|
| 43 | $objPage->arrForm['mail'] = $objPage->arrForm['cancel']; |
|---|
| 44 | } else { |
|---|
| 45 | $objPage->tpl_mainpage = 'magazine/index.tpl'; |
|---|
| 46 | $objPage->tpl_title = '¥á¥ë¥Þ¥¬ÅÐÏ¿¡¦²ò½ü'; |
|---|
| 47 | } |
|---|
| 48 | // ´°Î» |
|---|
| 49 | } elseif ($_REQUEST['mode'] == 'regist' or $_REQUEST['mode'] == 'cancel') { |
|---|
| 50 | |
|---|
| 51 | //¡¡ÅÐÏ¿ |
|---|
| 52 | if ($_REQUEST['mode'] == 'regist') { |
|---|
| 53 | $uniqId = lfRegistData($_POST["email"]); |
|---|
| 54 | $subject = sfMakesubject('¥á¥ë¥Þ¥¬ÅÐÏ¿¤Î¤´³Îǧ'); |
|---|
| 55 | //¡¡²ò½ü |
|---|
| 56 | } elseif ($_REQUEST['mode'] == 'cancel') { |
|---|
| 57 | $uniqId = lfGetSecretKey($_POST["email"]); |
|---|
| 58 | $subject = sfMakesubject('¥á¥ë¥Þ¥¬²ò½ü¤Î¤´³Îǧ'); |
|---|
| 59 | } |
|---|
| 60 | $CONF = sf_getBasisData(); |
|---|
| 61 | $objPage->CONF = $CONF; |
|---|
| 62 | $objPage->tpl_url = gfAddSessionId(SSL_URL . "magazine/" . $_REQUEST['mode'] . ".php?id=" . $uniqId); |
|---|
| 63 | |
|---|
| 64 | $objMailText = new SC_SiteView(); |
|---|
| 65 | $objMailText->assignobj($objPage); |
|---|
| 66 | $toCustomerMail = $objMailText->fetch("mail_templates/mailmagazine_" . $_REQUEST['mode'] . ".tpl"); |
|---|
| 67 | $objMail = new GC_SendMail(); |
|---|
| 68 | $objMail->setItem( |
|---|
| 69 | '' //¡¡°¸Àè |
|---|
| 70 | , $subject //¡¡¥µ¥Ö¥¸¥§¥¯¥È |
|---|
| 71 | , $toCustomerMail //¡¡ËÜʸ |
|---|
| 72 | , $CONF["email03"] //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹ |
|---|
| 73 | , $CONF["shop_name"] //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á° |
|---|
| 74 | , $CONF["email03"] //¡¡reply_to |
|---|
| 75 | , $CONF["email04"] //¡¡return_path |
|---|
| 76 | , $CONF["email04"] // Errors_to |
|---|
| 77 | , $CONF["email01"] // Bcc |
|---|
| 78 | ); |
|---|
| 79 | // °¸Àè¤ÎÀßÄê |
|---|
| 80 | $objMail->setTo($_POST["email"], $_POST["email"]); |
|---|
| 81 | $objMail->sendMail(); |
|---|
| 82 | |
|---|
| 83 | // ´°Î»¥Ú¡¼¥¸¤Ë°Üư¤µ¤»¤ë¡£ |
|---|
| 84 | header("Location:" . gfAddSessionId("./complete.php")); |
|---|
| 85 | exit; |
|---|
| 86 | } else { |
|---|
| 87 | sfDispSiteError(CUSTOMER_ERROR); |
|---|
| 88 | } |
|---|
| 89 | |
|---|
| 90 | // ¥ì¥¤¥¢¥¦¥È¥Ç¥¶¥¤¥ó¤ò¼èÆÀ |
|---|
| 91 | $objPage = sfGetPageLayout($objPage, false, DEF_LAYOUT); |
|---|
| 92 | |
|---|
| 93 | $objView = new SC_SiteView(); |
|---|
| 94 | $objView->assignobj($objPage); |
|---|
| 95 | $objView->display(SITE_FRAME); |
|---|
| 96 | |
|---|
| 97 | //----------------------------------------------------------------------------------------------------------------------------------- |
|---|
| 98 | |
|---|
| 99 | |
|---|
| 100 | //---- ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯ |
|---|
| 101 | function lfMailErrorCheck($array, $dataName) { |
|---|
| 102 | $objErr = new SC_CheckError($array); |
|---|
| 103 | $objErr->doFunc( |
|---|
| 104 | array('¥á¡¼¥ë¥¢¥É¥ì¥¹', $dataName, MTEXT_LEN) , |
|---|
| 105 | array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", |
|---|
| 106 | "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK", "MOBILE_EMAIL_CHECK")); |
|---|
| 107 | |
|---|
| 108 | // ÆþÎÏ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð |
|---|
| 109 | if (count($objErr->arrErr) == 0) { |
|---|
| 110 | // ¥á¥ë¥Þ¥¬¤ÎÅÐÏ¿Í̵ |
|---|
| 111 | $flg = lfIsRegistData($array[$dataName]); |
|---|
| 112 | |
|---|
| 113 | // ÅÐÏ¿¤Î»þ |
|---|
| 114 | if ($dataName == 'regist' and $flg == true) { |
|---|
| 115 | $objErr->arrErr[$dataName] = "´û¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£<br>"; |
|---|
| 116 | // ²ò½ü¤Î»þ |
|---|
| 117 | } elseif ($dataName == 'cancel' and $flg == false) { |
|---|
| 118 | $objErr->arrErr[$dataName] = "¥á¥ë¥Þ¥¬ÅÐÏ¿¤¬¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br>"; |
|---|
| 119 | } |
|---|
| 120 | } |
|---|
| 121 | |
|---|
| 122 | return $objErr->arrErr; |
|---|
| 123 | } |
|---|
| 124 | |
|---|
| 125 | |
|---|
| 126 | //---- ¥á¥ë¥Þ¥¬ÅÐÏ¿ |
|---|
| 127 | function lfRegistData ($email) { |
|---|
| 128 | global $objConn; |
|---|
| 129 | |
|---|
| 130 | $count = 1; |
|---|
| 131 | while ($count != 0) { |
|---|
| 132 | $uniqid = sfGetUniqRandomId("t"); |
|---|
| 133 | $count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer_mail WHERE secret_key = ?", array($uniqid)); |
|---|
| 134 | } |
|---|
| 135 | |
|---|
| 136 | $arrRegist["email"] = $email; // ¥á¡¼¥ë¥¢¥É¥ì¥¹ |
|---|
| 137 | $arrRegist["mail_flag"] = 5; // ÅÐÏ¿¾õÂÖ |
|---|
| 138 | $arrRegist["secret_key"] = $uniqid; // IDȯ¹Ô |
|---|
| 139 | $arrRegist["create_date"] = "now()"; // ºîÀ®Æü |
|---|
| 140 | $arrRegist["update_date"] = "now()"; // ¹¹¿·Æü |
|---|
| 141 | |
|---|
| 142 | //-- ²¾ÅÐÏ¿¼Â¹Ô |
|---|
| 143 | $objConn->query("BEGIN"); |
|---|
| 144 | |
|---|
| 145 | $objQuery = new SC_Query(); |
|---|
| 146 | $objQuery->insert("dtb_customer_mail", $arrRegist); |
|---|
| 147 | |
|---|
| 148 | //--¡¡´û¤Ë¥á¥ë¥Þ¥¬ÅÐÏ¿¤·¤Æ¤¤¤ë¤«¤ÎȽÄê |
|---|
| 149 | $sql = "SELECT count(*) FROM dtb_customer_mail WHERE email = ?"; |
|---|
| 150 | $mailResult = $objConn->getOne($sql, array($arrRegist["email"])); |
|---|
| 151 | |
|---|
| 152 | if ($mailResult == 1) { |
|---|
| 153 | $objQuery->update("dtb_customer_mail", $arrRegist, "email = '" .addslashes($arrRegist["email"]). "'"); |
|---|
| 154 | } else { |
|---|
| 155 | $objQuery->insert("dtb_customer_mail", $arrRegist); |
|---|
| 156 | } |
|---|
| 157 | $objConn->query("COMMIT"); |
|---|
| 158 | |
|---|
| 159 | return $uniqid; |
|---|
| 160 | } |
|---|
| 161 | |
|---|
| 162 | // ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥¡¼¤Î¼èÆÀ |
|---|
| 163 | function lfGetSecretKey ($email) { |
|---|
| 164 | global $objConn; |
|---|
| 165 | |
|---|
| 166 | $sql = "SELECT secret_key FROM dtb_customer_mail WHERE email = ?"; |
|---|
| 167 | return $objConn->getOne($sql, array($email)); |
|---|
| 168 | } |
|---|
| 169 | |
|---|
| 170 | // ´û¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤« |
|---|
| 171 | function lfIsRegistData ($email) { |
|---|
| 172 | global $objConn; |
|---|
| 173 | |
|---|
| 174 | $sql = "SELECT email, mail_flag FROM dtb_customer_mail WHERE email = ?"; |
|---|
| 175 | $mailResult = $objConn->getRow($sql, array($email)); |
|---|
| 176 | |
|---|
| 177 | // NULL¤â¹ØÆÉ¤È¤ß¤Ê¤¹ |
|---|
| 178 | if (count($mailResult) == 0 or ($mailResult[1] != null and $mailResult[1] <= 2 )) { |
|---|
| 179 | return false; |
|---|
| 180 | } else { |
|---|
| 181 | return true; |
|---|
| 182 | } |
|---|
| 183 | } |
|---|
| 184 | |
|---|
| 185 | |
|---|
| 186 | ?> |
|---|