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>
に変更