WP-Polls

Adds an AJAX poll system to your WordPress blog. You can also easily add a poll into your WordPress's blog post/page.

v2.77.3Lester ChanUpdated Added 40k+ installs84% rating
25
Score
618
Errors
639
Warnings
+0
Change

Category Scores

Security0
Repo80
Performance100
Maintainability14

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,257 findings

Security

719

12 issue groups

Maintainability

451

10 issue groups

I18n

76

3 issue groups

ERRORSecurityUnsafe Printing FunctionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.285
Category
Security
Occurrences
285
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <input type=\"text\" size=\"4\" id=\"polla_votes-$polla_aid\" name=\"polla_votes-$polla_aid\" value=\"$polla_votes\" onblur=\"check_totalvotes();\" /></td>\n</tr>\n"'.208
Category
Security
Occurrences
208
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <input type=\"text\" size=\"4\" id=\"polla_votes-$polla_aid\" name=\"polla_votes-$polla_aid\" value=\"$polla_votes\" onblur=\"check_totalvotes();\" /></td>\n</tr>\n"'.

WARNINGMaintainabilityNon Prefixed Variable FoundGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$add_poll_answers&quot;.200
Category
Maintainability
Occurrences
200
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$add_poll_answers&quot;.

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.88
Category
Maintainability
Occurrences
88
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().78
Category
Maintainability
Occurrences
78
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNINGSecurityInput Not ValidatedDetected usage of a possibly undefined superglobal array index: $_POST[&#039;delete_logs_yes&#039;]. Check that the array index exists before using it.60
Category
Security
Occurrences
60
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_POST[&#039;delete_logs_yes&#039;]. Check that the array index exists before using it.

ERRORI18nMissing Translators CommentA 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.60
Category
I18n
Occurrences
60
Severity
error

Sample message

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.

WARNINGSecurityMissing Unslash$_COOKIE[&#039;comment_author_&#039; . COOKIEHASH] not unslashed before sanitization. Use wp_unslash() or similar46
Category
Security
Occurrences
46
Severity
warning

Sample message

$_COOKIE[&#039;comment_author_&#039; . COOKIEHASH] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGSecurityInput Not SanitizedDetected usage of a non-sanitized input variable: $_COOKIE[&#039;comment_author_&#039; . COOKIEHASH]40
Category
Security
Occurrences
40
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE[&#039;comment_author_&#039; . COOKIEHASH]

WARNINGMaintainabilityNon Prefixed Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;wp_polls_add_poll&quot;.32
Category
Maintainability
Occurrences
32
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;wp_polls_add_poll&quot;.

Show 15 more
WARNINGSecurityInterpolated Not Prepared31
Category
Security
Occurrences
31
Severity
warning

Sample message

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $comment_sql at &quot;SELECT $wpdb-&gt;pollsip.* FROM $wpdb-&gt;pollsip WHERE pollip_qid = $poll_id $users_voted_for_sql $registered_sql $comment_sql $guest_sql $what_user_voted_sql $num_choices_sql ORDER BY $order_by&quot;

WARNINGMaintainabilityNon Prefixed Function Found28
Category
Maintainability
Occurrences
28
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;_polls_get_ans_result_sort&quot;.

ERRORSecurityException Not Escaped16
Category
Security
Occurrences
16
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$poll_id'.

ERRORI18nUnordered Placeholders Text15
Category
I18n
Occurrences
15
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%s @ %s'.

WARNINGSecurityRecommended12
Category
Security
Occurrences
12
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORSecurityUnescaped DBParameter10
Category
Security
Occurrences
10
Severity
error

Sample message

Unescaped parameter $log_expiry_sql used in $wpdb->get_col()\n$log_expiry_sql assigned unsafely at line 373.

WARNINGMaintainabilitySchema Change9
Category
Maintainability
Occurrences
9
Severity
warning

Sample message

Attempting a database schema change is discouraged.

ERRORMaintainabilitymissing direct file access protection6
Category
Maintainability
Occurrences
6
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNINGSecurityMissing5
Category
Security
Occurrences
5
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilitystrip tags strip tags5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

WARNINGSecurityUnescaped DBParameter3
Category
Security
Occurrences
3
Severity
warning

Sample message

Unescaped parameter $order_by used in $wpdb-&gt;get_results()\n$sort_order used without escaping.

ERRORSecurityNot Prepared3
Category
Security
Occurrences
3
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found current_time

WARNINGMaintainabilitytrademarked term3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

The plugin name includes a restricted term. Your chosen plugin name - "WP-Polls" - contains the restricted term "wp" which cannot be used at all in your plugin name.

ERRORMaintainabilitywp get sites Found2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

wp_get_sites() has been deprecated since WordPress version 4.6.0. Use get_sites() instead.

WARNINGI18nload plugin textdomain Found1
Category
I18n
Occurrences
1
Severity
warning

Sample message

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

Score History

First score snapshot

v2.77.3

25

Latest

Findings
1,257
Errors
618
Warnings
639
Check
2.0.0

Related Plugins