Changeset 15142 for branches/feature-module-update/html
- Timestamp:
- 2007/07/27 20:02:02 (17 years ago)
- Location:
- branches/feature-module-update/html/entry
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/entry/complete.php
r15080 r15142 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 8 // {{{ requires 7 9 require_once("../require.php"); 10 require_once(CLASS_PATH . "page_extends/entry/LC_Page_Entry_Complete_Ex.php"); 8 11 9 class LC_Page { 10 function LC_Page() { 11 $this->tpl_css = URL_DIR.'css/layout/entry/complete.css'; // メインCSSパス 12 13 if(CUSTOMER_CONFIRM_MAIL == true) { 14 // 仮会員登録完了 15 $this->tpl_mainpage = 'entry/complete.tpl'; // メインテンプレート 16 } else { 17 // 本会員登録完了 18 $this->tpl_mainpage = 'regist/complete.tpl'; // メインテンプレート 19 } 20 21 $this->tpl_title .= '会員登録(完了ページ)'; // ページタイトル 22 } 23 } 12 // }}} 13 // {{{ generate page 24 14 25 $objPage = new LC_Page(); 26 $objView = new SC_SiteView(); 27 $objCampaignSess = new SC_CampaignSession(); 28 29 // レイアウトデザインを取得 30 $objPage = sfGetPageLayout($objPage, false, DEF_LAYOUT); 31 32 // キャンペーンからの遷移がチェック 33 $objPage->is_campaign = $objCampaignSess->getIsCampaign(); 34 $objPage->campaign_dir = $objCampaignSess->getCampaignDir(); 35 36 $objView->assignobj($objPage); 37 // フレームを選択(キャンペーンページから遷移なら変更) 38 $objCampaignSess->pageView($objView); 39 //---------------------------------------------------------------------------------------------------------------------- 15 $objPage = new LC_Page_Entry_Complete_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 40 19 ?> -
branches/feature-module-update/html/entry/index.php
r15080 r15142 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 8 // {{{ requires 7 9 require_once("../require.php"); 10 require_once(CLASS_PATH . "page_extends/entry/LC_Page_Entry_Ex.php"); 8 11 9 class LC_Page { 10 function LC_Page() { 11 $this->tpl_css = URL_DIR.'css/layout/entry/index.css'; // メインCSSパス 12 $this->tpl_mainpage = 'entry/index.tpl'; // メインテンプレート 13 $this->tpl_title .= '会員登録(入力ページ)'; // ページタイトル 14 } 15 } 12 // }}} 13 // {{{ generate page 16 14 17 //---- ページ初期設定 18 $CONF = sf_getBasisData(); // 店舗基本情報 19 $objConn = new SC_DbConn(); 20 $objPage = new LC_Page(); 21 $objView = new SC_SiteView(); 22 $objCustomer = new SC_Customer(); 23 $objCampaignSess = new SC_CampaignSession(); 24 $objDate = new SC_Date(START_BIRTH_YEAR, date("Y",strtotime("now"))); 25 $objPage->arrPref = $arrPref; 26 $objPage->arrJob = $arrJob; 27 $objPage->arrReminder = $arrReminder; 28 $objPage->arrYear = $objDate->getYear('', 1950); // 日付プルダウン設定 29 $objPage->arrMonth = $objDate->getMonth(); 30 $objPage->arrDay = $objDate->getDay(); 31 32 //SSLURL判定 33 if (SSLURL_CHECK == 1){ 34 $ssl_url= sfRmDupSlash(SSL_URL.$_SERVER['REQUEST_URI']); 35 if (!ereg("^https://", $non_ssl_url)){ 36 sfDispSiteError(URL_ERROR); 37 } 38 } 39 40 // レイアウトデザインを取得 41 $objPage = sfGetPageLayout($objPage, false, DEF_LAYOUT); 42 43 //---- 登録用カラム配列 44 $arrRegistColumn = array( 45 array( "column" => "name01", "convert" => "aKV" ), 46 array( "column" => "name02", "convert" => "aKV" ), 47 array( "column" => "kana01", "convert" => "CKV" ), 48 array( "column" => "kana02", "convert" => "CKV" ), 49 array( "column" => "zip01", "convert" => "n" ), 50 array( "column" => "zip02", "convert" => "n" ), 51 array( "column" => "pref", "convert" => "n" ), 52 array( "column" => "addr01", "convert" => "aKV" ), 53 array( "column" => "addr02", "convert" => "aKV" ), 54 array( "column" => "email", "convert" => "a" ), 55 array( "column" => "email2", "convert" => "a" ), 56 array( "column" => "email_mobile", "convert" => "a" ), 57 array( "column" => "email_mobile2", "convert" => "a" ), 58 array( "column" => "tel01", "convert" => "n" ), 59 array( "column" => "tel02", "convert" => "n" ), 60 array( "column" => "tel03", "convert" => "n" ), 61 array( "column" => "fax01", "convert" => "n" ), 62 array( "column" => "fax02", "convert" => "n" ), 63 array( "column" => "fax03", "convert" => "n" ), 64 array( "column" => "sex", "convert" => "n" ), 65 array( "column" => "job", "convert" => "n" ), 66 array( "column" => "birth", "convert" => "n" ), 67 array( "column" => "reminder", "convert" => "n" ), 68 array( "column" => "reminder_answer", "convert" => "aKV"), 69 array( "column" => "password", "convert" => "a" ), 70 array( "column" => "password02", "convert" => "a" ), 71 array( "column" => "mailmaga_flg", "convert" => "n" ), 72 ); 73 74 //---- 登録除外用カラム配列 75 $arrRejectRegistColumn = array("year", "month", "day", "email02", "email_mobile02", "password02"); 76 77 if ($_SERVER["REQUEST_METHOD"] == "POST") { 78 79 //-- POSTデータの引き継ぎ 80 $objPage->arrForm = $_POST; 81 82 if($objPage->arrForm['year'] == '----') { 83 $objPage->arrForm['year'] = ''; 84 } 85 86 $objPage->arrForm['email'] = strtolower($objPage->arrForm['email']); // emailはすべて小文字で処理 87 $objPage->arrForm['email02'] = strtolower($objPage->arrForm['email02']); // emailはすべて小文字で処理 88 89 //-- 入力データの変換 90 $objPage->arrForm = lfConvertParam($objPage->arrForm, $arrRegistColumn); 91 92 //-- 入力エラーチェック 93 $objPage->arrErr = lfErrorCheck($objPage->arrForm); 94 95 if ($objPage->arrErr || $_POST["mode"] == "return") { // 入力エラーのチェック 96 foreach($objPage->arrForm as $key => $val) { 97 $objPage->$key = $val; 98 } 99 100 } else { 101 102 //-- 確認 103 if ($_POST["mode"] == "confirm") { 104 foreach($objPage->arrForm as $key => $val) { 105 if ($key != "mode" && $key != "subm") $objPage->list_data[ $key ] = $val; 106 } 107 //パスワード表示 108 $passlen = strlen($objPage->arrForm['password']); 109 $objPage->passlen = lfPassLen($passlen); 110 111 $objPage->tpl_css = '/css/layout/entry/confirm.css'; 112 $objPage->tpl_mainpage = 'entry/confirm.tpl'; 113 $objPage->tpl_title = '会員登録(確認ページ)'; 114 115 } 116 117 //-- 会員登録と完了画面 118 if ($_POST["mode"] == "complete") { 119 // キャンペーンからの遷移の時用の値 120 if($objCampaignSess->getIsCampaign()) { 121 $objPage->etc_value = "&cp=".$objCampaignSess->getCampaignId(); 122 } 123 124 // 会員情報の登録 125 $objPage->uniqid = lfRegistData ($objPage->arrForm, $arrRegistColumn, $arrRejectRegistColumn, CUSTOMER_CONFIRM_MAIL); 126 127 $objPage->tpl_css = '/css/layout/entry/complete.css'; 128 $objPage->tpl_mainpage = 'entry/complete.tpl'; 129 $objPage->tpl_title = '会員登録(完了ページ)'; 130 131 // 完了メール送信 132 $objPage->CONF = $CONF; 133 $objPage->name01 = $_POST['name01']; 134 $objPage->name02 = $_POST['name02']; 135 $objMailText = new SC_SiteView(); 136 $objMailText->assignobj($objPage); 137 138 // 仮会員が有効の場合 139 if(CUSTOMER_CONFIRM_MAIL == true) { 140 $subject = sfMakesubject('会員登録のご確認'); 141 $toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl"); 142 } else { 143 $subject = sfMakesubject('会員登録のご完了'); 144 $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl"); 145 // ログイン状態にする 146 $objCustomer->setLogin($_POST["email"]); 147 } 148 149 $objMail = new GC_SendMail(); 150 $objMail->setItem( 151 '' // 宛先 152 , $subject // サブジェクト 153 , $toCustomerMail // 本文 154 , $CONF["email03"] // 配送元アドレス 155 , $CONF["shop_name"] // 配送元 名前 156 , $CONF["email03"] // reply_to 157 , $CONF["email04"] // return_path 158 , $CONF["email04"] // Errors_to 159 ); 160 // 宛先の設定 161 $name = $_POST["name01"] . $_POST["name02"] ." 様"; 162 $objMail->setTo($_POST["email"], $name); 163 $objMail->sendMail(); 164 165 // 完了ページに移動させる。 166 header("Location: ./complete.php"); 167 exit; 168 } 169 } 170 } 171 172 if($objPage->year == '') { 173 $objPage->year = '----'; 174 } 175 176 //---- ページ表示 177 $objView->assignobj($objPage); 178 // フレームを選択(キャンペーンページから遷移なら変更) 179 $objCampaignSess->pageView($objView); 180 181 //---------------------------------------------------------------------------------------------------------------------- 182 // 会員情報の登録 183 function lfRegistData ($array, $arrRegistColumn, $arrRejectRegistColumn, $confirm_flg) { 184 global $objConn; 185 186 // 登録データの生成 187 foreach ($arrRegistColumn as $data) { 188 if (strlen($array[ $data["column"] ]) > 0 && ! in_array($data["column"], $arrRejectRegistColumn)) { 189 $arrRegist[ $data["column"] ] = $array[ $data["column"] ]; 190 } 191 } 192 193 // 誕生日が入力されている場合 194 if (strlen($array["year"]) > 0 ) { 195 $arrRegist["birth"] = $array["year"] ."/". $array["month"] ."/". $array["day"] ." 00:00:00"; 196 } 197 198 // パスワードの暗号化 199 $arrRegist["password"] = sha1($arrRegist["password"] . ":" . AUTH_MAGIC); 200 201 // 仮会員登録の場合 202 if($confirm_flg == true) { 203 // 重複しない会員登録キーを発行する。 204 $count = 1; 205 while ($count != 0) { 206 $uniqid = sfGetUniqRandomId("t"); 207 $count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid)); 208 } 209 switch($array["mailmaga_flg"]) { 210 case 1: 211 $arrRegist["mailmaga_flg"] = 4; 212 break; 213 case 2: 214 $arrRegist["mailmaga_flg"] = 5; 215 break; 216 default: 217 $arrRegist["mailmaga_flg"] = 6; 218 break; 219 } 220 221 $arrRegist["status"] = "1"; // 仮会員 222 } else { 223 // 重複しない会員登録キーを発行する。 224 $count = 1; 225 while ($count != 0) { 226 $uniqid = sfGetUniqRandomId("r"); 227 $count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid)); 228 } 229 $arrRegist["status"] = "2"; // 本会員 230 } 231 232 /* 233 secret_keyは、テーブルで重複許可されていない場合があるので、 234 本会員登録では利用されないがセットしておく。 235 */ 236 $arrRegist["secret_key"] = $uniqid; // 会員登録キー 237 $arrRegist["create_date"] = "now()"; // 作成日 238 $arrRegist["update_date"] = "now()"; // 更新日 239 $arrRegist["first_buy_date"] = ""; // 最初の購入日 240 241 //-- 仮登録実行 242 $objConn->query("BEGIN"); 243 244 $objQuery = new SC_Query(); 245 $objQuery->insert("dtb_customer", $arrRegist); 246 247 248 /* メルマガ会員機能は現在停止中 2007/03/07 249 250 251 //-- 非会員でメルマガ登録しているかの判定 252 $sql = "SELECT count(*) FROM dtb_customer_mail WHERE email = ?"; 253 $mailResult = $objConn->getOne($sql, array($arrRegist["email"])); 254 255 //-- メルマガ仮登録実行 256 $arrRegistMail["email"] = $arrRegist["email"]; 257 if ($array["mailmaga_flg"] == 1) { 258 $arrRegistMail["mailmaga_flg"] = 4; 259 } elseif ($array["mailmaga_flg"] == 2) { 260 $arrRegistMail["mailmaga_flg"] = 5; 261 } else { 262 $arrRegistMail["mailmaga_flg"] = 6; 263 } 264 $arrRegistMail["update_date"] = "now()"; 265 266 // 非会員でメルマガ登録している場合 267 if ($mailResult == 1) { 268 $objQuery->update("dtb_customer_mail", $arrRegistMail, "email = '" .addslashes($arrRegistMail["email"]). "'"); 269 } else { // 新規登録の場合 270 $arrRegistMail["create_date"] = "now()"; 271 $objQuery->insert("dtb_customer_mail", $arrRegistMail); 272 } 273 */ 274 $objConn->query("COMMIT"); 275 276 return $uniqid; 277 } 278 279 //---- 取得文字列の変換 280 function lfConvertParam($array, $arrRegistColumn) { 281 /* 282 * 文字列の変換 283 * K : 「半角(ハンカク)片仮名」を「全角片仮名」に変換 284 * C : 「全角ひら仮名」を「全角かた仮名」に変換 285 * V : 濁点付きの文字を一文字に変換。"K","H"と共に使用します 286 * n : 「全角」数字を「半角(ハンカク)」に変換 287 * a : 全角英数字を半角英数字に変換する 288 */ 289 // カラム名とコンバート情報 290 foreach ($arrRegistColumn as $data) { 291 $arrConvList[ $data["column"] ] = $data["convert"]; 292 } 293 // 文字変換 294 foreach ($arrConvList as $key => $val) { 295 // POSTされてきた値のみ変換する。 296 if(strlen(($array[$key])) > 0) { 297 $array[$key] = mb_convert_kana($array[$key] ,$val); 298 } 299 } 300 return $array; 301 } 302 303 //---- 入力エラーチェック 304 function lfErrorCheck($array) { 305 306 global $objConn; 307 $objErr = new SC_CheckError($array); 308 309 $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 310 $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 311 $objErr->doFunc(array("フリガナ(セイ)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 312 $objErr->doFunc(array("フリガナ(メイ)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 313 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 314 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 315 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 316 $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 317 $objErr->doFunc(array("ご住所1", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 318 $objErr->doFunc(array("ご住所2", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 319 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 320 $objErr->doFunc(array('メールアドレス(確認)', "email02", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 321 $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK")); 322 323 //現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 324 if (strlen($array["email"]) > 0) { 325 $objQuery = new SC_Query(); 326 $arrRet = $objQuery->select("email, update_date, del_flg", "dtb_customer","email ILIKE ? ORDER BY del_flg", array($array["email"])); 327 328 if(count($arrRet) > 0) { 329 if($arrRet[0]['del_flg'] != '1') { 330 // 会員である場合 331 $objErr->arrErr["email"] .= "※ すでに会員登録で使用されているメールアドレスです。<br />"; 332 } else { 333 // 退会した会員である場合 334 $leave_time = sfDBDatetoTime($arrRet[0]['update_date']); 335 $now_time = time(); 336 $pass_time = $now_time - $leave_time; 337 // 退会から何時間-経過しているか判定する。 338 $limit_time = ENTRY_LIMIT_HOUR * 3600; 339 if($pass_time < $limit_time) { 340 $objErr->arrErr["email"] .= "※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br />"; 341 } 342 } 343 } 344 } 345 346 $objErr->doFunc(array("お電話番号1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK" )); 347 $objErr->doFunc(array("お電話番号2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK" )); 348 $objErr->doFunc(array("お電話番号3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK" )); 349 $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03",TEL_ITEM_LEN) ,array("TEL_CHECK")); 350 $objErr->doFunc(array("FAX番号1", 'fax01'), array("SPTAB_CHECK")); 351 $objErr->doFunc(array("FAX番号2", 'fax02'), array("SPTAB_CHECK")); 352 $objErr->doFunc(array("FAX番号3", 'fax03'), array("SPTAB_CHECK")); 353 $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03", TEL_ITEM_LEN) ,array("TEL_CHECK")); 354 $objErr->doFunc(array("ご性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK")); 355 $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK")); 356 $objErr->doFunc(array("パスワード(確認)", 'password02', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK")); 357 $objErr->doFunc(array('パスワード', 'パスワード(確認)', "password", "password02") ,array("EQUAL_CHECK")); 358 $objErr->doFunc(array("パスワードを忘れたときのヒント 質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK")); 359 $objErr->doFunc(array("パスワードを忘れたときのヒント 答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 360 $objErr->doFunc(array("メールマガジン", "mailmaga_flg") ,array("SELECT_CHECK", "NUM_CHECK")); 361 362 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_DATE")); 363 $objErr->doFunc(array("メールマガジン", 'mailmaga_flg'), array("SELECT_CHECK")); 364 365 return $objErr->arrErr; 366 } 367 368 //確認ページ用パスワード表示用 369 370 function lfPassLen($passlen){ 371 $ret = ""; 372 for ($i=0;$i<$passlen;true){ 373 $ret.="*"; 374 $i++; 375 } 376 return $ret; 377 } 378 379 //----------------------------------------------------------------------------------------------------------------------------------- 15 $objPage = new LC_Page_Entry_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 380 19 ?> -
branches/feature-module-update/html/entry/kiyaku.php
r15080 r15142 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 8 // {{{ requires 7 9 require_once("../require.php"); 10 require_once(CLASS_PATH . "page_extends/entry/LC_Page_Entry_Kiyaku_Ex.php"); 8 11 9 class LC_Page { 10 function LC_Page() { 11 $this->tpl_mainpage = 'entry/kiyaku.tpl'; 12 $this->tpl_title="ご利用規約"; 13 } 14 } 12 // }}} 13 // {{{ generate page 15 14 16 $objPage = new LC_Page(); 17 $objView = new SC_SiteView(); 18 $objCustomer = new SC_Customer(); 19 $objCampaignSess = new SC_CampaignSession(); 20 21 // レイアウトデザインを取得 22 $objPage = sfGetPageLayout($objPage, false, DEF_LAYOUT); 23 24 // 規約内容の取得 25 $objQuery = new SC_Query(); 26 $objQuery->setorder("rank DESC"); 27 $arrRet = $objQuery->select("kiyaku_title, kiyaku_text", "dtb_kiyaku", "del_flg <> 1"); 28 29 $max = count($arrRet); 30 $objPage->tpl_kiyaku_text = ""; 31 for ($i = 0; $i < $max; $i++) { 32 $objPage->tpl_kiyaku_text.=$arrRet[$i]['kiyaku_title'] . "\n\n"; 33 $objPage->tpl_kiyaku_text.=$arrRet[$i]['kiyaku_text'] . "\n\n"; 34 } 35 36 // キャンペーンからの遷移がチェック 37 $objPage->is_campaign = $objCampaignSess->getIsCampaign(); 38 $objPage->campaign_dir = $objCampaignSess->getCampaignDir(); 39 40 $objView->assignobj($objPage); 41 // フレームを選択(キャンペーンページから遷移なら変更) 42 $objCampaignSess->pageView($objView); 43 //-------------------------------------------------------------------------------------------------------------------------- 15 $objPage = new LC_Page_Entry_Kiyaku_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 44 19 ?>
Note: See TracChangeset
for help on using the changeset viewer.