EC-CUBEのカスタマイズ、ネットショップ制作メモ

主にEC-CUBEを利用したネットショップの制作、カスタマイズや独自機能の開発について

EC-CUBE2.4.0RC-1のパスワード文字数制限の不具合を直してみた。

EC-CUBE2.4.0RC-1のデモ(テスト)サイトを作ってカスタマイズデモサイトの為にバグ潰しをやっています。

その中でインストール時や顧客情報登録時など、パスワードの制限文字数の表示や処理がおかしいとの事だったので直してみました。

インストールスクリプトの修正

/html/install/index.phpの以下を修正

653行目付近の

$objWebParam->addParam("管理者:パスワード", "login_pass", MTEXT_LEN, "", array("EXIST_CHECK","EXIST_CHECK", "ALNUM_CHECK"));

$objWebParam->addParam("管理者:パスワード", "login_pass", PASSWORD_LEN2,"", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"));

に変更

727行目付近の

// パスワードのチェック
$objErr->doFunc( array("管理者:パスワード",'login_pass',4 ,15 ) ,array( "NUM_RANGE_CHECK" ) );

// パスワードのチェック
$objErr->doFunc( array("管理者:パスワード",'login_pass',PASSWORD_LEN1 ,PASSWORD_LEN2 ) ,array( "SPTAB_CHECK" ,"NUM_RANGE_CHECK" ) );

に変更


/html/install/templates/step1.tplの65行目付近

<td bgcolor="#f2f1ec" width="150">
    <span class="fs12n">管理者:パスワード<span class="red"></span></span><br/>
    <span class="fs10">半角英数字<!--{$smarty.const.PASSWORD_LEN1}--><!--{$smarty.const.PASSWORD_LEN2}-->文字以内</span>
</td>
<td bgcolor="#ffffff" width="332">
    <!--{assign var=key value="login_pass"}-->
    <span class="red"><span class="fs12n"><!--{$arrErr[$key]}--></span></span>
    <input type="password" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|escape}-->" 
        maxlength="<!--{$smarty.const.PASSWORD_LEN2}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->;" size="40" class="box40" /><br />
    <span class="fs10">※管理者画面にログインするためのパスワードです。</span>
</td>

に変更

管理画面の管理者情報変更部分

EC-CUBEの管理画面の管理者情報の登録や変更をするところです。


/data/Smarty/templates/default/admin/system/input.tplの114行目を

※半角英数字<!--{$smarty.const.PASSWORD_LEN1}-->~<!--{$smarty.const.PASSWORD_LEN2}-->文字</td>

に変更

/data/class/pages/admin/system/LC_Page_Admin_System_input.phpの256行目付近

$objErr->doFunc(array("パスワード", 'password', ID_MIN_LEN, ID_MAX_LEN), array("NUM_RANGE_CHECK"));

$objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("SPTAB_CHECK" ,"NUM_RANGE_CHECK"));

に変更

顧客情報の入力テンプレート

/data/Smarty/templates/default/frontparts/form_personal_input.tplの189行目付近を

<p><em>半角英数字4〜10文字でお願いします。(記号不可)</em></p>

から

<p><em>半角英数字<!--{$smarty.const.PASSWORD_LEN1}--><!--{$smarty.const.PASSWORD_LEN2}-->文字でお願いします。(記号不可)</em></p>

に変更

EC-CUBEパスワードの文字数制限の変更

※PASSWORD_LEN1は必ずPASSWORD_LEN2よりも少ない数にしてください。大きくしたり同じにした場合にどうなるかわかりませんが、おかしくなる事は確かです。

EC-CUBEインストール前

/data/mtb_constants_init.phpの374行目付近の

/** パスワード1 */
define('PASSWORD_LEN1', 4);
/** パスワード2 */
define('PASSWORD_LEN2', 10);

↑の数字を変える

EC-CUBEインストール後

管理画面の[システム設定]>[パラメーター設定]の
`PASSWORD_LEN1,PASSWORD_LEN2
の数字を変更する。



さあ、残りのバグもどんどん潰しましょう