Skip to content

Customization Anti-Crawler options - #845

Open
alexander-b-clean wants to merge 3 commits into
devfrom
anti-crawler-options.ab
Open

Customization Anti-Crawler options#845
alexander-b-clean wants to merge 3 commits into
devfrom
anti-crawler-options.ab

Conversation

@alexander-b-clean

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the WordPress admin settings UX so Anti-Crawler (an add-on to SpamFireWall) can automatically enable SpamFireWall when Anti-Crawler is enabled, and enforces that dependency during settings validation.

Changes:

  • Added admin-page JS logic to turn on SpamFireWall when Anti-Crawler is enabled.
  • Updated settings definition/description for Anti-Crawler and adjusted SpamFireWall children/dependency handling.
  • Added server-side validation to force sfw__enabled on when sfw__anti_crawler is enabled, and regenerated minified assets.

Reviewed changes

Copilot reviewed 2 out of 4 changed files in this pull request and generated 3 comments.

File Description
js/src/cleantalk-admin-settings-page.js Adds Anti-Crawler → SpamFireWall dependency handling in the settings UI.
js/cleantalk-admin-settings-page.min.js Rebuilt minified JS including the new dependency handler.
js/cleantalk-admin-settings-page.min.js.map Updated source map to match rebuilt minified JS.
inc/cleantalk-settings.php Updates Anti-Crawler field description and adds validation to enforce the dependency server-side.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +470 to +486
function apbctManageAntiCrawlerDependency() {
const antiCrawler = document.querySelector('#apbct_setting_sfw__anti_crawler');
const spamFireWall = document.querySelector('#apbct_setting_sfw__enabled');
if (antiCrawler === null || spamFireWall === null) {
return;
}
antiCrawler.addEventListener('change', () => {
if (! antiCrawler.checked || spamFireWall.checked) {
return;
}
spamFireWall.checked = true;
const childrens = spamFireWall.getAttribute('apbct_children');
if (childrens !== null) {
apbctSettingsDependencies(childrens, 1);
}
});
}
Comment on lines +198 to +203
. '<br><b style="color:black">'
. __(
'This option works only when SpamFireWall is enabled.',
'SpamFireWall if Anti-Crawler has been enabled',
'cleantalk-spam-protect'
) . '</b>',
)
. '</b>'
)
. ' '
. '<a href="' . esc_attr(LinkConstructor::buildCleanTalkLink('settings_support_open', 'my/support/open')) . '" target="_blank" style="color:red">'
. '<a href="' . esc_attr(LinkConstructor::buildCleanTalkLink('settings_support_open', 'my/support/open')) . '" target="_blank" style="color:black">'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants