diff --git a/captcha.module b/captcha.module index 2dabee3..63647a5 100755 --- a/captcha.module +++ b/captcha.module @@ -12,6 +12,7 @@ use Drupal\captcha\Entity\CaptchaPoint; use Drupal\Component\Utility\Unicode; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Url; /** @@ -43,24 +44,24 @@ define('CAPTCHA_DEFAULT_VALIDATION_CASE_INSENSITIVE', 1); /** * Implements hook_help(). */ -function captcha_help($path, $arg) { - switch ($path) { - case 'admin/help#captcha': +function captcha_help($route_name, RouteMatchInterface $route_match) { + switch ($route_name) { + case 'help.page.captcha': $output = '
' . t('"CAPTCHA" is an acronym for "Completely Automated Public Turing test to tell Computers and Humans Apart". It is typically a challenge-response test to determine whether the user is human. The CAPTCHA module is a tool to fight automated submission by malicious users (spamming) of for example comments forms, user registration forms, guestbook forms, etc. You can extend the desired forms with an additional challenge, which should be easy for a human to solve correctly, but hard enough to keep automated scripts and spam bots out.') . '
'; $output .= '' . t('Note that the CAPTCHA module interacts with page caching (see performance settings). Because the challenge should be unique for each generated form, the caching of the page it appears on is prevented. Make sure that these forms do not appear on too many pages or you will lose much caching efficiency. For example, if you put a CAPTCHA on the user login block, which typically appears on each page for anonymous visitors, caching will practically be disabled. The comment submission forms are another example. In this case you should set the Location of comment submission form to Display on separate page in the comment settings of the relevant content types for better caching efficiency.', array( - '!performancesettings' => url('admin/config/development/performance'), - '!contenttypes' => url('admin/structure/types'), + '!performancesettings' => \Drupal::url('system.performance_settings'), + '!contenttypes' => \Drupal::url('node.overview_types'), ) ) . '
'; $output .= '' . t('CAPTCHA is a trademark of Carnegie Mellon University.') . '
'; return $output; - case 'admin/config/people/captcha': - case 'admin/config/people/captcha/captcha': - case 'admin/config/people/captcha/captcha/settings': + case 'captcha_settings': + case 'captcha_settings_captcha': + case 'captcha_settings_general': $output = '' . t('A CAPTCHA can be added to virtually each Drupal form. Some default forms are already provided in the form list, but arbitrary forms can be easily added and managed when the option Add CAPTCHA administration links to forms is enabled.') . '
'; - $output .= '' . t('Users with the Skip CAPTCHA permission won\'t be offered a challenge. Be sure to grant this permission to the trusted users (e.g. site administrators). If you want to test a protected form, be sure to do it as a user without the Skip CAPTCHA permission (e.g. as anonymous user).', array('@perm' => url('admin/people/permissions'))) . '
'; + $output .= '' . t('Users with the Skip CAPTCHA permission won\'t be offered a challenge. Be sure to grant this permission to the trusted users (e.g. site administrators). If you want to test a protected form, be sure to do it as a user without the Skip CAPTCHA permission (e.g. as anonymous user).', array('!perm' => \Drupal::url('user.admin_permissions'))) . '
'; return $output; } } diff --git a/captcha.routing.yml b/captcha.routing.yml index d5c96df..684c5e5 100755 --- a/captcha.routing.yml +++ b/captcha.routing.yml @@ -6,6 +6,22 @@ captcha_settings: requirements: _permission: 'administer CAPTCHA settings' +captcha_settings_captcha: + path: '/admin/config/people/captcha/captcha' + defaults: + _form: '\Drupal\captcha\Form\CaptchaSettingsForm' + _title: 'CAPTCHA' + requirements: + _permission: 'administer CAPTCHA settings' + +captcha_settings_general: + path: '/admin/config/people/captcha/captcha/settings' + defaults: + _form: '\Drupal\captcha\Form\CaptchaSettingsForm' + _title: 'General settings' + requirements: + _permission: 'administer CAPTCHA settings' + captcha_examples: path: '/admin/config/people/captcha/examples/{module}/{challenge}' defaults: diff --git a/image_captcha/image_captcha.module b/image_captcha/image_captcha.module index 7baeb19..cabeea6 100755 --- a/image_captcha/image_captcha.module +++ b/image_captcha/image_captcha.module @@ -5,6 +5,8 @@ * Implements image CAPTCHA for use with the CAPTCHA module */ +use Drupal\Core\Routing\RouteMatchInterface; + define('IMAGE_CAPTCHA_ALLOWED_CHARACTERS', 'aAbBCdEeFfGHhijKLMmNPQRrSTtWXYZ23456789'); // Setup status flags. @@ -19,9 +21,9 @@ define('IMAGE_CAPTCHA_FILE_FORMAT_TRANSPARENT_PNG', 3); /** * Implements hook_help(). */ -function image_captcha_help($path, $arg) { - switch ($path) { - case 'admin/config/people/captcha/image_captcha': +function image_captcha_help($route_name, RouteMatchInterface $route_match) { + switch ($route_name) { + case 'image_captcha.settings': $output = '' . t('The image CAPTCHA is a popular challenge where a random textual code is obfuscated in an image. The image is generated on the fly for each request, which is rather CPU intensive for the server. Be careful with the size and computation related settings.') . '
'; return $output; }