Easy Appointments

The easiest way to accept bookings on WordPress for free. Set up a beautiful appointment booking form for your business in minutes — no coding needed.

v3.12.26Easy AppointmentsUpdated Added 10k+ installs86% rating40% support resolved
26
Score
135
Errors
569
Warnings
+0
Change

Category Scores

Security0
Repo91
Performance100
Maintainability14

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

704 findings

Maintainability

637

13 issue groups

Security

62

11 issue groups

I18n

2

1 issue group

WARNINGMaintainabilityAlternative PHP tag foundPossible use of ASP style opening tags detected; found: <% _.each(cache.Locations,function(item,ke...465
Category
Maintainability
Occurrences
465
Severity
warning

Sample message

Possible use of ASP style opening tags detected; found: <% _.each(cache.Locations,function(item,ke...

ERRORMaintainabilitywp function not compatible with requires wpFunction "get_rest_url()" requires WordPress 4.4.0, but your plugin minimum supported version is WordPress 3.7.0.77
Category
Maintainability
Occurrences
77
Severity
error

Sample message

Function "get_rest_url()" requires WordPress 4.4.0, but your plugin minimum supported version is WordPress 3.7.0.

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;26
Category
Maintainability
Occurrences
26
Severity
error

Sample message

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

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.17
Category
Maintainability
Occurrences
17
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().17
Category
Maintainability
Occurrences
17
Severity
warning

Sample message

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

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<td>{$row->start}</td>\n'.16
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 '"<td>{$row->start}</td>\n'.

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb-&gt;prepare(); found interpolated variable $ids_in at WHERE app_id IN ($ids_in)\n14
Category
Security
Occurrences
14
Severity
warning

Sample message

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $ids_in at WHERE app_id IN ($ids_in)\n

WARNINGMaintainabilityNon-prefixed classClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;EAAdminPanel&quot;.12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;EAAdminPanel&quot;.

WARNINGMaintainabilityNo PHP code foundNo PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.9
Category
Maintainability
Occurrences
9
Severity
warning

Sample message

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $appointments_table used in $wpdb-&gt;query()\n$appointments_table assigned unsafely at line 425.8
Category
Security
Occurrences
8
Severity
warning

Sample message

Unescaped parameter $appointments_table used in $wpdb-&gt;query()\n$appointments_table assigned unsafely at line 425.

Show 15 more
WARNINGSecurityRequest data is not unslashed6
Category
Security
Occurrences
6
Severity
warning

Sample message

$_GET[&#039;_wpnonce&#039;] not unslashed before sanitization. Use wp_unslash() or similar

ERRORSecurityDatabase parameter is not escaped5
Category
Security
Occurrences
5
Severity
error

Sample message

Unescaped parameter $table_fields used in $wpdb->get_results()\n$table_fields assigned unsafely at line 249.

ERRORMaintainabilitydate date4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNINGMaintainabilityNon-prefixed constant4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;EA_JS_DIR&quot;.

WARNINGSecurityNonce verification recommended4
Category
Security
Occurrences
4
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitized3
Category
Security
Occurrences
3
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_FILES[&#039;file&#039;][&#039;error&#039;]

WARNINGMaintainabilityAlternative PHP tag found2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Possible use of ASP style short opening tags detected; found: &lt;%= item.label %&gt; &lt;% if (item.required == &quot;...

ERRORSecuritySQL query is not prepared2
Category
Security
Occurrences
2
Severity
error

Sample message

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

WARNINGSecurityReplacements Wrong Number2
Category
Security
Occurrences
2
Severity
warning

Sample message

Incorrect number of replacements passed to $wpdb-&gt;prepare(). Found 2 replacement parameters, expected 1.

WARNINGMaintainabilityNon-prefixed hook name2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

ERRORI18nNon Singular String Literal Text2
Category
I18n
Occurrences
2
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $item->label

WARNINGSecurityUnfinished Prepare1
Category
Security
Occurrences
1
Severity
warning

Sample message

Replacement variables found, but no valid placeholders found in the query.

WARNINGSecurityInput is not validated1
Category
Security
Occurrences
1
Severity
warning

Sample message

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

ERRORMaintainabilitybadly named files1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

File and folder names must not contain spaces or special characters.

ERRORMaintainabilitylibrary core files1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Library files that are already in the WordPress core are not permitted.

External Connections

Not analyzed yet.

Score History

First score snapshot

v3.12.26

26

Latest

Findings
704
Errors
135
Warnings
569
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

29 nodes

Related Plugins

Cal.com

1k+ active installs

99
Calendar

4k+ active installs

99
ICS Calendar

10k+ active installs

99
Shore Booking Widget

1k+ active installs

99