Дополним компонент "Регистрация", возможностью отключать вывод защитного кода из админ панели.
Опция имеет два состояния Да-показывать каптчу, Нет-регистрация без ввода кода каптчи.
Установка опции производится в:
Пользователи-Настройка профилей-Регистрация-Перейти к настройкам регистрации-Форма-Показывать каптчу- Да, Нет ?
Состояние записывается в таблицу конфигурации компонента cms_components.config: (Да) ask_secrcod=1, (Нет) ask_secrcod =0
Если опция "показывать каптчу" вкл ,cms_components.config ask_secrcod =1, проверяем на правильность ввода каптчи, и завершаем регистрацию.
Если опция "показывать каптчу" выкл ,cms_components.config ask_secrcod =0, то обходим проверку каптчи, и завершаем регистрацию.
Версия Instantcms 1.8
Шаблон _default_
Изменяемые файлы:
1-/components/registration/frontend.php
2-/admin/components/registration/backend.php
3-/templates/_default_/components/com_registration.tpl
Если эти файлы не изменялись, то достаточно заменить эти файлы файлами из архива.
Если изменения проводились, то изменения кода надо производить в ручную.
Скачать
----------------------------------------------------------------------------
1 — components/registration/frontend.php
Находим конфигурационные настройки компонента "Регистрация", по умолчанию .
это cтрока 62 комментарий в коде //config defaults.
Добавляем код в строку 68:
Установка конфигурационных настроек "Каптча", по умолчанию будет включена.
-----------------------------------------------------------------------------
Строка 185, комментарий в коде // Проверяем каптчу
Находим строки:
заменяем на код:
Строка 185, комментарий в коде // Проверяем каптчу
—
2 — admin/components/registration/backend.php
Блок "загрузка конфиругации компонента — Регистрация ", комментаррии в коде //CONFIG DEFAULTS
Строка 57, добавляем код:
-------------------------------------------------------------------------------
Блок" Сохранение конфигурации компонента — Регистрация", комментарии в коде //SAVE CONFIG
Строка 84, вставляем код:
Далее ниже кода:Строка 273, вставляем код отображающий опцию "Установки каптчи":
------------------------------------------------------------------------------------
3 — templates/_default_/components/com_registration.tpl
Устанавливаем вывод каптчи в шаблоне в зависимости от условия опции "показывать каптчу"
Cтрока 121 вставляем код:Строка 131 вставляем код :Получится в результате так:--------------------------------------------------------------------------------------
Есть один нюанс.Если зарегистрироватся с каптчей, затем переключить опцию в положение без каптчи -Каптча ВЫКЛ.
То первый раз может, при регистрации может вывестись "Защитный код введен не верно".
В дальнейшем все работает нормально.
Опция имеет два состояния Да-показывать каптчу, Нет-регистрация без ввода кода каптчи.
Установка опции производится в:
Пользователи-Настройка профилей-Регистрация-Перейти к настройкам регистрации-Форма-Показывать каптчу- Да, Нет ?
Состояние записывается в таблицу конфигурации компонента cms_components.config: (Да) ask_secrcod=1, (Нет) ask_secrcod =0
Если опция "показывать каптчу" вкл ,cms_components.config ask_secrcod =1, проверяем на правильность ввода каптчи, и завершаем регистрацию.
Если опция "показывать каптчу" выкл ,cms_components.config ask_secrcod =0, то обходим проверку каптчи, и завершаем регистрацию.
Версия Instantcms 1.8
Шаблон _default_
Изменяемые файлы:
1-/components/registration/frontend.php
2-/admin/components/registration/backend.php
3-/templates/_default_/components/com_registration.tpl
Если эти файлы не изменялись, то достаточно заменить эти файлы файлами из архива.
Если изменения проводились, то изменения кода надо производить в ручную.
Скачать
----------------------------------------------------------------------------
1 — components/registration/frontend.php
Находим конфигурационные настройки компонента "Регистрация", по умолчанию .
это cтрока 62 комментарий в коде //config defaults.
Добавляем код в строку 68:
-----------------------------------------------------------------------------
Строка 185, комментарий в коде // Проверяем каптчу
Находим строки:
$code = $inCore->request('code', 'str'); if(!$code) { $msg .= $_LANG['TYPE_CAPTCHA'].' '; }
Строка 185, комментарий в коде // Проверяем каптчу
if ($cfg['ask_secrcod']){ $code = $inCore->request('code', 'str'); if(!$code) { $msg .= $_LANG['TYPE_CAPTCHA'].' '; } }else { $code=false; }
2 — admin/components/registration/backend.php
Блок "загрузка конфиругации компонента — Регистрация ", комментаррии в коде //CONFIG DEFAULTS
Строка 57, добавляем код:
Блок" Сохранение конфигурации компонента — Регистрация", комментарии в коде //SAVE CONFIG
Строка 84, вставляем код:
$cfg['ask_secrcod'] = $inCore->request('ask_secrcod', 'int');
<tr> <td><strong>Запрашивать дату рождения при регистрации:</strong> </td> <td> <input name="ask_birthdate" type="radio" value="1" <?php if (@$cfg['ask_birthdate']) { echo 'checked="checked"'; } ?>/> Да <input name="ask_birthdate" type="radio" value="0" <?php if (@!$cfg['ask_birthdate']) { echo 'checked="checked"'; } ?>/> Нет </td> </tr>
<tr> <td><strong>Запрашивать защитный код при регистрации:</strong> </td> <td> <input name="ask_secrcod" type="radio" value="1" <?php if (@$cfg['ask_secrcod']) { echo 'checked="checked"'; } ?>/> Да <input name="ask_secrcod" type="radio" value="0" <?php if (@!$cfg['ask_secrcod']) { echo 'checked="checked"'; } ?>/> Нет </td> </tr>
3 — templates/_default_/components/com_registration.tpl
Устанавливаем вывод каптчи в шаблоне в зависимости от условия опции "показывать каптчу"
Cтрока 121 вставляем код:
{if $cfg.ask_secrcod}
{/if}
{if $cfg.ask_secrcod} <tr> <td valign="top" class=""> <div><strong>{$LANG.SECUR_SPAM}: </strong></div> <div><small>{$LANG.SECUR_SPAM_TEXT}</small></div> </td> <td valign="top" class=""> {php}echo cmsPage::getCaptcha();{/php} </td> </tr> {/if}
Есть один нюанс.Если зарегистрироватся с каптчей, затем переключить опцию в положение без каптчи -Каптча ВЫКЛ.
То первый раз может, при регистрации может вывестись "Защитный код введен не верно".
В дальнейшем все работает нормально.
Реклама #
Князь Мышкин 13 лет назад #
13 лет назад #