[Svn-src-all:1270] [version-2_5-dev 20159] LC_Page_Mypage_LoginCheck削除
kimoto
admin @ mail.ec-cube.net
2011年 2月 12日 (土) 19:44:52 JST
Subversion committed to /home/svn/open 20159
http://svn.ec-cube.net/open_trac/changeset/20159
┌────────────────────────────┐
│更新者 : kimoto │
│更新日時: 2011-02-12 19:44:52 +0900 (土, 12 2月 2011)│
└────────────────────────────┘
Log:
--------------------------------------------------------
LC_Page_Mypage_LoginCheck削除
* ログインの処理はLC_Page_FrontParts_LoginCheckですべて行う
* 最終的にはPageクラスで行うべきではない
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_5-dev/data/Smarty/templates/default/mypage/login.tpl
U branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/login.tpl
U branches/version-2_5-dev/data/Smarty/templates/sphone/mypage/login.tpl
U branches/version-2_5-dev/data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.php
U branches/version-2_5-dev/data/class/pages/mypage/LC_Page_AbstractMypage.php
D branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_LoginCheck.php
変更: branches/version-2_5-dev/data/Smarty/templates/default/mypage/login.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/default/mypage/login.tpl 2011-02-12 10:44:40 UTC (rev 20158)
+++ branches/version-2_5-dev/data/Smarty/templates/default/mypage/login.tpl 2011-02-12 10:44:52 UTC (rev 20159)
@@ -25,13 +25,16 @@
<div id="under02column">
<div id="under02column_login">
<h2 class="title"><!--{$tpl_title|h}--></h2>
- <form name="login_mypage" id="login_mypage" method="post" action="./login_check.php" onsubmit="return fnCheckLogin('login_mypage')">
- <input type="hidden" name="mode" value="login" />
+ <form name="login_mypage" id="login_mypage" method="post" action="<!--{$smarty.const.HTTPS_URL}-->frontparts/login_check.php" onsubmit="return fnCheckLogin('login_mypage')">
+ <input type="hidden" name="mode" value="login" />
+ <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
+ <input type="hidden" name="url" value="<!--{$smarty.server.PHP_SELF|h}-->" />
+
<div class="loginarea">
<p><img src="<!--{$TPL_URLPATH}-->img/title/tit_sub_member.gif" width="202" height="16" alt="会員登録がお済みのお客様" /></p>
<p class="inputtext">会員の方は、登録時に入力されたメールアドレスとパスワードでログインしてください。</p>
<div class="inputbox">
- <!--{assign var=key value="mypage_login_email"}-->
+ <!--{assign var=key value="login_email"}-->
<span class="attention"><!--{$arrErr[$key]}--></span>
<p>メールアドレス:
<input type="text" name="<!--{$key}-->"
@@ -41,12 +44,12 @@
size="40" class="box300" />
</p>
<p class="mini">
- <!--{assign var=key value="mypage_login_memory"}-->
+ <!--{assign var=key value="login_memory"}-->
<input type="checkbox" name="<!--{$key}-->" value="1" <!--{$tpl_login_memory|sfGetChecked:1}--> id="login_memory" />
<label for="login_memory">メールアドレスをコンピューターに記憶させる</label>
</p>
<p class="passwd">
- <!--{assign var=key value="mypage_login_pass"}-->
+ <!--{assign var=key value="login_pass"}-->
<span class="attention"><!--{$arrErr[$key]}--></span>
パスワード:
<input type="password" name="<!--{$key}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="40" class="box300" />
変更: branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/login.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/login.tpl 2011-02-12 10:44:40 UTC (rev 20158)
+++ branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/login.tpl 2011-02-12 10:44:52 UTC (rev 20159)
@@ -21,18 +21,20 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
*}-->
-<form name="member_form" id="member_form" method="post" action="./login_check.php">
+<form name="member_form" id="member_form" method="post" action="../frontparts/login_check.php">
<input type="hidden" name="mode" value="login" >
+ <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
+ <input type="hidden" name="url" value="<!--{$smarty.server.PHP_SELF|h}-->" />
<!--{if !$tpl_valid_phone_id}-->
●メールアドレス<br>
- <!--{assign var=key value="mypage_login_email"}-->
+ <!--{assign var=key value="login_email"}-->
<font color="#FF0000"><!--{$arrErr[$key]}--></font>
<input type="text" name="<!--{$key}-->" value="<!--{$tpl_login_email|h}-->" maxlength="<!--{$arrForm[$key].length}-->" size="40" istyle="3"><br>
<!--{else}-->
- <input type="hidden" name="mypage_login_email" value="dummy">
+ <input type="hidden" name="login_email" value="dummy">
<!--{/if}-->
●パスワード<br>
- <!--{assign var=key value="mypage_login_pass"}-->
+ <!--{assign var=key value="login_pass"}-->
<font color="#FF0000"><!--{$arrErr[$key]}--></font>
<input type="password" name="<!--{$key}-->" maxlength="<!--{$arrForm[$key].length}-->" size="40" istyle="3"><br>
<center><input type="submit" value="送信" name="log"></center><br>
変更: branches/version-2_5-dev/data/Smarty/templates/sphone/mypage/login.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/sphone/mypage/login.tpl 2011-02-12 10:44:40 UTC (rev 20158)
+++ branches/version-2_5-dev/data/Smarty/templates/sphone/mypage/login.tpl 2011-02-12 10:44:52 UTC (rev 20159)
@@ -25,13 +25,15 @@
<div id="under02column">
<div id="under02column_login">
<h2 class="title"><!--{$tpl_title|h}--></h2>
- <form name="login_mypage" id="login_mypage" method="post" action="./login_check.php" onsubmit="return fnCheckLogin('login_mypage')">
+ <form name="login_mypage" id="login_mypage" method="post" action="<!--{$smarty.const.HTTPS_URL}-->frontparts/login_check.php" onsubmit="return fnCheckLogin('login_mypage')">
<input type="hidden" name="mode" value="login" />
+ <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
+ <input type="hidden" name="url" value="<!--{$smarty.server.PHP_SELF|h}-->" />
<div class="loginarea">
<h3>会員登録がお済みのお客様</h3>
<p class="inputtext">会員の方は、登録時に入力されたメールアドレスとパスワードでログインしてください。</p>
<div class="inputbox">
- <!--{assign var=key value="mypage_login_email"}-->
+ <!--{assign var=key value="login_email"}-->
<span class="attention"><!--{$arrErr[$key]}--></span>
<p>メールアドレス:
<input type="text" name="<!--{$key}-->"
@@ -41,12 +43,12 @@
size="40" class="box300" />
</p>
<p class="mini">
- <!--{assign var=key value="mypage_login_memory"}-->
+ <!--{assign var=key value="login_memory"}-->
<input type="checkbox" name="<!--{$key}-->" value="1" <!--{$tpl_login_memory|sfGetChecked:1}--> id="login_memory" />
<label for="login_memory">メールアドレスを記憶させる</label>
</p>
<p class="passwd">
- <!--{assign var=key value="mypage_login_pass"}-->
+ <!--{assign var=key value="login_pass"}-->
<span class="attention"><!--{$arrErr[$key]}--></span>
パスワード:
<input type="password" name="<!--{$key}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="40" class="box300" />
変更: branches/version-2_5-dev/data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.php 2011-02-12 10:44:40 UTC (rev 20158)
+++ branches/version-2_5-dev/data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.php 2011-02-12 10:44:52 UTC (rev 20159)
@@ -69,50 +69,82 @@
GC_Utils_Ex::gfPrintLog('invalid access :login_check.php $POST["url"]=' . $_POST['url']);
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR);
}
-
+
// 会員管理クラス
$objCustomer = new SC_Customer();
// クッキー管理クラス
$objCookie = new SC_Cookie(COOKIE_EXPIRE);
// パラメータ管理クラス
$this->objFormParam = new SC_FormParam();
-
+
// パラメータ情報の初期化
$this->lfInitParam($this->objFormParam);
-
+
// リクエスト値をフォームにセット
$this->objFormParam->setParam($this->lfConvertParam($_POST));
-
+
// モードによって分岐
switch ($this->getMode()) {
case 'login':
// --- ログイン
-
+
// 入力値のエラーチェック
$this->objFormParam->toLower('login_email');
$arrErr = $this->objFormParam->checkError();
-
+
// エラーの場合はエラー画面に遷移
if (count($arrErr) > 0) {
SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR);
}
-
+
// 入力チェック後の値を取得
$arrForm = $this->objFormParam->getHashArray();
-
+
// クッキー保存判定
if ($arrForm['login_memory'] == '1' && $arrForm['login_email'] != '') {
$objCookie->setCookie('login_email', $arrForm['login_email']);
} else {
$objCookie->setCookie('login_email', '');
}
-
+
// 遷移先の制御
if (count($arrErr) == 0) {
+ // ログイン判定
+ $loginFailFlag = false;
+ if(SC_Display::detectDevice() === DEVICE_TYPE_MOBILE) {
+ // モバイルサイト
+ if(!$objCustomer->getCustomerDataFromMobilePhoneIdPass($arrForm['login_pass']) &&
+ !$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'], true)) {
+ $loginFailFlag = true;
+ }
+ } else {
+ // モバイルサイト以外
+ if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) {
+ $loginFailFlag = true;
+ }
+ }
+
// ログイン処理
- if ($objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'], true)) {
+ if ($loginFailFlag == false) {
+ if(SC_Display::detectDevice() === DEVICE_TYPE_MOBILE) {
+ // ログインが成功した場合は携帯端末IDを保存する。
+ $objCustomer->updateMobilePhoneId();
+
+ /*
+ * email がモバイルドメインでは無く,
+ * 携帯メールアドレスが登録されていない場合
+ */
+ $objMobile = new SC_Helper_Mobile_Ex();
+ if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) {
+ if (!$objCustomer->hasValue('email_mobile')) {
+ SC_Response_Ex::sendRedirectFromUrlPath('entry/email_mobile.php');
+ exit;
+ }
+ }
+ }
+
// --- ログインに成功した場合
- SC_Response_Ex::sendRedirect(HTTP_URL);
+ SC_Response_Ex::sendRedirect($_POST['url']);
exit;
} else {
// --- ログインに失敗した場合
@@ -133,11 +165,11 @@
SC_Response_Ex::sendRedirect($_POST['url']);
exit;
}
-
+
break;
case 'logout':
// --- ログアウト
-
+
// ログイン情報の解放
$objCustomer->EndSession();
// 画面遷移の制御
@@ -150,12 +182,12 @@
SC_Response_Ex::sendRedirect(HTTP_URL);
}
exit;
-
+
break;
default:
break;
}
-
+
}
/**
@@ -175,7 +207,7 @@
*/
function lfInitParam(&$objFormParam) {
$objFormParam->addParam('記憶する', 'login_memory', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
- $objFormParam->addParam('メールアドレス', 'login_email', MTEXT_LEN, 'a', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'EMAIL_CHECK', 'NO_SPTAB' ,'EMAIL_CHAR_CHECK'));
+ $objFormParam->addParam('メールアドレス', 'login_email', MTEXT_LEN, 'a', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NO_SPTAB' ,'EMAIL_CHAR_CHECK'));
$objFormParam->addParam('パスワード', 'login_pass', PASSWORD_LEN1, '', array('EXIST_CHECK'));
$objFormParam->addParam('パスワード', 'login_pass1', PASSWORD_LEN1, '', array('EXIST_CHECK', 'MIN_LENGTH_CHECK'));
$objFormParam->addParam('パスワード', 'login_pass2', PASSWORD_LEN2, '', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'));
変更: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_AbstractMypage.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_AbstractMypage.php 2011-02-12 10:44:40 UTC (rev 20158)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_AbstractMypage.php 2011-02-12 10:44:52 UTC (rev 20159)
@@ -70,17 +70,18 @@
}
// POSTされてきたIDがある場合は優先する。
- if(isset($_POST['mypage_login_email'])
- && $_POST['mypage_login_email'] != "") {
- $this->tpl_login_email = $_POST['mypage_login_email'];
+ if(isset($_POST['login_email'])
+ && $_POST['login_email'] != "") {
+ $this->tpl_login_email = $_POST['login_email'];
}
// 携帯端末IDが一致する会員が存在するかどうかをチェックする。
if (SC_Display::detectDevice() === DEVICE_TYPE_MOBILE){
$this->tpl_valid_phone_id = $objCustomer->checkMobilePhoneId();
}
- $this->tpl_title = 'MYページ(ログイン)';
- $this->tpl_mainpage = 'mypage/login.tpl';
+ $this->tpl_title = 'MYページ(ログイン)';
+ $this->tpl_mainpage = 'mypage/login.tpl';
+ $this->transactionid = SC_Helper_Session_Ex::getToken();
} else {
//マイページ顧客情報表示用共通処理
削除: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_LoginCheck.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_LoginCheck.php 2011-02-12 10:44:40 UTC (rev 20158)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_LoginCheck.php 2011-02-12 10:44:52 UTC (rev 20159)
@@ -1,169 +0,0 @@
-<?php
-/*
- * This file is part of EC-CUBE
- *
- * Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved.
- *
- * http://www.lockon.co.jp/
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-// {{{ requires
-require_once(CLASS_REALDIR . "pages/LC_Page.php");
-
-/**
- * ログインチェック のページクラス.
- *
- * TODO frontparts/LC_Page_Frontparts_LoginCheck と抽象化させる
- * FIXME ロジック見なおし...
- *
- * @package Page
- * @author LOCKON CO.,LTD.
- * @version $Id$
- */
-class LC_Page_Mypage_LoginCheck extends LC_Page {
-
- // }}}
- // {{{ functions
-
- /**
- * Page を初期化する.
- *
- * @return void
- */
- function init() {
- parent::init();
- }
-
- /**
- * Page のプロセス.
- *
- * @return void
- */
- function process() {
- parent::process();
- $this->action();
- $this->sendResponse();
- }
-
- /**
- * Page のAction.
- *
- * @return void
- */
- function action() {
- $objCustomer = new SC_Customer();
- // クッキー管理クラス
- $objCookie = new SC_Cookie(COOKIE_EXPIRE);
- // パラメータ管理クラス
- $this->objFormParam = new SC_FormParam();
- // パラメータ情報の初期化
- $this->lfInitParam();
- //パスワード・Eメールにある空白をトリム
- $_POST["mypage_login_email"] = trim($_POST["mypage_login_email"]);
- $_POST["mypage_login_pass"] = trim($_POST["mypage_login_pass"]); //認証用
- $_POST["mypage_login_pass1"] = trim($_POST["mypage_login_pass"]); //最小桁数比較用
- $_POST["mypage_login_pass2"] = trim($_POST["mypage_login_pass"]); //最大桁数比較用
- // POST値の取得
- $this->objFormParam->setParam($_POST);
-
- switch($this->getMode()) {
- case 'login':
- $this->objFormParam->toLower('mypage_login_email');
- $arrErr = $this->objFormParam->checkError();
-
- // エラーの場合はエラー画面に遷移
- if (count($arrErr) > 0) {
- SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR);
- }
- $arrForm = $this->objFormParam->getHashArray();
- // クッキー保存判定
- if ($arrForm['mypage_login_memory'] == "1" && $arrForm['mypage_login_email'] != "") {
- $objCookie->setCookie('login_email', $_POST['mypage_login_email']);
- } else {
- $objCookie->setCookie('login_email', '');
- }
-
- // ログイン判定
- $loginFailFlag = false;
- if(Net_UserAgent_Mobile::isMobile() === true) {
- // モバイルサイト
- if(!$objCustomer->getCustomerDataFromMobilePhoneIdPass($arrForm['mypage_login_pass']) &&
- !$objCustomer->getCustomerDataFromEmailPass($arrForm['mypage_login_pass'], $arrForm['mypage_login_email'], true)) {
- $loginFailFlag = true;
- }
- } else {
- // モバイルサイト以外
- if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['mypage_login_pass'], $arrForm['mypage_login_email'])) {
- $loginFailFlag = true;
- }
- }
- if($loginFailFlag === true) {
- $arrForm['mypage_login_email'] = strtolower($arrForm['mypage_login_email']);
- $objQuery = new SC_Query;
- $where = "(email = ? OR email_mobile = ?) AND status = 1 AND del_flg = 0";
- $ret = $objQuery->count("dtb_customer", $where, array($arrForm['mypage_login_email'], $arrForm['mypage_login_email']));
-
- if($ret > 0) {
- SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR);
- } else {
- SC_Utils_Ex::sfDispSiteError(SITE_LOGIN_ERROR);
- }
- } else {
- if(Net_UserAgent_Mobile::isMobile() === true) {
- // ログインが成功した場合は携帯端末IDを保存する。
- $objCustomer->updateMobilePhoneId();
-
- /*
- * email がモバイルドメインでは無く,
- * 携帯メールアドレスが登録されていない場合
- */
- $objMobile = new SC_Helper_Mobile_Ex();
- if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) {
- if (!$objCustomer->hasValue('email_mobile')) {
- SC_Response_Ex::sendRedirectFromUrlPath('entry/email_mobile.php');
- exit;
- }
- }
- }
-
- SC_Response_Ex::sendRedirect(DIR_INDEX_PATH);
- exit;
- }
- break;
- }
- }
-
- /**
- * デストラクタ.
- *
- * @return void
- */
- function destroy() {
- parent::destroy();
- }
-
- /* パラメータ情報の初期化 */
- function lfInitParam() {
- $this->objFormParam->addParam("記憶する", "mypage_login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
- $this->objFormParam->addParam("メールアドレス", "mypage_login_email", MTEXT_LEN, "a", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("パスワード", "mypage_login_pass", PASSWORD_LEN1, "KVa", array("EXIST_CHECK"));
- $this->objFormParam->addParam("パスワード", "mypage_login_pass1", PASSWORD_LEN1, "KVa", array("EXIST_CHECK", "MIN_LENGTH_CHECK"));
- $this->objFormParam->addParam("パスワード", "mypage_login_pass2", PASSWORD_LEN2, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
- }
-
-}
-?>
Svn-src-all メーリングリストの案内