10% androapp

Code Review | Androapp - Native Android mobile app for wordpress site

WordPress plugin Androapp - Native Android mobile app for wordpress site scored10%from 54 tests.

About plugin

  • Plugin page: androapp
  • Plugin version: 25.03
  • PHP version: 7.4.16
  • WordPress compatibility: 3.3-6.1.1
  • WordPress version: 6.3.1
  • First release: Jan 18, 2015
  • Latest release: Dec 15, 2022
  • Number of updates: 323
  • Update frequency: every 8.9 days
  • Top authors: singhalavi (100%)

Code review

54 tests

User reviews

65 reviews

Install metrics

1,000+ active /162,237 total downloads

Benchmarks

Plugin footprint 23% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
You still need to fix the following installer errors
  • The plugin cannot be installed
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+282
    Trying to access array offset on value of type bool

Server metrics [RAM: ▼0.49MB] [CPU: ▼42.61ms] Passed 4 tests

A check of server-side resources used by Androapp - Native Android mobile app for wordpress site
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /3.49 ▲0.0320.40 ▼24.18
Dashboard /wp-admin3.51 ▲0.2115.93 ▼33.31
Posts /wp-admin/edit.php3.51 ▲0.1616.58 ▼31.85
Add New Post /wp-admin/post-new.php3.51 ▼2.3717.35 ▼80.56
Media Library /wp-admin/upload.php3.51 ▲0.2815.82 ▼24.70
Account Settings /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings3.5117.40
Look & Feel & Build /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options3.5124.19
AndroApp /wp-admin/admin.php?page=pw_mobile_app_options3.5116.24
Internationalization /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app-language3.5117.79
Configure /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app3.5115.58
Push Notifications /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_tools_tab3.5116.69

Server storage [IO: ▲1.73MB] [DB: ▲0.01MB] Passed 3 tests

Filesystem and database footprint
This plugin was installed successfully
Filesystem: 227 new files
Database: 2 new tables, 15 new options
New tables
wp_pw_gcmusers
wp_androapp_stats
New WordPress options
pw-mobile-app
androapp_account_settings
widget_recent-posts
can_compress_scripts
theysaidso_admin_options
pw_androapp_version
db_upgraded
widget_recent-comments
pwapp_db_version
androapp_post_content_tab
...

Browser metrics Passed 4 tests

This is an overview of browser requirements for Androapp - Native Android mobile app for wordpress site
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,901 ▲14013.56 ▼0.741.83 ▼0.1941.70 ▼2.48
Dashboard /wp-admin2,311 ▲1054.88 ▼1.01108.57 ▼0.0640.71 ▼8.00
Posts /wp-admin/edit.php2,189 ▲1102.08 ▲0.0635.29 ▼1.5831.34 ▼5.56
Add New Post /wp-admin/post-new.php1,588 ▲4323.00 ▼0.17598.54 ▼49.7449.27 ▼4.92
Media Library /wp-admin/upload.php1,486 ▲864.26 ▲0.14102.88 ▼39.3843.29 ▼7.02
Account Settings /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings1,8631.8930.1233.77
Look & Feel & Build /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options1,5341.8033.8141.80
AndroApp /wp-admin/admin.php?page=pw_mobile_app_options1,1282.1644.4047.79
Internationalization /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app-language2,7351.7830.9738.69
Configure /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app1,7991.9029.8344.07
Push Notifications /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_tools_tab1,0241.7530.5033.72

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

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
  • This plugin did not uninstall without warnings or errors
    • > User notice in wp-includes/functions.php+5905
    Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
  • The plugin did not uninstall successfully, leaving 2 tables in the database
    • wp_pw_gcmusers
    • wp_androapp_stats
  • Zombie WordPress options were found after uninstall: 15 options
    • can_compress_scripts
    • theysaidso_admin_options
    • androapp_post_content_tab
    • androapp_account_settings
    • pw-mobile-build-options
    • widget_recent-posts
    • pw_androapp_version
    • androapp_ads
    • db_upgraded
    • widget_theysaidso_widget
    • ...

Smoke tests 0% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Please fix the following server-side errors
  • 6 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_tools_tab
    • > User notice in wp-includes/functions.php+5905
    Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
  • 6 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_tools_tab
    • > User deprecated in wp-includes/functions.php+5463
    Function screen_icon is deprecated since version 3.8.0 with no alternative available.
  • 6 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_tools_tab
    • > User deprecated in wp-includes/functions.php+5463
    Function get_screen_icon is deprecated since version 3.8.0 with no alternative available.
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1075
    Undefined index: gcm_api_key
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1102
    Undefined index: androapp_firebase_service_account_file_path
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1123
    Undefined index: google_app_id
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1137
    Undefined index: google_services_json
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1158
    Undefined index: notification-custom-post-typepost
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1163
    Undefined index: notification-custom-post-typepage
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1176
    Undefined index: default-post-push-notification
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1184
    Undefined index: disable-bulk-send
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1192
    Undefined index: disable-notification-cache
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1229
    Undefined index: analytics_tracking_id
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1262
    Undefined index: androapp_admob_application_id
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1269
    Undefined index: mopub_top_ad_unit
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1272
    Undefined index: top_ad_unit
  • 4 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1282
    Undefined index: top_ad_ype
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1287
    Undefined index: top_appnext_ad_unit
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1293
    Undefined index: top__appnext_ad_ype
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1299
    Undefined index: top-ad-show-list
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1302
    Undefined index: top-ad-show-single
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1310
    Undefined index: mopub_middle_ad_unit
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1314
    Undefined index: list_ad_unit
  • 5 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1326
    Undefined index: list_ad_unit_type
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1330
    Undefined index: list_appnext_ad_unit
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1336
    Undefined index: list_appnext_ad_unit_type
  • 21 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1346
    Undefined index: list_ad_unit_freq
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1356
    Undefined index: middle-ad-show-list
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1359
    Undefined index: middle-ad-show-single
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1367
    Undefined index: mopub_bottom_ad_unit
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1370
    Undefined index: bottom_ad_unit
  • 4 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1380
    Undefined index: bottom_ad_ype
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1384
    Undefined index: bottom_appnext_ad_unit
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1390
    Undefined index: bottom_appnext_ad_ype
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1396
    Undefined index: bottom-ad-show-list
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1399
    Undefined index: bottom-ad-show-single
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1408
    Undefined index: mopub_interstitial_ad_unit
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1412
    Undefined index: appnext_interstitial_ad_unit
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1417
    Undefined index: appnext_interstitial_ad_type
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1423
    Undefined index: interstitial_ad_unit
  • 23 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=androapp_account_settings
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1432
    Undefined index: interstitial_ad_unit_freq
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2212
    Undefined index: launcher_icon
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2228
    Undefined index: notification_icon
  • 25 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2245
    Undefined index: androapp_font_name
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2269
    Undefined index: splashImage
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options
    • > Notice in wp-content/plugins/androapp/androapp_utils.php+16
    Undefined offset: 0
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+995
    Undefined index: client_id
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+1917
    Undefined index: androapp_renewal_date
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2710
    Undefined index: use_only_featured_image
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2779
    Undefined index: androapp_selected_Scripts
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2812
    Undefined index: failover_post_content
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2821
    Undefined index: loadurl_postids
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2823
    Undefined index: preprocessed_postids
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2825
    Undefined index: postprocessed_postids
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2827
    Undefined index: loadimages_postids
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2853
    Undefined index: share_post_menu
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2856
    Undefined index: share_post_bottom
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2859
    Undefined index: share_feed_list
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2913
    Undefined index: share_function_name
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+2961
    Undefined index: search_box_status
  • 5 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+3002
    Undefined index: homepage_post_type
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+3014
    Undefined index: homepage_post_id
  • 4 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+3054
    Undefined index: default_font_size
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+3064
    Undefined index: disable_image_zoom
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+3078
    Undefined index: regex_open_browser
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-app
    • > Notice in wp-content/plugins/androapp/pw_mobile_settings.php+3083
    Undefined index: regex_open_webview

SRP 0% from 2 tests

🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Almost there! Just fix the following items
  • 1× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/androapp/gcm/test.php
  • 62× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/androapp/gcm/vendor/guzzlehttp/psr7/src/DroppingStream.php:13
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\MessageInterface' not found in wp-content/plugins/androapp/gcm/vendor/psr/http-message/src/RequestInterface.php:24
    • > PHP Fatal error
      Uncaught Error: Class 'GuzzleHttp\\Cookie\\CookieJar' not found in wp-content/plugins/androapp/gcm/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php:7
    • > PHP Fatal error
      Uncaught Error: Interface 'phpFCMv1\\Config\\CommonConfig' not found in wp-content/plugins/androapp/gcm/vendor/lkaybob/php-fcm-v1/src/Config.php:15
    • > PHP Warning
      require_once(wp-content/plugins/androapp/gcm/vendor/lkaybob/php-fcm-v1/tests/../vendor/autoload.php): failed to open stream: No such file or directory in wp-content/plugins/androapp/gcm/vendor/lkaybob/php-fcm-v1/tests/AndroidConfigTest.php on line 11
    • > PHP Warning
      require_once(wp-content/plugins/androapp/gcm/vendor/lkaybob/php-fcm-v1/tests/../vendor/autoload.php): failed to open stream: No such file or directory in wp-content/plugins/androapp/gcm/vendor/lkaybob/php-fcm-v1/tests/RecipientTest.php on line 11
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\ResponseInterface' not found in wp-content/plugins/androapp/gcm/vendor/guzzlehttp/psr7/src/Response.php:11
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\MessageInterface' not found in wp-content/plugins/androapp/gcm/vendor/psr/http-message/src/ResponseInterface.php:20
    • > PHP Fatal error
      Uncaught Error: Class 'GuzzleHttp\\Exception\\RequestException' not found in wp-content/plugins/androapp/gcm/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'GuzzleHttp\\Cookie\\CookieJar' not found in wp-content/plugins/androapp/gcm/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php:7

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please fix the following user-side errors
    • > GET request to /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options
    • > Rendering (warning) in unknown
    /wp-admin/admin.php?page=pw_mobile_app_options&tab=pw-mobile-build-options 279 The specified value "#ff808080" does not conform to the required format. The format is "#rrggbb" where rr, gg, bb are two-digit hexadecimal numbers.

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 88% from 16 tests

Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Please fix the following attributes:
  • Tags: Please delete some tags, you are using 13 tag instead of maximum 10
  • Screenshots: Please add descriptions for these screenshots #10, #11, #2, #3, #4, #5, #6, #7, #8, #9 in androapp/assets to your readme.txt
The official readme.txt is a good inspiration

androapp/androapp.php 92% from 13 tests

The primary PHP file in "Androapp - Native Android mobile app for wordpress site" version 25.03 is used by WordPress to initiate all plugin functionality
Please make the necessary changes and fix the following:
  • Description: Please don't use more than 140 characters for the plugin description (currently 498 characters long)

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Everything looks great! No dangerous files found in this plugin41,758 lines of code in 211 files:
LanguageFilesBlank linesComment linesLines of code
PHP1694,1077,31336,501
Markdown161,17903,696
JSON14001,099
YAML6351173
CSS121143
JavaScript126296
XML12017
Bourne Shell14014
Dockerfile18010
make1409

PHP code 50% from 2 tests

An short overview of logical lines of code, cyclomatic complexity, and other code metrics
These items need your attention
  • Cyclomatic complexity of methods should be reduced to less than 100 (currently 179)
Cyclomatic complexity
Average complexity per logical line of code0.43
Average class complexity22.98
▷ Minimum class complexity1.00
▷ Maximum class complexity249.00
Average method complexity3.70
▷ Minimum method complexity1.00
▷ Maximum method complexity179.00
Code structure
Namespaces17
Interfaces16
Traits2
Classes112
▷ Abstract classes10.89%
▷ Concrete classes11199.11%
▷ Final classes2320.72%
Methods1,127
▷ Static methods17415.44%
▷ Public methods90380.12%
▷ Protected methods343.02%
▷ Private methods19016.86%
Functions192
▷ Named functions9851.04%
▷ Anonymous functions9448.96%
Constants278
▷ Global constants13648.92%
▷ Class constants14251.08%
▷ Public constants142100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

It is recommended to compress PNG files in your plugin to minimize bandwidth usage
1 PNG file occupies 0.00MB with 0.00MB in potential savings
Potential savings
Compression of 1 random PNG file using pngquant
FileSize - originalSize - compressedSavings
images/no_image.png4.61KB1.15KB▼ 75.14%