data\boardinfo.php
------------
перед
?>
добавьте строки
CODE:$this->exbb['uloginmin'] = 2;
$this->exbb['uloginlen'] = 20;
$this->exbb['upassmin'] = 5;
$this->exbb['upasslen'] = 50;
register.php
------------
Спойлер (Отобразить)найти
CODE: /* Name validation */
if ($fm->input['inmembername'] === '' || strlen($fm->input['inmembername']) > 20) {
$fm->_Message($fm->LANG['Registration'],$fm->LANG['NameEmpty']);
}
заменить на
CODE: /* Name validation */
if ($fm->input['inmembername'] === '') {
$fm->_Message($fm->LANG['Registration'], $fm->LANG['NameEmpty']);
} elseif (strlen($fm->input['inmembername']) < $fm->exbb['uloginmin']) {
$fm->_Message($fm->LANG['Registration'], $fm->LANG['LoginShort']);
} elseif (strlen($fm->input['inmembername']) > $fm->exbb['uloginlen']) {
$fm->_Message($fm->LANG['Registration'], $fm->LANG['LoginBig']);
}
найти
CODE: /* Pass validation */
$fm->input['password'] = ($requirepass === FALSE) ? $fm->input['password']: Generate_pass();
if ($fm->input['password'] === '') {
$fm->_Message($fm->LANG['Registration'],$fm->LANG['PassEmpty']);
}
заменить на
CODE: /* Pass validation */
$fm->input['password'] = ($requirepass === FALSE) ? $fm->input['password'] : Generate_pass();
if ($fm->input['password'] === '') {
$fm->_Message($fm->LANG['Registration'], $fm->LANG['PassEmpty']);
} elseif (strlen($fm->input['password']) < $fm->exbb['upassmin']) {
$fm->_Message($fm->LANG['ProfileEditing'], sprintf($fm->LANG['PassLitle'], $fm->exbb['upassmin'], $fm->exbb['upasslen']));
} elseif (strlen($fm->input['password']) > $fm->exbb['upasslen']) {
$fm->_Message($fm->LANG['Registration'], sprintf($fm->LANG['PassBig'], $fm->exbb['upassmin'], $fm->exbb['upasslen']));
}
найти
CODE: $intern = ($fm->exbb['ru_nicks']) ? '<br />'.$fm->LANG['RuYes'] : '<br />'.$fm->LANG['RuNo'];
заменить на
CODE: $intern = ($fm->exbb['ru_nicks']) ? '<br />'.sprintf($fm->LANG['RuYes'], $fm->exbb['uloginmin'], $fm->exbb['uloginlen']) : '<br />'.sprintf($fm->LANG['RuNo'], $fm->exbb['uloginmin'], $fm->exbb['uloginlen']);
и после этой строки добавьте
CODE: $fm->LANG['PassEnter'] = sprintf($fm->LANG['PassEnter'], $fm->exbb['upassmin'], $fm->exbb['upasslen']);
language\russian\lang_front_register.php
------------
Спойлер (Отобразить)после
CODE: $this->LANG['NameEmpty'] = 'Не заполнено поле Имя пользователя!';
добавьте строки
CODE: $this->LANG['LoginShort'] = 'Имя пользователя сильно короткое!';
$this->LANG['LoginBig'] = 'Имя пользователя сильно длинное!';
найти
CODE: $this->LANG['PassLitle'] = 'Слишком маленький пароль!<br>Пароль должен состоять минимум из 6, максимум из 16 символов! ';
$this->LANG['PassBig'] = 'Слишком большой пароль!<br>Пароль должен состоять минимум из 6, максимум из 16 символов! ';
заменить на
CODE: $this->LANG['PassLitle'] = 'Слишком короткий пароль!<br>Пароль должен состоять минимум из <b>%s</b>, максимум из <b>%s</b> символов!';
$this->LANG['PassBig'] = 'Слишком большой пароль!<br>Пароль должен состоять минимум из <b>%s</b>, максимум из <b>%s</b> символов!';
после
CODE: $this->LANG['VerifyPasswordShort'] = 'Короткий пароль';
добавьте строки
CODE: $this->LANG['VerifyPasswordBig'] = 'Слишком большой пароль';
найти
CODE: $this->LANG['RuYes'] = 'Русские ники РАЗРЕШЕНЫ (максимум 20 символов)';
$this->LANG['RuNo'] = 'Русские ники ЗАПРЕЩЕНЫ (максимум 20 символов)';
заменить на
CODE: $this->LANG['RuYes'] = 'Русские ники РАЗРЕШЕНЫ (минимум <b>%s</b>, максимум <b>%s</b> символов)';
$this->LANG['RuNo'] = 'Русские ники ЗАПРЕЩЕНЫ (минимум <b>%s</b>, максимум <b>%s</b> символов)';
найти
CODE: $this->LANG['PassEnter'] = 'Введите пароль. Имейте ввиду, что все пароли чувствительны к регистру. Также необходимо писать на английской раскладке клавиатуры. Минимум <b>6</b>, максимум <b>16</b> символов!';
заменить на
CODE: $this->LANG['PassEnter'] = 'Введите пароль. Имейте ввиду, что все пароли чувствительны к регистру. Также необходимо писать на английской раскладке клавиатуры. Минимум <b>%s</b>, максимум <b>%s</b> символов!';
include\JsHttpRequest\verify_forms.php (если существует такой файл)
------------
Спойлер (Отобразить)найти
CODE: if ($fm->input['value'] === '')
verify_result(0, $fm->LANG['VerifyNameEmpty']);
заменить на
CODE: if ($fm->input['value'] === '') {
verify_result(0, $fm->LANG['VerifyNameEmpty']);
} elseif (strlen($fm->input['value']) < $fm->exbb['uloginmin']) {
verify_result(0, $fm->LANG['LoginShort']);
} elseif (strlen($fm->input['value']) > $fm->exbb['uloginlen']) {
verify_result(0, $fm->LANG['LoginBig']);
}
найти
CODE: if ($fm->input['value'] === '')
verify_result(0, $fm->LANG['VerifyPasswordEmpty']);
if (strlen($fm->input['value']) < 6)
verify_result(0, $fm->LANG['VerifyPasswordShort']);
заменить на
CODE: if ($fm->input['value'] === '') {
verify_result(0, $fm->LANG['VerifyPasswordEmpty']);
} elseif (strlen($fm->input['value']) < $fm->exbb['upassmin']) {
verify_result(0, $fm->LANG['VerifyPasswordShort']);
} elseif (strlen($fm->input['value']) > $fm->exbb['upasslen']) {
verify_result(0, $fm->LANG['VerifyPasswordBig']);
}
profile.php
------------
Спойлер (Отобразить)найти
CODE: if (strlen($fm->input['password']) < 6) {
$fm->_Message($fm->LANG['ProfileEditing'],$fm->LANG['PassLitle']);
}
if (strlen($fm->input['password']) > 16) {
$fm->_Message($fm->LANG['ProfileEditing'],$fm->LANG['PassBig']);
}
заменить на
CODE: if (strlen($fm->input['password']) < $fm->exbb['upassmin']) {
$fm->_Message($fm->LANG['ProfileEditing'],sprintf($fm->LANG['PassLitle'], $fm->exbb['upassmin'], $fm->exbb['upasslen']));
} elseif (strlen($fm->input['password']) > $fm->exbb['upasslen']) {
$fm->_Message($fm->LANG['ProfileEditing'],sprintf($fm->LANG['PassBig'], $fm->exbb['upassmin'], $fm->exbb['upasslen']));
}
перед строкой
CODE: $fm->_Title = ' :: '.$fm->LANG['ProfileEditing'];
добавьте строку
CODE: $fm->LANG['PassEnter'] = sprintf($fm->LANG['PassEnter'], $fm->exbb['upassmin'], $fm->exbb['upasslen']);
templates/НАЗВАНИЕ_СТИЛЯ/agreed.tpl
------------
Спойлер (Отобразить)найти
CODE: <input type="text" style="width: 200px" size="35" maxlength="20" name="inmembername" onblur="verify_register(this);" />
заменить на
CODE: <input type="text" style="width: 200px" size="35" maxlength="{$fm->exbb['uloginlen']}" name="inmembername" onblur="verify_register(this);" />
найти
CODE: <input type="text" size="20" name="password" maxlength="16" onblur="verify_register(this);">
заменить на
CODE: <input type="text" size="20" name="password" maxlength="{$fm->exbb['upasslen']}" onblur="verify_register(this);">
templates/InvisionExBB/profile.tpl
------------
Спойлер (Отобразить)найти
CODE: <td class="profilright"><input type="text" style="width: 200px" name="password" maxlength="16"></td>
заменить на
CODE: <td class="profilright"><input type="text" style="width: 200px" name="password" maxlength="{$fm->exbb['upasslen']}"></td>
(Добавление)
------------
следующие правки необязательны, но позволяют изменять параметры в админке
------------
admin/board_config.tpl
------------
Спойлер (Отобразить)после
CODE: <tr class="gen">
<td class="row1">{$fm->LANG['MaxSigLines']}</td>
<td class="row2"><input class="post" type="text" maxlength="2" size="5" name="new_exbb[i][max_sig_lin]" value="{$fm->exbb['max_sig_lin']}" /></td>
</tr>
добавьте строки
CODE: <tr class="gen">
<td class="row1">{$fm->LANG['UserLogin']}</td>
<td class="row2">min <input class="post" type="text" maxlength="2" size="4" name="new_exbb[i][uloginmin]" value="{$fm->exbb['uloginmin']}" /> max <input class="post" type="text" maxlength="2" size="4" name="new_exbb[i][uloginlen]" value="{$fm->exbb['uloginlen']}" /></td>
</tr>
<tr class="gen">
<td class="row1">{$fm->LANG['UserPass']}</td>
<td class="row2">min <input class="post" type="text" maxlength="2" size="4" name="new_exbb[i][upassmin]" value="{$fm->exbb['upassmin']}" /> max <input class="post" type="text" maxlength="2" size="4" name="new_exbb[i][upasslen]" value="{$fm->exbb['upasslen']}" /></td>
</tr>
language\russian\lang_admin_setvariables.php
------------
Спойлер (Отобразить)после
CODE: $this->LANG['BoardEmailMes'] = 'Включение этой функции позволит пользователям подписываться на интересные темы';
добавьте строки
CODE: $this->LANG['UserLogin'] = 'Наименьшее и наибольшее количество символов в логине пользователя';
$this->LANG['UserPass'] = 'Наименьшее и наибольшее количество символов в пароле пользователя';
setvariables.php
------------
Спойлер (Отобразить)после
CODE: $fm->exbb[$key] = ($variable == '' || $variable == '0') ? '0': intval($variable);
добавьте строки
CODE: if ($key == 'uloginlen' && $variable < $fm->exbb['uloginmin']) {
$fm->exbb['uloginlen'] = $fm->exbb['uloginmin'] + 1;
} elseif ($key == 'upasslen' && $variable < $fm->exbb['upassmin']) {
$fm->exbb['upasslen'] = $fm->exbb['upassmin'] + 1;
}
=========================
Примечание: чтобы в админке в поля нельзя было ввести минусовые или нулевые значения:
setvariables.php
------------
после
CODE: $fm->exbb[$key] = ($variable == '' || $variable == '0') ? '0': intval($variable);
добавьте строку
CODE: if ($variable < 1 && $key != 'sub_post' && $key != 'flood_limit') $fm->exbb[$key] = 1;
(здесь мы разрешили вводить значения меньше единицы, т.е. в данном случае нули, в поля "Интервал склеивания сообщения пользователя" (sub_post) и "Задержка флудинга" (flood_limit))