62% builderall-cheetah-for-wp

Code Review | Builderall Builder for Wordpress

WordPress plugin Builderall Builder for Wordpress scored 62% from 54 tests.

About plugin

  • Plugin page: builderall-cheeta...
  • Plugin version: 2.0.1
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.6-6.0.2
  • WordPress version: 6.3.1
  • First release: Jul 1, 2021
  • Latest release: Aug 4, 2023
  • Number of updates: 68
  • Update frequency: every 11.5 days
  • Top authors: mauriciotesta (89.71%)leandrogrando (11.76%)

Code review

54 tests

User reviews

8 reviews

Install metrics

3,000+ active / 60,507 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully

Server metrics [RAM: ▲5.82MB] [CPU: ▲39.00ms] 75% from 4 tests

A check of server-side resources used by Builderall Builder for Wordpress
Please take the time to fix the following items
  • Extra RAM: Extra memory usage must be kept under 5MB (currently 5.82MB on /wp-admin/admin.php?page=ba-cheetah-settings)
PageMemory (MB)CPU Time (ms)
Home /12.08 ▲8.62109.59 ▲68.43
Dashboard /wp-admin9.83 ▲6.5388.21 ▲37.49
Posts /wp-admin/edit.php9.89 ▲6.54100.43 ▲54.07
Add New Post /wp-admin/post-new.php9.58 ▲3.69106.26 ▲17.31
Media Library /wp-admin/upload.php9.77 ▲6.5482.53 ▲47.14
Saved Items /wp-admin/edit.php?post_type=ba-cheetah-template&ba-cheetah-template-type=layout9.82110.04
Builderall Images /wp-admin/upload.php?page=builderall-images9.6374.17
Footers /wp-admin/edit.php?post_type=ba-cheetah-footer9.8283.19
Headers /wp-admin/edit.php?post_type=ba-cheetah-header9.8280.15
Popups /wp-admin/edit.php?post_type=ba-cheetah-popup9.8284.04
Builderall Builder /wp-admin/admin.php?page=ba-cheetah-settings9.8080.70

Server storage [IO: ▲17.98MB] [DB: ▲0.00MB] Passed 3 tests

Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 1,226 new files
Database: no new tables, 9 new options
New WordPress options
widget_recent-posts
theysaidso_admin_options
_ba_cheetah_pro_email
widget_theysaidso_widget
db_upgraded
_ba_cheetah_access
_ba_cheetah_color_presets
widget_recent-comments
can_compress_scripts

Browser metrics Passed 4 tests

This is an overview of browser requirements for Builderall Builder for Wordpress
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,969 ▲23413.61 ▼0.811.71 ▲0.0342.66 ▼3.83
Dashboard /wp-admin2,348 ▲1605.17 ▲0.29112.06 ▲4.7480.73 ▲32.33
Posts /wp-admin/edit.php2,229 ▲1402.08 ▲0.0439.37 ▲4.6533.42 ▼2.44
Add New Post /wp-admin/post-new.php1,778 ▲24420.36 ▼2.85738.31 ▲58.7158.91 ▼10.08
Media Library /wp-admin/upload.php1,521 ▲1334.31 ▲0.0996.47 ▼12.1076.56 ▲27.82
Saved Items /wp-admin/edit.php?post_type=ba-cheetah-template&ba-cheetah-template-type=layout1,2362.0641.2735.54
Builderall Images /wp-admin/upload.php?page=builderall-images9852.7647.5130.80
Footers /wp-admin/edit.php?post_type=ba-cheetah-footer1,2512.1135.9331.07
Headers /wp-admin/edit.php?post_type=ba-cheetah-header1,2502.1040.2032.92
Popups /wp-admin/edit.php?post_type=ba-cheetah-popup1,2392.0934.9032.97
Builderall Builder /wp-admin/admin.php?page=ba-cheetah-settings1,8003.4750.5568.75

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
  • This plugin cannot be uninstalled
    • > Warning in wp-content/plugins/builderall-cheetah-for-wp/classes/class-ba-cheetah-media.php+64
    rmdir(wp-content/uploads/builderall-media): Directory not empty
  • Zombie WordPress options detected upon uninstall: 9 options
    • _ba_cheetah_access
    • widget_recent-posts
    • _ba_cheetah_pro_email
    • widget_theysaidso_widget
    • can_compress_scripts
    • widget_recent-comments
    • db_upgraded
    • _ba_cheetah_color_presets
    • theysaidso_admin_options

Smoke tests 25% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though no errors were found, this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following
  • 53× PHP files output text when accessed directly (only 10 are shown):
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/ui-field-form.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/shapes/triangles.svg.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/ui-field-hidden.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/ui-field-raw.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/shapes/circle.svg.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/ui-field-layout.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/ui-field-button.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/ui-svg-sprites.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/ui-field-align.php
    • > /wp-content/plugins/builderall-cheetah-for-wp/includes/shapes/rect.svg.php
  • 730× PHP files trigger server errors when accessed directly (only 10 are shown):
    • > PHP Notice
      Trying to get property 'link' of non-object in wp-content/plugins/builderall-cheetah-for-wp/modules/icon/includes/frontend.php on line 10
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/builderall-cheetah-for-wp/classes/class-ba-cheetah-admin-pointers.php:24
    • > PHP Fatal error
      Uncaught Error: Class 'GuzzleHttp\\Cookie\\CookieJar' not found in wp-content/plugins/builderall-cheetah-for-wp/includes/vendor/mailjet/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php:7
    • > PHP Notice
      Undefined variable: settings in wp-content/plugins/builderall-cheetah-for-wp/modules/testimonials/includes/frontend.php on line 5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/builderall-cheetah-for-wp/modules/sidebar/includes/settings-general.php:6
    • > PHP Notice
      Undefined variable: settings in wp-content/plugins/builderall-cheetah-for-wp/modules/float-button/includes/frontend.css.php on line 7
    • > PHP Fatal error
      Uncaught Error: Class 'BACheetahModule' not found in wp-content/plugins/builderall-cheetah-for-wp/modules/card/card.php:6
    • > PHP Notice
      Trying to get property 'duration' of non-object in wp-content/plugins/builderall-cheetah-for-wp/modules/animated-headline/includes/frontend.js.php on line 19
    • > PHP Notice
      Undefined variable: settings in wp-content/plugins/builderall-cheetah-for-wp/modules/mega-menu/includes/frontend.php on line 27
    • > PHP Fatal error
      Uncaught Error: Class 'BACheetahModule' not found in wp-content/plugins/builderall-cheetah-for-wp/modules/progress-bar/progress-bar.php:6

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
Please fix the following browser errors
    • > GET request to /wp-admin/upload.php?page=builderall-images
    • > Javascript (severe) in unknown
    /wp-admin/upload.php?page=builderall-images 0:0 Uncaught SyntaxError: "undefined" is not valid JSON

Optimizations

Plugin configuration 93% from 29 tests

readme.txt Passed 16 tests

The readme.txt file is an important file in your plugin as it is parsed by WordPress.org to prepare the public listing of your plugin
8 plugin tags: cheetah, page builder, builderall wp, cheetah builder for wordpress, cheetah builder...

builderall-cheetah-for-wp/ba-cheetah.php 85% from 13 tests

The primary PHP file in "Builderall Builder for Wordpress" version 2.0.1 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
  • Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug
  • Main file name: It is recommended to name the main PHP file as the plugin slug ("builderall-cheetah-for-wp.php" instead of "ba-cheetah.php")

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
Success! There were no dangerous files found in this plugin170,213 lines of code in 1,085 files:
LanguageFilesBlank linesComment linesLines of code
PHP69413,65627,21873,224
JavaScript13913,30521,19456,049
CSS1261,41784915,338
SVG946011,828
JSON13309,889
Markdown141,11803,459
Vuejs Component1562328
Pascal13012064
XML11315
Dockerfile18010
make1409

PHP code Passed 2 tests

Analyzing cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.41
Average class complexity15.97
▷ Minimum class complexity1.00
▷ Maximum class complexity859.00
Average method complexity2.96
▷ Minimum method complexity1.00
▷ Maximum method complexity67.00
Code structure
Namespaces45
Interfaces40
Traits8
Classes446
▷ Abstract classes61.35%
▷ Concrete classes44098.65%
▷ Final classes10624.09%
Methods3,890
▷ Static methods1,20430.95%
▷ Public methods3,44588.56%
▷ Protected methods922.37%
▷ Private methods3539.07%
Functions301
▷ Named functions16354.15%
▷ Anonymous functions13845.85%
Constants358
▷ Global constants12334.36%
▷ Class constants23565.64%
▷ Public constants235100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
18 PNG files occupy 0.09MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
img/slideshow/arrow-prev.png0.91KB0.52KB▼ 42.63%
img/slideshow/transparent-bg-dark.png0.12KB0.09KB▼ 20.66%
img/powered_by.png1.60KB1.60KB0.00%
img/slideshow/transparent-bg-light.png0.12KB0.09KB▼ 20.66%
img/bxslider/controls.png2.74KB1.42KB▼ 48.29%