Можно сделать кнопку включения и выключения капчи в разделе 'Авторизация'.
В файле
resources\views\admin\settings\_main.php после кода ...
<label class="form-check-label" for="allow_register">Разрешить регистрацию</label>
</div>
добавляем строку
<div class="form-check mb-3">
<input type="hidden" value="0" name="settings[main][allow_login_captcha]">
<input type="checkbox" class="form-check-input" value="1" name="settings[main][allow_login_captcha]" id="allow_logincaptcha"<?= old('settings.main.allow_login_captcha', $settings['main.allow_login_captcha']) ? ' checked' : '' ?>>
<label class="form-check-label" for="allow_login_captcha">Включить Captcha в разделе авторизации</label>
</div>
В файле
app\settings.php после
'allow_register' => $settings['main.allow_register'], // Разрешить регистрацию
добавляем
'allow_login_captcha' => $settings['main.allow_login_captcha'], // Включить Captcha в разделе авторизации
В файлах
database\tables\settings.csv и
storage\database\settings.csv нужно добавить строчку
main.allow_login_captcha,0
В файле
resources\views\users\login.php перед кодом
<button type="submit" class="btn btn-primary">Войти</button>
добавить
<?php if (setting('main.allow_login_captcha')): ?>
<?= $this->fetch('app/_captcha') ?>
<?php endif; ?>
И осталось в файле
app\Controllers\User\UserController.php
после кода
$this->validator->required(['login', 'password']);
дописать
if ( setting('main.allow_login_captcha')) {
$this->validator->required(['captcha'])
->same('captcha', $this->session->get('captcha'), 'Не удалось пройти проверку captcha!');
}