Under Construction is a simple plugin for setting up Under Construction, Coming Soon and Maintenance Mode using WordPress Customizer.
Category Scores
Top Issues by Category
security256
i18n165
maintainability112
Issues Details
549 issues found in latest scan
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<h3>{$section['title']}</h3>\n"'.
Mismatched text domain. Expected 'under-construction-maintenance-mode' but got 'ucmm-wpbrigade'.
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$Data".
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
Processing form data without nonce verification.
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "account_page_content".
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
$_POST['reason'] not unslashed before sanitization. Use wp_unslash() or similar
Detected usage of a non-sanitized input variable: $_POST['reason']
Processing form data without nonce verification.
Detected usage of a possibly undefined superglobal array index: $_POST['setting_name']. Check that the array index exists before using it.
A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.
Short PHP opening tag used with echo; expected "<?php echo $sdk_communication ..." but found "<?= $sdk_communication ..."
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "WPBRIGADE_PLUGIN_DIR".
The $text parameter must be a single text string literal. Found: $redirect_message
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Uccm_Logs_Info".
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'wsa_form_bottom_' . $form['id']".
wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.
Possible use of short open tags detected; found: <? echo $ucmm_time_text_color?>;\n
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Using date_default_timezone_set() and similar isn't allowed, instead use WP internal timezone support.
print_r() found. Debug code should not normally be used in production.
Using cURL functions is highly discouraged. Use wp_remote_get() instead.
Stylesheets must be registered/enqueued via wp_enqueue_style()
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<h3>{$section['title']}</h3>\n"'. | 163 |
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'under-construction-maintenance-mode' but got 'ucmm-wpbrigade'. | 134 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$Data". | 51 |
| WordPress.Security.EscapeOutput.UnsafePrintingFunction | ERROR | All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'. | 35 |
| WordPress.WP.I18n.MissingArgDomain | ERROR | Missing $domain parameter in function call to __(). | 18 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 17 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound | WARNING | Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "account_page_content". | 16 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 13 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_POST['reason'] not unslashed before sanitization. Use wp_unslash() or similar | 12 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_POST['reason'] | 10 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 8 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_POST['setting_name']. Check that the array index exists before using it. | 8 |
| WordPress.WP.I18n.MissingTranslatorsComment | ERROR | A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders. | 8 |
| Generic.PHP.DisallowShortOpenTag.EchoFound | ERROR | Short PHP opening tag used with echo; expected "<?php echo $sdk_communication ..." but found "<?= $sdk_communication ..." | 7 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound | WARNING | Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "WPBRIGADE_PLUGIN_DIR". | 7 |
| WordPress.WP.I18n.NonSingularStringLiteralText | ERROR | The $text parameter must be a single text string literal. Found: $redirect_message | 5 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound | WARNING | Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Uccm_Logs_Info". | 3 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'wsa_form_bottom_' . $form['id']". | 3 |
| WordPress.Security.SafeRedirect.wp_redirect_wp_redirect | WARNING | wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed. | 3 |
| Generic.PHP.DisallowShortOpenTag.PossibleFound | WARNING | Possible use of short open tags detected; found: <? echo $ucmm_time_text_color?>;\n | 2 |
| WordPress.DateTime.RestrictedFunctions.date_date | ERROR | date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead. | 2 |
| WordPress.DateTime.RestrictedFunctions.timezone_change_date_default_timezone_set | ERROR | Using date_default_timezone_set() and similar isn't allowed, instead use WP internal timezone support. | 2 |
| WordPress.PHP.DevelopmentFunctions.error_log_print_r | WARNING | print_r() found. Debug code should not normally be used in production. | 2 |
| WordPress.WP.AlternativeFunctions.curl_curl_setopt | ERROR | Using cURL functions is highly discouraged. Use wp_remote_get() instead. | 2 |
| WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet | ERROR | Stylesheets must be registered/enqueued via wp_enqueue_style() | 2 |
Latest Snapshot
Findings
549
Errors
401
Warnings
148
Score History
First score snapshot
First scan completed Jun 20, 2026
v2.1.2 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v2.1.2
27
Latest
- Findings
- 549
- Errors
- 401
- Warnings
- 148
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 27 | 549 | 401 | 148 | v2.1.2 | 2.0.0 | 2026.06-mvp-static-v2 |