61% rencontre

Code Review | Rencontre - Dating Site

WordPress plugin Rencontre - Dating Site scored61%from 54 tests.

About plugin

  • Plugin page: rencontre
  • Plugin version: 3.11
  • PHP compatiblity: 5.5+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.6-6.4
  • WordPress version: 6.3.1
  • First release: Jun 13, 2014
  • Latest release: Nov 30, 2023
  • Number of updates: 693
  • Update frequency: every 5.0 days
  • Top authors: sojahu (100%)

Code review

54 tests

User reviews

45 reviews

Install metrics

600+ active /79,205 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: ▲2.62MB] [CPU: ▲10.77ms] Passed 4 tests

Analyzing server-side resources used by Rencontre - Dating Site
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /5.26 ▲1.7946.72 ▲5.61
Dashboard /wp-admin6.37 ▲3.0262.05 ▲4.37
Posts /wp-admin/edit.php6.37 ▲3.0170.40 ▲19.91
Add New Post /wp-admin/post-new.php8.55 ▲2.66106.88 ▲13.19
Media Library /wp-admin/upload.php6.37 ▲3.1456.95 ▲22.68

Server storage [IO: ▲10.55MB] [DB: ▲9.64MB] Passed 3 tests

How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 605 new files
Database: 7 new tables, 10 new options
New tables
wp_rencontre_msg
wp_rencontre_liste
wp_rencontre_prison
wp_rencontre_dbip
wp_rencontre_users
wp_rencontre_users_profil
wp_rencontre_profil
New WordPress options
widget_theysaidso_widget
rencontre_dbip
theysaidso_admin_options
widget_recent-comments
db_upgraded
WPLANG
widget_recent-posts
can_compress_scripts
rencontre_options
widget_rencontre-sidebar-widget

Browser metrics Passed 4 tests

A check of browser resources used by Rencontre - Dating Site
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,928 ▲16613.59 ▼0.769.93 ▲8.3137.22 ▼3.72
Dashboard /wp-admin2,229 ▲515.56 ▼0.1996.20 ▼14.6788.88 ▲49.95
Posts /wp-admin/edit.php2,155 ▲551.97 ▼0.0539.17 ▲3.6733.44 ▼1.49
Add New Post /wp-admin/post-new.php1,579 ▲5223.23 ▲0.13753.36 ▲86.1959.35 ▲11.08
Media Library /wp-admin/upload.php1,452 ▲554.15 ▼0.0794.74 ▼3.1071.30 ▲29.52
Members /wp-admin/rencontre.php?page=rencmembers260.410.0915.46
Profile /wp-admin/rencontre.php?page=rencprofile260.410.096.06
General /wp-admin/rencontre.php260.410.116.42
Custom /wp-admin/rencontre.php?page=renccustom260.410.136.36
Country /wp-admin/rencontre.php?page=renccountry260.410.076.70
Jail /wp-admin/rencontre.php?page=rencjail260.410.086.38

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
Please fix the following items
  • The plugin did not uninstall successfully, leaving 7 tables in the database
    • wp_rencontre_profil
    • wp_rencontre_users_profil
    • wp_rencontre_prison
    • wp_rencontre_users
    • wp_rencontre_dbip
    • wp_rencontre_msg
    • wp_rencontre_liste
  • Zombie WordPress options detected upon uninstall: 10 options
    • rencontre_dbip
    • can_compress_scripts
    • widget_theysaidso_widget
    • WPLANG
    • widget_rencontre-sidebar-widget
    • theysaidso_admin_options
    • widget_recent-posts
    • rencontre_options
    • db_upgraded
    • widget_recent-comments

Smoke tests 25% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though no errors were found, this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
The following issues need your attention
  • 8× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/rencontre/templates/rencontre_mini_bloc.php
    • > /wp-content/plugins/rencontre/templates/rencontre_warning.php
    • > /wp-content/plugins/rencontre/templates/rencontre_custom_page2.php
    • > /wp-content/plugins/rencontre/templates/rencontre_lightbox.php
    • > /wp-content/plugins/rencontre/templates/rencontre_custom_page1.php
    • > /wp-content/plugins/rencontre/templates/rencontre_chat_cam.php
    • > /wp-content/plugins/rencontre/inc/upload_csv.php
    • > /wp-content/plugins/rencontre/templates/rencontre_libre_portrait.php
  • 120× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/rencontre/templates/rencontre_mail_regular_global.php:13
    • > PHP Notice
      Undefined variable: blogName in wp-content/plugins/rencontre/templates/rencontre_mail_birthday.php on line 11
    • > PHP Notice
      Undefined variable: u in wp-content/plugins/rencontre/templates/rencontre_libre_portrait.php on line 30
    • > PHP Notice
      Trying to get property 'link' of non-object in wp-content/plugins/rencontre/templates/rencontre_mail_regular.php on line 23
    • > PHP Notice
      Undefined variable: onClick in wp-content/plugins/rencontre/templates/rencontre_mini_portrait.php on line 45
    • > PHP Notice
      Undefined variable: blogName in wp-content/plugins/rencontre/templates/rencontre_mail_fastreg_confirm.php on line 11
    • > PHP Fatal error
      Uncaught Error: Call to undefined function rencTranslate() in wp-content/plugins/rencontre/templates/rencontre_registration_jail.php:16
    • > PHP Fatal error
      Uncaught Error: Call to undefined function plugins_url() in wp-content/plugins/rencontre/templates/rencontre_chat.php:15
    • > PHP Notice
      Trying to get property 'i_photo' of non-object in wp-content/plugins/rencontre/templates/rencontre_portrait_add_photo.php on line 33
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/rencontre/templates/rencontre_registration_part1.php:28

User-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please take a look at the following user-side issues
    • > GET request to /wp-admin/rencontre.php?page=rencmembers
    • > Network (severe)
    wp-admin/rencontre.php?page=rencmembers - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/rencontre.php?page=rencprofile
    • > Network (severe)
    wp-admin/rencontre.php?page=rencprofile - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/rencontre.php
    • > Network (severe)
    wp-admin/rencontre.php - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/rencontre.php?page=renccustom
    • > Network (severe)
    wp-admin/rencontre.php?page=renccustom - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/rencontre.php?page=renccountry
    • > Network (severe)
    wp-admin/rencontre.php?page=renccountry - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/rencontre.php?page=rencjail
    • > Network (severe)
    wp-admin/rencontre.php?page=rencjail - Failed to load resource: the server responded with a status of 404 (Not Found)

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 88% from 16 tests

Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
These attributes need your attention:
  • Tags: You are using too many tags: 13 tag instead of maximum 10
  • Screenshots: These screenshots do not have images: #1 (Visitor's home page when not connected - Theme Twenty seventeen (2017).), #2 (Visitor's home page when not connected - Theme Avada.), #3 (A connected member's home page.), #4 (Private messages page.), #5 (Private webcam chat.), #6 (Administration members.), #7 (Administration of available profiles.), #8 (Registration and connection statistics.)
You can look at the official readme.txt

rencontre/rencontre.php 92% from 13 tests

The principal PHP file in "Rencontre - Dating Site" v. 3.11 is loaded by WordPress automatically on each request
You should first fix the following items:
  • Description: The description should be shorter than 140 characters (currently 147 characters long)

Code Analysis 95% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Everything looks great! No dangerous files found in this plugin51,834 lines of code in 338 files:
LanguageFilesBlank linesComment linesLines of code
SVG26111222,807
PO File126,8999,71415,564
PHP526276,7138,634
CSS51,377303,175
JavaScript85831,654

PHP code 0% from 2 tests

Analyzing cyclomatic complexity and code structure
Please tend to the following items
  • Class cyclomatic complexity has to be reduced to less than 1000 (currently 1,516)
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 514)
Cyclomatic complexity
Average complexity per logical line of code0.68
Average class complexity673.33
▷ Minimum class complexity118.00
▷ Maximum class complexity1,516.00
Average method complexity34.83
▷ Minimum method complexity1.00
▷ Maximum method complexity514.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes3
▷ Abstract classes00.00%
▷ Concrete classes3100.00%
▷ Final classes00.00%
Methods60
▷ Static methods4575.00%
▷ Public methods60100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions128
▷ Named functions12396.09%
▷ Anonymous functions53.91%
Constants0
▷ Global constants00.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
207 PNG files occupy 0.14MB with 0.04MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
images/drapeaux/Mozambique.png0.82KB0.67KB▼ 18.16%
images/drapeaux/Libye.png0.43KB0.26KB▼ 39.36%
images/drapeaux/Finlande.png0.67KB0.42KB▼ 37.00%
images/drapeaux/Rwanda.png0.45KB0.33KB▼ 28.02%
images/drapeaux/Egypte.png0.52KB0.44KB▼ 15.28%