10% e-mailing-service

Code Review | e-mailing service

WordPress plugin e-mailing service scored10%from 54 tests.

About plugin

  • Plugin page: e-mailing-service
  • Plugin version: 10.8
  • PHP version: 7.4.16
  • WordPress compatibility: 3.0.1-4.4
  • WordPress version: 6.3.1
  • First release: Jan 13, 2014
  • Latest release: Dec 11, 2015
  • Number of updates: 130
  • Update frequency: every 5.4 days
  • Top authors: jooky (100%)

Code review

54 tests

User reviews

8 reviews

Install metrics

20+ active /21,305 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
Please fix the following installer errors
  • Install procedure had errors
    • > Notice in wp-content/plugins/e-mailing-service/e-mailing-service.php+609
    Undefined index: HTTP_ACCEPT_LANGUAGE

Server metrics [RAM: ▲1.51MB] [CPU: ▼0.17ms] Passed 4 tests

Server-side resources used by e-mailing service
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /5.25 ▲1.7961.38 ▲18.69
Dashboard /wp-admin4.86 ▲1.5545.87 ▼6.76
Posts /wp-admin/edit.php4.91 ▲1.5652.83 ▲8.39
Add New Post /wp-admin/post-new.php7.19 ▲1.3077.58 ▼11.07
Media Library /wp-admin/upload.php4.87 ▲1.6546.18 ▲8.78
Add newsletter /wp-admin/post-new.php?post_type=sm_modeles4.9449.50
Shordcode /wp-admin/admin.php?page=e-mailing-service/admin/variables.php4.8345.13
Import Template /wp-admin/admin.php?page=e-mailing-service/admin/import_template.php4.8442.80
E-mailing service /wp-admin/admin.php?page=e-mailing-service/admin/index.php4.8343.92
with elrte /wp-admin/admin.php?page=e-mailing-service/admin/editor.php4.8338.56
NPAI /wp-admin/admin.php?page=e-mailing-service/admin/npai.php4.8343.89
Service Status /wp-admin/admin.php?page=e-mailing-service/admin/etat.php4.8441.31
Send a newsletter /wp-admin/admin.php?page=e-mailing-service/admin/send.php4.8443.44
Newsletter list /wp-admin/admin.php?page=e-mailing-service/admin/listes_newsletter.php4.8440.58
test list /wp-admin/admin.php?page=e-mailing-service/admin/emails.php4.8450.67

Server storage [IO: ▲9.52MB] [DB: ▲0.04MB] Passed 3 tests

Filesystem and database footprint
This plugin was installed successfully
Filesystem: 238 new files
Database: 13 new tables, 95 new options
New tables
wp_sm_bounces_log
wp_sm_stats_smtp
wp_sm_blacklist
wp_sm_stats_messageid
wp_sm_suite
wp_sm_bounces_hard
wp_sm_historique_envoi
wp_sm_temps
wp_sm_liste_test
wp_sm_spamscore
...
New WordPress options
sm_domain
sm_debug
sm_nbl
sm_telephone
sm_smtp_pass
sm_serveur
sm_smtp_authentification_1
sm_smtp_authentification
sm_affiche_txt_bas
sm_link_facebook
...

Browser metrics Passed 4 tests

This is an overview of browser requirements for e-mailing service
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,166 ▲38014.36 ▼0.012.48 ▲0.4143.01 ▼1.85
Dashboard /wp-admin2,543 ▲3665.77 ▲0.06101.90 ▲1.5288.20 ▲43.52
Posts /wp-admin/edit.php2,262 ▲1622.14 ▲0.0635.54 ▼0.9744.04 ▲8.16
Add New Post /wp-admin/post-new.php6,501 ▲4,97224.07 ▲1.151,064.13 ▲440.5879.39 ▲28.44
Media Library /wp-admin/upload.php1,556 ▲1564.26 ▲0.07100.32 ▼7.3082.65 ▲35.87
Add newsletter /wp-admin/post-new.php?post_type=sm_modeles2,5497.55171.65132.49
Shordcode /wp-admin/admin.php?page=e-mailing-service/admin/variables.php1,6271.9524.2838.16
Import Template /wp-admin/admin.php?page=e-mailing-service/admin/import_template.php1,0752.1123.1626.38
E-mailing service /wp-admin/admin.php?page=e-mailing-service/admin/index.php1,3681.9420.0848.15
with elrte /wp-admin/admin.php?page=e-mailing-service/admin/editor.php280.420.113.46
NPAI /wp-admin/admin.php?page=e-mailing-service/admin/npai.php1,0721.9419.7628.77
Service Status /wp-admin/admin.php?page=e-mailing-service/admin/etat.php1,1791.9321.3434.71
Send a newsletter /wp-admin/admin.php?page=e-mailing-service/admin/send.php1,4002.1219.2331.94
Newsletter list /wp-admin/admin.php?page=e-mailing-service/admin/listes_newsletter.php1,1852.2326.6660.81
test list /wp-admin/admin.php?page=e-mailing-service/admin/emails.php1,1442.1523.6727.76

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
It is recommended to fix the following
  • The plugin did not uninstall successfully, leaving 13 tables in the database
    • wp_sm_stats_messageid
    • wp_sm_spamscore
    • wp_sm_stats_smtp
    • wp_sm_bounces_log
    • wp_wordpress_user
    • wp_sm_blacklist
    • wp_sm_liste_test
    • wp_sm_liste
    • wp_sm_suite
    • wp_sm_temps
    • ...
  • This plugin did not uninstall successfully, leaving 95 options in the database
    • sm_service_blacklist
    • sm_smtp_login
    • sm_affiche_txt_affiliation
    • sm_post_id_auto
    • sm_txt_bas
    • sm_alias
    • widget_theysaidso_widget
    • sm_smtp_login_1
    • sm_email_exp_1
    • sm_auto_id_liste
    • ...

Smoke tests 0% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Please fix the following server-side errors
  • 9 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Deprecated in wp-content/plugins/e-mailing-service/e-mailing-service.php+144
    The each() function is deprecated. This message will be suppressed on further calls
  • 13 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Warning in wp-content/plugins/e-mailing-service/include/fonctions_sm.php+599
    fsockopen(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
  • 10 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Warning in wp-content/plugins/e-mailing-service/include/fonctions_sm.php+599
    fsockopen(): unable to connect to smtp.:25 (php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution)
  • 8 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Notice in wp-content/plugins/e-mailing-service/include/fonctions_sm.php+156
    Undefined variable: tmp3
  • 8 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Warning in wp-content/plugins/e-mailing-service/include/fonctions_sm.php+186
    Invalid argument supplied for foreach()
  • 8 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Notice in wp-content/plugins/e-mailing-service/include/fonctions_sm.php+189
    Undefined index: sm_annonce
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/etat.php
    • > Warning in wp-content/plugins/e-mailing-service/include/fonctions_sm.php+591
    fsockopen(): unable to connect to smtp.:587 (php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution)
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/etat.php
    • > Warning in wp-content/plugins/e-mailing-service/include/fonctions_sm.php+591
    fsockopen(): unable to connect to smtp.:80 (php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution)
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/etat.php
    • > Warning in wp-content/plugins/e-mailing-service/include/fonctions_sm.php+591
    fsockopen(): unable to connect to smtp.:53 (php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution)

SRP 0% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Almost there! Just fix the following items
  • 1× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/e-mailing-service/preview/index.php
  • 152× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Warning
      include(smPATH/include/fonctions_sm.php): failed to open stream: No such file or directory in wp-content/plugins/e-mailing-service/include/cron.php on line 5
    • > PHP Warning
      include(): Failed opening 'smPATH/include/entete.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/e-mailing-service/admin/parametres.php on line 2
    • > PHP Warning
      Use of undefined constant smPATH - assumed 'smPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/e-mailing-service/tuto/suggestion.php on line 4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function is_plugin_active() in wp-content/plugins/e-mailing-service/admin/support.php:5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_the_ID() in wp-content/plugins/e-mailing-service/template.php:2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/e-mailing-service/admin/stats_user.php:8
    • > PHP Warning
      include(): Failed opening 'smPATH/include/entete.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/e-mailing-service/admin/stats_smtp.php on line 2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function is_plugin_active() in wp-content/plugins/e-mailing-service/admin/send_user.php:5
    • > PHP Notice
      Trying to get property 'prefix' of non-object in wp-content/plugins/e-mailing-service/include/cron_serveur.php on line 10
    • > PHP Warning
      Use of undefined constant smPATH - assumed 'smPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/e-mailing-service/tuto/faq.php on line 4

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
Please fix the following user-side errors
  • 9 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Network (severe)
    wp-content/plugins/e-mailing-service/css/sm.css?ver=6.3.1 - Failed to load resource: the server responded with a status of 404 (Not Found)
  • 8 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Javascript (severe) in unknown
    /wp-content/plugins/e-mailing-service/js/ie.js?ver=6.3.1 0:0 Uncaught TypeError: $ is not a function
  • 8 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Javascript (severe) in unknown
    /wp-admin/js/common.min.js?ver=6.3.1 1:6139 Uncaught TypeError: W(...).on is not a function
  • 8 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Javascript (severe) in unknown
    /wp-includes/js/heartbeat.min.js?ver=6.3.1 1:5086 Uncaught TypeError: i.on is not a function
  • 8 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Javascript (severe) in unknown
    /wp-includes/js/wp-auth-check.min.js?ver=6.3.1 1:502 Uncaught TypeError: i(...).on is not a function
  • 7 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Javascript (severe) in unknown
    /wp-content/plugins/e-mailing-service/js/onglet.js?ver=6.3.1 2:80 Uncaught TypeError: Cannot set properties of null (setting 'className')
  • 8 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/emails.php
    • > Javascript (severe) in unknown
    /wp-admin/js/common.min.js?ver=6.3.1 1:3796 Uncaught TypeError: W(...).on is not a function
    • > GET request to /wp-admin/admin.php?page=e-mailing-service/admin/editor.php
    • > Network (severe)
    wp-admin/admin.php?page=e-mailing-service/admin/editor.php - Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 81% from 16 tests

The readme.txt file uses markdown syntax to describe your plugin to the world
Please fix the following attributes:
  • Tags: Too many tags (28 tag instead of maximum 10); only the first 5 tags are used in your directory listing
  • Plugin Name: You should set the name of your plugin on the first line ( === e-mailing-service === )
  • Screenshots: Please add descriptions for these screenshots #10, #11, #12, #13, #14, #15, #16 in e-mailing-service/assets to your readme.txt
You can look at the official readme.txt

e-mailing-service/e-mailing-service.php Passed 13 tests

The principal PHP file in "e-mailing service" v. 10.8 is loaded by WordPress automatically on each request
105 characters long description:
Send newsletters (emails) with wordpress. Detailed statistics AND rewriting on activation of the Free API

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Everything looks great! No dangerous files found in this plugin38,074 lines of code in 126 files:
LanguageFilesBlank linesComment linesLines of code
PO File86,84610,56415,810
PHP701,19633614,855
CSS275934573,663
JavaScript165553612,981
Sass41535506
HTML1118259

PHP code Passed 2 tests

A brief analysis of cyclomatic complexity and code structure for this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity
Average complexity per logical line of code0.25
Average class complexity13.50
▷ Minimum class complexity9.00
▷ Maximum class complexity18.00
Average method complexity3.33
▷ Minimum method complexity1.00
▷ Maximum method complexity12.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes2
▷ Abstract classes00.00%
▷ Concrete classes2100.00%
▷ Final classes00.00%
Methods10
▷ Static methods00.00%
▷ Public methods10100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions139
▷ Named functions139100.00%
▷ Anonymous functions00.00%
Constants15
▷ Global constants15100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
62 PNG files occupy 3.53MB with 1.40MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
post/t1/emailing_service_150.png6.18KB3.85KB▼ 37.65%
img/Italy.png0.84KB1.12KB0.00%
img/United States of America(USA).png1.08KB0.92KB▼ 14.44%
img/profile.png5.44KB2.81KB▼ 48.40%
img/tarif_rouge.png40.03KB0.83KB▼ 97.92%