Plugin Directory

Changeset 3083082

Timestamp:
05/08/2024 09:25:03 AM (3 months ago)
Author:
JavierCasares
Message:

[3.1.2] - 2024-05-08

Fixed

  • In some cases (when calling it directly, or wget), the cron was not working and gave an error.
  • The license had a non-compliance ID. Now, same license but working.
  • General improvements.

Changed

  • The URL from the API is using its own domain name.

Compatibility

  • WordPress 4.1 - WordPress 6.6-alpha.
  • PHP 5.6 - PHP 8.3.
  • WordPress Coding Standards 3.1.0.
  • WP-CLI 2.3.0 - WP-CLI 2.10.0.
  • Plugin Check (PCP)
Location:
wpvulnerability
Files:
63 added
11 edited

Legend:

Unmodified
Added
Removed
  • wpvulnerability/trunk/changelog.txt

    r3034122 r3083082  
    11== Changelog ==
     2
     3
     4
     5
     6
     7
     8
     9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
    222
    323= [3.1.1] - 2024-02-11 =
  • wpvulnerability/trunk/readme.txt

    r3034122 r3083082  
    33Tags: security, vulnerability, site-health
    44Requires at least: 4.1
    5 Tested up to: 6.5
    6 Stable tag: 3.1.1
     5Tested up to: 6.
     6Stable tag: 3.1.
    77Requires PHP: 5.6
    8 Version: 3.1.1
    9 License: EUPL v1.2
     8Version: 3.1.
     9License: EUPL1.2
    1010License URI: https://www.eupl.eu/1.2/en/
    1111
    12 Enhance your WordPress site's security with this plugin, leveraging the comprehensive [WordPress Vulnerability Database API](https://vulnerability.wpsysadmin.com/). Stay informed about vulnerabilities in WordPress Core, Plugins, Themes, and PHP. Take proactive steps to safeguard your site.
     12.
    1313
    1414== Description ==
    1515
    16 This plugin taps into the power of the free and unlimited [WordPress Vulnerability Database API](https://vulnerability.wpsysadmin.com/) to deliver vulnerability assessments directly within your WordPress dashboard. It's an essential tool for website administrators, developers, and anyone keen on maintaining a secure WordPress environment.
     16This plugin taps into the power of the free and unlimited [WordPress Vulnerability Database API](https://.com/) to deliver vulnerability assessments directly within your WordPress dashboard. It's an essential tool for website administrators, developers, and anyone keen on maintaining a secure WordPress environment.
    1717
    1818Secure your WordPress experience today, your first line of defense against vulnerabilities!
     
    9191== Compatibility ==
    9292
    93 * WordPress 4.1 - WordPress 6.5.
     93* WordPress 4.1 - WordPress 6..
    9494* PHP 5.6 - PHP 8.3.
    95 * WordPress Coding Standards 3.0.1.
     95* WordPress Coding Standards 3..
    9696* WP-CLI 2.3.0 - WP-CLI 2.10.0.
     97
    9798
    9899== Changelog ==
     100
     101
     102
     103
     104
     105
     106
     107
     108
     109
     110
     111
     112
     113
     114
     115
     116
     117
     118
    99119
    100120= [3.1.1] - 2024-02-11 =
     
    134154* Compatibility: PHP 5.6 - PHP 8.3.
    135155* Compatibility: WordPress Coding Standards 3.0.1.
    136 * Compatibility: WP-CLI 2.3.0 - WP-CLI 2.9.0.
    137 
    138 = [3.0.2] - 2024-01-27 =
    139 
    140 **Fixed**
    141 
    142 * Fixes the WordPress Multisite saving options.
    143 
    144 **Compatibility**
    145 
    146 * Compatibility: WordPress 4.1 - WordPress 6.5.
    147 * Compatibility: PHP 5.6 - PHP 8.3.
    148 * Compatibility: WordPress Coding Standards 3.0.1.
    149 * Compatibility: WP-CLI 2.3.0 - WP-CLI 2.9.0.
     156* Compatibility: WP-CLI 2.3.0 - WP-CLI 2.10.0.
    150157
    151158== Security ==
     
    157164* [WordPress APIs Security](https://developer.wordpress.org/apis/security/)
    158165* [WordPress Coding Standards](https://github.com/WordPress/WordPress-Coding-Standards)
     166
    159167
    160168== Privacy ==
     
    164172== Vulnerabilities ==
    165173
    166 * No vulnerabilities have been published up to version 3.1.1.
     174* No vulnerabilities have been published up to version 3.1..
    167175
    168176Found a security vulnerability? Please report it to us privately at the [WPVulnerability GitHub repository](https://github.com/javiercasares/wpvulnerability/security/advisories/new).
  • wpvulnerability/trunk/wpvulnerability-admin.php

    r3034122 r3083082  
    110110        $wpvulnerability_message_manual_success = get_transient( 'wpvulnerability_message_manual_success' );
    111111        if ( $wpvulnerability_message_manual_success ) {
    112             echo '<div class="notice notice-success"><p>' . esc_html( $wpvulnerability_message_manual_success ) . '</p></div>';
     112            echo '<div class="notice notice-success"><p>' . esc_html( $wpvulnerability_message_manual_success ) . '</p></div>';
    113113            delete_transient( 'wpvulnerability_message_manual_success' );
    114114            unset( $wpvulnerability_message_manual_success );
     
    116116        $wpvulnerability_message_manual_error = get_transient( 'wpvulnerability_message_manual_error' );
    117117        if ( $wpvulnerability_message_manual_error ) {
    118             echo '<div class="notice notice-error"><p>' . esc_html( $wpvulnerability_message_manual_error ) . '</p></div>';
     118            echo '<div class="notice notice-error"><p>' . esc_html( $wpvulnerability_message_manual_error ) . '</p></div>';
    119119            delete_transient( 'wpvulnerability_message_manual_error' );
    120120            unset( $wpvulnerability_message_manual_error );
     
    216216    // Output the email input field. Use the network admin email as a placeholder in a multisite environment.
    217217    ?>
    218     <input class="regular-text" type="text" name="wpvulnerability-config[emails]" id="wpvulnerability_emails" placeholder="<?php echo esc_attr( $admin_email ); ?>" value="<?php echo esc_attr( $wpvulnerability_settings['emails'] ); ?>">
    219     <br><small><?php esc_html_e( 'Default administrator email', 'wpvulnerability' ); ?>: <?php echo esc_attr( $admin_email ); ?></small>
     218    <input class="regular-text" type="text" name="wpvulnerability-config[emails]" id="wpvulnerability_emails" placeholder="<?php echo esc_attr( $wpvulnerability_settings['emails'] ); ?>">
     219    <br><small><?php esc_html_e( 'Default administrator email', 'wpvulnerability' ); ?>: <?php echo esc_attr( $admin_email ); ?></small>
    220220    <?php
    221221
     
    352352
    353353    if ( ! $wpvulnerability_test_core_counter ) {
    354         echo '<li>✔️ <span class="dashicons dashicons-wordpress"></span> ' . esc_html( $msg_core ) . '</li>';
    355     } else {
    356         echo '<li>❌ <span class="dashicons dashicons-wordpress"></span> ' . esc_html( $msg_core ) . '</li>';
     354        echo '<li>✔️ < $msg_core ) . '</li>';
     355    } else {
     356        echo '<li>❌ < $msg_core ) . '</li>';
    357357    }
    358358
    359359    if ( ! $wpvulnerability_test_plugins_counter ) {
    360         echo '<li>✔️ <span class="dashicons dashicons-admin-plugins"></span> ' . esc_html( $msg_plugins ) . '</li>';
    361     } else {
    362         echo '<li>❌ <span class="dashicons dashicons-admin-plugins"></span> ' . esc_html( $msg_plugins );
     360        echo '<li>✔️ < $msg_plugins ) . '</li>';
     361    } else {
     362        echo '<li>❌ < $msg_plugins );
    363363        echo wpvulnerability_list_plugins(); // phpcs:ignore
    364364        echo '</li>';
     
    366366
    367367    if ( ! $wpvulnerability_test_themes_counter ) {
    368         echo '<li>✔️ <span class="dashicons dashicons-admin-appearance"></span> ' . esc_html( $msg_themes ) . '</li>';
    369     } else {
    370         echo '<li>❌ <span class="dashicons dashicons-admin-appearance"></span> ' . esc_html( $msg_themes );
     368        echo '<li>✔️ < $msg_themes ) . '</li>';
     369    } else {
     370        echo '<li>❌ < $msg_themes );
    371371        echo wpvulnerability_list_themes(); // phpcs:ignore
    372372        echo '</li>';
     
    374374
    375375    if ( ! $wpvulnerability_test_php_counter ) {
    376         echo '<li>✔️ <span class="dashicons dashicons-editor-code"></span> ' . esc_html( $msg_php ) . '</li>';
    377     } else {
    378         echo '<li>❌ <span class="dashicons dashicons-editor-code"></span> ' . esc_html( $msg_php ) . '</li>';
     376        echo '<li>✔️ < $msg_php ) . '</li>';
     377    } else {
     378        echo '<li>❌ < $msg_php ) . '</li>';
    379379    }
    380380
  • wpvulnerability/trunk/wpvulnerability-adminms.php

    r3034122 r3083082  
    7171                $wpvulnerability_input['emails'] = array();
    7272                if ( isset( $_POST['wpvulnerability-config']['emails'] ) ) {
    73                     $wpvulnerability_config_emails    = wp_kses( wp_unslash( $_POST['wpvulnerability-config']['emails'] ), 'strip' );
     73                    $wpvulnerability_config_emails    = wp_kses( wp_unslash( $_POST['wpvulnerability-config']['emails'] ), 'strip' );
    7474                    $wpvulnerability_input_email_text = explode( ',', $wpvulnerability_config_emails );
    7575                    foreach ( $wpvulnerability_input_email_text as $wpvulnerability_input_email ) {
     
    9090                $wpvulnerability_input['period'] = null;
    9191                if ( isset( $_POST['wpvulnerability-config']['period'] ) ) {
    92                     $wpvulnerability_input['period'] = wp_kses( wp_unslash( $_POST['wpvulnerability-config']['period'] ), 'strip' );
     92                    $wpvulnerability_input['period'] = wp_kses( wp_unslash( $_POST['wpvulnerability-config']['period'] ), 'strip' );
    9393                }
    9494                switch ( $wpvulnerability_input['period'] ) {
     
    191191        $wpvulnerability_message_manual_success = get_transient( 'wpvulnerability_message_manual_success' );
    192192        if ( $wpvulnerability_message_manual_success ) {
    193             echo '<div class="notice notice-success"><p>' . esc_html( $wpvulnerability_message_manual_success ) . '</p></div>';
     193            echo '<div class="notice notice-success"><p>' . esc_html( $wpvulnerability_message_manual_success ) . '</p></div>';
    194194            delete_transient( 'wpvulnerability_message_manual_success' );
    195195            unset( $wpvulnerability_message_manual_success );
     
    197197        $wpvulnerability_message_manual_error = get_transient( 'wpvulnerability_message_manual_error' );
    198198        if ( $wpvulnerability_message_manual_error ) {
    199             echo '<div class="notice notice-error"><p>' . esc_html( $wpvulnerability_message_manual_error ) . '</p></div>';
     199            echo '<div class="notice notice-error"><p>' . esc_html( $wpvulnerability_message_manual_error ) . '</p></div>';
    200200            delete_transient( 'wpvulnerability_message_manual_error' );
    201201            unset( $wpvulnerability_message_manual_error );
     
    302302    // Output the email input field and display the admin email as a hint.
    303303    ?>
    304     <input class="regular-text" type="text" name="wpvulnerability-config[emails]" id="wpvulnerability_emails" placeholder="<?php echo esc_attr( $admin_email ); ?>" value="<?php echo esc_attr( $wpvulnerability_settings['emails'] ); ?>">
    305     <br><small><?php esc_html_e( 'Default administrator email', 'wpvulnerability' ); ?>: <?php echo esc_attr( $admin_email ); ?></small>
     304    <input class="regular-text" type="text" name="wpvulnerability-config[emails]" id="wpvulnerability_emails" placeholder="<?php echo esc_attr( $wpvulnerability_settings['emails'] ); ?>">
     305    <br><small><?php esc_html_e( 'Default administrator email', 'wpvulnerability' ); ?>: <?php echo esc_attr( $admin_email ); ?></small>
    306306    <?php
    307307
     
    368368
    369369    // Get the number of PHP vulnerabilites from cache.
    370     $wpvulnerability_test_php_counter = json_decode( get_option( 'wpvulnerability-php-vulnerable' ) );
     370    $wpvulnerability_test_php_counter = json_decode( get_option( 'wpvulnerability-php-vulnerable' ) );
    371371    if ( ! is_numeric( $wpvulnerability_test_php_counter ) ) {
    372372        $wpvulnerability_test_php_counter = 0;
     
    381381
    382382    if ( ! $wpvulnerability_test_core_counter ) {
    383         echo '<li>✔️ <span class="dashicons dashicons-wordpress"></span> ' . esc_html( $msg_core ) . '</li>';
     383        echo '<li>✔️ < $msg_core ) . '</li>';
    384384    } else {
    385         echo '<li>❌ <span class="dashicons dashicons-wordpress"></span> ' . esc_html( $msg_core ) . '</li>';
     385        echo '<li>❌ < $msg_core ) . '</li>';
    386386    }
    387387
    388388    if ( ! $wpvulnerability_test_plugins_counter ) {
    389         echo '<li>✔️ <span class="dashicons dashicons-admin-plugins"></span> ' . esc_html( $msg_plugins ) . '</li>';
     389        echo '<li>✔️ < $msg_plugins ) . '</li>';
    390390    } else {
    391         echo '<li>❌ <span class="dashicons dashicons-admin-plugins"></span> ' . esc_html( $msg_plugins );
     391        echo '<li>❌ < $msg_plugins );
    392392        echo wpvulnerability_list_plugins(); // phpcs:ignore
    393393        echo '</li>';
     
    395395
    396396    if ( ! $wpvulnerability_test_themes_counter ) {
    397         echo '<li>✔️ <span class="dashicons dashicons-admin-appearance"></span> ' . esc_html( $msg_themes ) . '</li>';
     397        echo '<li>✔️ < $msg_themes ) . '</li>';
    398398    } else {
    399         echo '<li>❌ <span class="dashicons dashicons-admin-appearance"></span> ' . esc_html( $msg_themes );
     399        echo '<li>❌ < $msg_themes );
    400400        echo wpvulnerability_list_themes(); // phpcs:ignore
    401401        echo '</li>';
     
    403403
    404404    if ( ! $wpvulnerability_test_php_counter ) {
    405         echo '<li>✔️ <span class="dashicons dashicons-editor-code"></span> ' . esc_html( $msg_php ) . '</li>';
     405        echo '<li>✔️ < $msg_php ) . '</li>';
    406406    } else {
    407         echo '<li>❌ <span class="dashicons dashicons-editor-code"></span> ' . esc_html( $msg_php ) . '</li>';
     407        echo '<li>❌ < $msg_php ) . '</li>';
    408408    }
    409409
  • wpvulnerability/trunk/wpvulnerability-cli.php

    r3034122 r3083082  
    4747                    $vulnerabilities,
    4848                    array(
    49                         'Version'                   => trim( html_entity_decode( wp_kses( $vulnerability['name'], 'strip' ) ) ),
    50                         'Vulnerability information' => '[*] WordPress ' . trim( html_entity_decode( wp_kses( $vulnerability['name'], 'strip' ) ) ),
     49                        'Version'                   => trim( html_entity_decode( wp_kses( $vulnerability['name'], 'strip' ) ) ),
     50                        'Vulnerability information' => '[*] WordPress ' . trim( html_entity_decode( wp_kses( $vulnerability['name'], 'strip' ) ) ),
    5151                    )
    5252                );
     
    6969                            array(
    7070                                'Version' => ' ',
    71                                 'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['name'], 'strip' ) ) ),
    72                             )
    73                         );
    74 
    75                         array_push(
    76                             $vulnerabilities,
    77                             array(
    78                                 'Version' => ' ',
    79                                 'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['description'], 'strip' ) ) ),
     71                                'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['name'], 'strip' ) ) ),
     72                            )
     73                        );
     74
     75                        array_push(
     76                            $vulnerabilities,
     77                            array(
     78                                'Version' => ' ',
     79                                'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['description'], 'strip' ) ) ),
    8080                            )
    8181                        );
     
    139139                            array(
    140140                                'Version' => ' ',
    141                                 'Vulnerability information' => '[+] ' . trim( html_entity_decode( wp_kses( $vulnerability_source['name'], 'strip' ) ) ),
    142                             )
    143                         );
    144                         array_push(
    145                             $vulnerabilities,
    146                             array(
    147                                 'Version' => ' ',
    148                                 'Vulnerability information' => '    ' . esc_url_raw( $vulnerability_source['link'], 'strip' ),
     141                                'Vulnerability information' => '[+] ' . trim( html_entity_decode( wp_kses( $vulnerability_source['name'], 'strip' ) ) ),
     142                            )
     143                        );
     144                        array_push(
     145                            $vulnerabilities,
     146                            array(
     147                                'Version' => ' ',
     148                                'Vulnerability information' => '    ' . esc_url_raw( $vulnerability_source['link'], 'strip' ),
    149149                            )
    150150                        );
     
    189189            if ( 1 === $plugin['vulnerable'] ) {
    190190
    191                 $name = trim( html_entity_decode( wp_kses( $plugin['Name'], 'strip' ) ) );
     191                $name = trim( html_entity_decode( wp_kses( $plugin['Name'], 'strip' ) ) );
    192192
    193193                // Output the plugin name with red color.
     
    207207                        $vulnerabilities,
    208208                        array(
    209                             'Version'                   => trim( html_entity_decode( wp_kses( $vulnerability['versions'], 'strip' ) ) ),
    210                             'Vulnerability information' => '[*] ' . trim( html_entity_decode( wp_kses( $vulnerability['name'], 'strip' ) ) ),
     209                            'Version'                   => trim( html_entity_decode( wp_kses( $vulnerability['versions'], 'strip' ) ) ),
     210                            'Vulnerability information' => '[*] ' . trim( html_entity_decode( wp_kses( $vulnerability['name'], 'strip' ) ) ),
    211211                        )
    212212                    );
     
    253253                                array(
    254254                                    'Version' => ' ',
    255                                     'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['name'], 'strip' ) ) ),
    256                                 )
    257                             );
    258 
    259                             array_push(
    260                                 $vulnerabilities,
    261                                 array(
    262                                     'Version' => ' ',
    263                                     'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['description'], 'strip' ) ) ),
     255                                    'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['name'], 'strip' ) ) ),
     256                                )
     257                            );
     258
     259                            array_push(
     260                                $vulnerabilities,
     261                                array(
     262                                    'Version' => ' ',
     263                                    'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['description'], 'strip' ) ) ),
    264264                                )
    265265                            );
     
    323323                                array(
    324324                                    'Version' => ' ',
    325                                     'Vulnerability information' => '[+] ' . trim( html_entity_decode( wp_kses( $vulnerability_source['name'], 'strip' ) ) ),
    326                                 )
    327                             );
    328                             array_push(
    329                                 $vulnerabilities,
    330                                 array(
    331                                     'Version' => ' ',
    332                                     'Vulnerability information' => ' ' . esc_url_raw( $vulnerability_source['link'], 'strip' ),
     325                                    'Vulnerability information' => '[+] ' . trim( html_entity_decode( wp_kses( $vulnerability_source['name'], 'strip' ) ) ),
     326                                )
     327                            );
     328                            array_push(
     329                                $vulnerabilities,
     330                                array(
     331                                    'Version' => ' ',
     332                                    'Vulnerability information' => ' ' . esc_url_raw( $vulnerability_source['link'], 'strip' ),
    333333                                )
    334334                            );
     
    375375            if ( 1 === $theme['wpvulnerability']['vulnerable'] ) {
    376376
    377                 $name = trim( html_entity_decode( wp_kses( $theme['wpvulnerability']['name'], 'strip' ) ) );
     377                $name = trim( html_entity_decode( wp_kses( $theme['wpvulnerability']['name'], 'strip' ) ) );
    378378
    379379                // Output the theme name with red color.
     
    393393                        $vulnerabilities,
    394394                        array(
    395                             'Version'                   => trim( html_entity_decode( wp_kses( $vulnerability['versions'], 'strip' ) ) ),
    396                             'Vulnerability information' => '[*] ' . trim( html_entity_decode( wp_kses( $vulnerability['name'], 'strip' ) ) ),
     395                            'Version'                   => trim( html_entity_decode( wp_kses( $vulnerability['versions'], 'strip' ) ) ),
     396                            'Vulnerability information' => '[*] ' . trim( html_entity_decode( wp_kses( $vulnerability['name'], 'strip' ) ) ),
    397397                        )
    398398                    );
     
    439439                                array(
    440440                                    'Version' => ' ',
    441                                     'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['name'], 'strip' ) ) ),
    442                                 )
    443                             );
    444 
    445                             array_push(
    446                                 $vulnerabilities,
    447                                 array(
    448                                     'Version' => ' ',
    449                                     'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['description'], 'strip' ) ) ),
     441                                    'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['name'], 'strip' ) ) ),
     442                                )
     443                            );
     444
     445                            array_push(
     446                                $vulnerabilities,
     447                                array(
     448                                    'Version' => ' ',
     449                                    'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_cwe['description'], 'strip' ) ) ),
    450450                                )
    451451                            );
     
    509509                                array(
    510510                                    'Version' => ' ',
    511                                     'Vulnerability information' => '[+] ' . trim( html_entity_decode( wp_kses( $vulnerability_source['name'], 'strip' ) ) ),
    512                                 )
    513                             );
    514                             array_push(
    515                                 $vulnerabilities,
    516                                 array(
    517                                     'Version' => ' ',
    518                                     'Vulnerability information' => ' ' . esc_url_raw( $vulnerability_source['link'], 'strip' ),
     511                                    'Vulnerability information' => '[+] ' . trim( html_entity_decode( wp_kses( $vulnerability_source['name'], 'strip' ) ) ),
     512                                )
     513                            );
     514                            array_push(
     515                                $vulnerabilities,
     516                                array(
     517                                    'Version' => ' ',
     518                                    'Vulnerability information' => ' ' . esc_url_raw( $vulnerability_source['link'], 'strip' ),
    519519                                )
    520520                            );
     
    573573                    $vulnerabilities,
    574574                    array(
    575                         'Version'                   => trim( html_entity_decode( wp_kses( $php['versions'], 'strip' ) ) ),
    576                         'Vulnerability information' => '[*] ' . trim( html_entity_decode( wp_kses( $php['name'], 'strip' ) ) ),
     575                        'Version'                   => trim( html_entity_decode( wp_kses( $php['versions'], 'strip' ) ) ),
     576                        'Vulnerability information' => '[*] ' . trim( html_entity_decode( wp_kses( $php['name'], 'strip' ) ) ),
    577577                    )
    578578                );
     
    605605                            array(
    606606                                'Version' => ' ',
    607                                 'Vulnerability information' => '[+] ' . trim( html_entity_decode( wp_kses( $vulnerability_source['id'], 'strip' ) ) ),
    608                             )
    609                         );
    610                         array_push(
    611                             $vulnerabilities,
    612                             array(
    613                                 'Version' => ' ',
    614                                 'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_source['description'], 'strip' ) ) ),
    615                             )
    616                         );
    617                         array_push(
    618                             $vulnerabilities,
    619                             array(
    620                                 'Version' => ' ',
    621                                 'Vulnerability information' => ' ' . esc_url_raw( $vulnerability_source['link'], 'strip' ),
     607                                'Vulnerability information' => '[+] ' . trim( html_entity_decode( wp_kses( $vulnerability_source['id'], 'strip' ) ) ),
     608                            )
     609                        );
     610                        array_push(
     611                            $vulnerabilities,
     612                            array(
     613                                'Version' => ' ',
     614                                'Vulnerability information' => trim( html_entity_decode( wp_kses( $vulnerability_source['description'], 'strip' ) ) ),
     615                            )
     616                        );
     617                        array_push(
     618                            $vulnerabilities,
     619                            array(
     620                                'Version' => ' ',
     621                                'Vulnerability information' => ' ' . esc_url_raw( $vulnerability_source['link'], 'strip' ),
    622622                            )
    623623                        );
  • wpvulnerability/trunk/wpvulnerability-core.php

    r3034122 r3083082  
    4343        if ( isset( $vulnerability['impact']['cwe'] ) ) {
    4444            foreach ( $vulnerability['impact']['cwe'] as $vulnerability_cwe ) {
    45                 $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['name'], 'strip' ) . '</b></div><div><i>' . wp_kses_post( $vulnerability_cwe['description'] ) . '</i></div>';
     45                $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['description'] ) . '</i></div>';
    4646            }
    4747        }
     
    5050        if ( isset( $vulnerability['source'] ) ) {
    5151            foreach ( $vulnerability['source'] as $vulnerability_source ) {
    52                 $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['link'], 'strip' ) . '" target="_blank" rel="external nofollow noopener noreferrer">[+]</a>&nbsp;' . wp_kses( $vulnerability_source['name'], 'strip' );
     52                $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['name'], 'strip' );
    5353            }
    5454        }
     
    6767
    6868        $information .= '<tr>';
    69         $information .= '<td style="max-width: 256px; min-width: 96px;">WordPress <b>' . wp_kses( $vulnerability['name'], 'strip' ) . '</b></td>';
     69        $information .= '<td style="max-width: 256px; min-width: 96px;">WordPress <b>' . wp_kses( $vulnerability['name'], 'strip' ) . '</b></td>';
    7070        $information .= '<td>';
    7171        if ( count( $what ) ) {
     
    8686            $information .= '</div>';
    8787        }
    88         $information .= wp_kses( $source, 'post' );
     88        $information .= wp_kses( $source, 'post' );
    8989        $information .= '</td>';
    9090        $information .= '</tr>';
     
    122122
    123123        $core_data[] = array(
    124             'name'   => wp_kses( $v['name'], 'strip' ),
     124            'name'   => wp_kses( $v['name'], 'strip' ),
    125125            'source' => $v['source'],
    126126            'impact' => $v['impact'],
  • wpvulnerability/trunk/wpvulnerability-general.php

    r3034122 r3083082  
    287287
    288288        $vulnerability[] = array(
    289             'name'   => wp_kses( $v['name'], 'strip' ),
    290             'link'   => esc_url_raw( $v['link'] ),
     289            'name'   => wp_kses( $v['name'], 'strip' ),
     290            'link'   => esc_url_raw( $v['link'] ),
    291291            'source' => $v['source'],
    292292            'impact' => $v['impact'],
     
    333333        if ( isset( $response['data'] ) ) {
    334334            $vulnerability = array(
    335                 'name'   => wp_kses( (string) $response['data']['name'], 'strip' ),
     335                'name'   => wp_kses( (string) $response['data']['name'], 'strip' ),
    336336                'link'   => esc_url( (string) $response['data']['link'] ),
    337337                'latest' => number_format( (int) $response['data']['latest'], 0, '.', '' ),
     
    356356                    // Add the vulnerability to the array.
    357357                    $vulnerability[] = array(
    358                         'name'        => wp_kses( $v['name'], 'strip' ),
    359                         'description' => wp_kses_post( $v['description'] ),
     358                        'name'        => wp_kses( $v['name'], 'strip' ),
     359                        'description' => wp_kses_post( $v['description'] ),
    360360                        'versions'    => wp_kses( wpvulnerability_pretty_operator( $v['operator']['min_operator'] ) . $v['operator']['min_version'] . ' - ' . wpvulnerability_pretty_operator( $v['operator']['max_operator'] ) . $v['operator']['max_version'], 'strip' ),
    361                         'version'     => wp_kses( $v['operator']['min_version'], 'strip' ),
     361                        'version'     => wp_kses( $v['operator']['min_version'], 'strip' ),
    362362                        'unfixed'     => (int) $v['operator']['unfixed'],
    363363                        'closed'      => (int) $v['operator']['closed'],
     
    375375                    // Add the vulnerability to the list.
    376376                    $vulnerability[] = array(
    377                         'name'        => wp_kses( $v['name'], 'strip' ),
    378                         'description' => wp_kses_post( $v['description'] ),
     377                        'name'        => wp_kses( $v['name'], 'strip' ),
     378                        'description' => wp_kses_post( $v['description'] ),
    379379                        'versions'    => wp_kses( wpvulnerability_pretty_operator( $v['operator']['max_operator'] ) . $v['operator']['max_version'], 'strip' ),
    380                         'version'     => wp_kses( $v['operator']['max_version'], 'strip' ),
     380                        'version'     => wp_kses( $v['operator']['max_version'], 'strip' ),
    381381                        'unfixed'     => (int) $v['operator']['unfixed'],
    382382                        'closed'      => (int) $v['operator']['closed'],
     
    394394                    // Add the vulnerability to the list.
    395395                    $vulnerability[] = array(
    396                         'name'        => wp_kses( $v['name'], 'strip' ),
    397                         'description' => wp_kses_post( $v['description'] ),
     396                        'name'        => wp_kses( $v['name'], 'strip' ),
     397                        'description' => wp_kses_post( $v['description'] ),
    398398                        'versions'    => wp_kses( wpvulnerability_pretty_operator( $v['operator']['min_operator'] ) . $v['operator']['min_version'], 'strip' ),
    399                         'version'     => wp_kses( $v['operator']['min_version'], 'strip' ),
     399                        'version'     => wp_kses( $v['operator']['min_version'], 'strip' ),
    400400                        'unfixed'     => (int) $v['operator']['unfixed'],
    401401                        'closed'      => (int) $v['operator']['closed'],
     
    452452                // Add the vulnerability to the list.
    453453                $vulnerability[] = array(
    454                     'name'        => wp_kses( $v['name'], 'strip' ),
    455                     'description' => wp_kses_post( $v['description'] ),
     454                    'name'        => wp_kses( $v['name'], 'strip' ),
     455                    'description' => wp_kses_post( $v['description'] ),
    456456                    'versions'    => wp_kses( wpvulnerability_pretty_operator( $v['operator']['min_version'] ) . $v['operator']['min_version'] . ' - ' . wpvulnerability_pretty_operator( $v['operator']['max_operator'] ) . $v['operator']['max_version'], 'strip' ),
    457                     'version'     => wp_kses( $v['operator']['min_version'], 'strip' ),
     457                    'version'     => wp_kses( $v['operator']['min_version'], 'strip' ),
    458458                    'unfixed'     => (int) $v['operator']['unfixed'],
    459459                    'closed'      => (int) $v['operator']['closed'],
     
    471471                // Add the vulnerability to the list.
    472472                $vulnerability[] = array(
    473                     'name'        => wp_kses( $v['name'], 'strip' ),
    474                     'description' => wp_kses_post( $v['description'] ),
     473                    'name'        => wp_kses( $v['name'], 'strip' ),
     474                    'description' => wp_kses_post( $v['description'] ),
    475475                    'versions'    => wp_kses( wpvulnerability_pretty_operator( $v['operator']['max_operator'] ) . $v['operator']['max_version'], 'strip' ),
    476                     'version'     => wp_kses( $v['operator']['max_version'], 'strip' ),
     476                    'version'     => wp_kses( $v['operator']['max_version'], 'strip' ),
    477477                    'unfixed'     => (int) $v['operator']['unfixed'],
    478478                    'closed'      => (int) $v['operator']['closed'],
     
    490490                // Add the vulnerability to the list.
    491491                $vulnerability[] = array(
    492                     'name'        => wp_kses( $v['name'], 'strip' ),
    493                     'description' => wp_kses_post( $v['description'] ),
     492                    'name'        => wp_kses( $v['name'], 'strip' ),
     493                    'description' => wp_kses_post( $v['description'] ),
    494494                    'versions'    => wp_kses( wpvulnerability_pretty_operator( $v['operator']['min_version'] ) . $v['operator']['min_version'], 'strip' ),
    495                     'version'     => wp_kses( $v['operator']['min_version'], 'strip' ),
     495                    'version'     => wp_kses( $v['operator']['min_version'], 'strip' ),
    496496                    'unfixed'     => (int) $v['operator']['unfixed'],
    497497                    'closed'      => (int) $v['operator']['closed'],
     
    634634                // Add the vulnerability to the list.
    635635                $vulnerability[] = array(
    636                     'name'     => wp_kses( $v['name'], 'strip' ),
     636                    'name'     => wp_kses( $v['name'], 'strip' ),
    637637                    'versions' => wp_kses( wpvulnerability_pretty_operator( $v['operator']['min_version'] ) . $v['operator']['min_version'] . ' - ' . wpvulnerability_pretty_operator( $v['operator']['max_operator'] ) . $v['operator']['max_version'], 'strip' ),
    638                     'version'  => wp_kses( $v['operator']['min_version'], 'strip' ),
     638                    'version'  => wp_kses( $v['operator']['min_version'], 'strip' ),
    639639                    'unfixed'  => (int) $v['operator']['unfixed'],
    640640                    'source'   => $v['source'],
     
    650650                // Add the vulnerability to the list.
    651651                $vulnerability[] = array(
    652                     'name'     => wp_kses( $v['name'], 'strip' ),
     652                    'name'     => wp_kses( $v['name'], 'strip' ),
    653653                    'versions' => wp_kses( wpvulnerability_pretty_operator( $v['operator']['max_operator'] ) . $v['operator']['max_version'], 'strip' ),
    654                     'version'  => wp_kses( $v['operator']['max_version'], 'strip' ),
     654                    'version'  => wp_kses( $v['operator']['max_version'], 'strip' ),
    655655                    'unfixed'  => (int) $v['operator']['unfixed'],
    656656                    'source'   => $v['source'],
     
    666666                // Add the vulnerability to the list.
    667667                $vulnerability[] = array(
    668                     'name'     => wp_kses( $v['name'], 'strip' ),
     668                    'name'     => wp_kses( $v['name'], 'strip' ),
    669669                    'versions' => wp_kses( wpvulnerability_pretty_operator( $v['operator']['min_version'] ) . $v['operator']['min_version'], 'strip' ),
    670                     'version'  => wp_kses( $v['operator']['min_version'], 'strip' ),
     670                    'version'  => wp_kses( $v['operator']['min_version'], 'strip' ),
    671671                    'unfixed'  => (int) $v['operator']['unfixed'],
    672672                    'source'   => $v['source'],
  • wpvulnerability/trunk/wpvulnerability-plugins.php

    r3034122 r3083082  
    3939        /* translators: 1: Plugin name */
    4040        __( '%1$s has a known vulnerability that may be affecting this version.', 'wpvulnerability' ),
    41         wp_kses( $plugin_data['Name'], 'strip' )
     41        wp_kses( $plugin_data['Name'], 'strip' )
    4242    );
    4343
     
    5757        if ( isset( $vulnerability['impact']['cwe'] ) ) {
    5858            foreach ( $vulnerability['impact']['cwe'] as $vulnerability_cwe ) {
    59                 $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['name'], 'strip' ) . '</b></div><div><i>' . wp_kses_post( $vulnerability_cwe['description'] ) . '</i></div>';
     59                $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['description'] ) . '</i></div>';
    6060            }
    6161        }
     
    6464        if ( isset( $vulnerability['source'] ) ) {
    6565            foreach ( $vulnerability['source'] as $vulnerability_source ) {
    66                 $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['link'], 'strip' ) . '" target="_blank" rel="external nofollow noopener noreferrer">[+]</a>&nbsp;' . wp_kses( $vulnerability_source['name'], 'strip' );
     66                $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['name'], 'strip' );
    6767            }
    6868        }
     
    8181
    8282        $information .= '<tr>';
    83         $information .= '<td style="max-width: 256px; min-width: 96px;"><b>' . wp_kses( $vulnerability['versions'], 'strip' ) . '</b></td>';
     83        $information .= '<td style="max-width: 256px; min-width: 96px;"><b>' . wp_kses( $vulnerability['versions'], 'strip' ) . '</b></td>';
    8484        $information .= '<td>';
    8585        if ( (int) $vulnerability['closed'] || (int) $vulnerability['unfixed'] ) {
     
    110110            $information .= '</div>';
    111111        }
    112         $information .= wp_kses( $source, 'post' );
     112        $information .= wp_kses( $source, 'post' );
    113113        $information .= '</td>';
    114114        $information .= '</tr>';
     
    148148    // If the TextDomain key is empty, extract it from the file path.
    149149    if ( is_null( $plugin_slug ) ) {
    150         $plugin_slug = wp_kses( $plugin_data['TextDomain'], 'strip' );
     150        $plugin_slug = wp_kses( $plugin_data['TextDomain'], 'strip' );
    151151    }
    152152
    153153    // Get the plugin slug and version from the plugin data.
    154     $plugin_version = wp_kses( $plugin_data['Version'], 'strip' );
     154    $plugin_version = wp_kses( $plugin_data['Version'], 'strip' );
    155155
    156156    // Initialize vulnerability related fields.
     
    200200    // If the TextDomain key is empty, extract it from the file path.
    201201    if ( is_null( $plugin_slug ) ) {
    202         $plugin_slug = wp_kses( $plugin_data['TextDomain'], 'strip' );
     202        $plugin_slug = wp_kses( $plugin_data['TextDomain'], 'strip' );
    203203    }
    204204
    205205    // Get the plugin slug and version from the plugin data.
    206     $plugin_version = wp_kses( $plugin_data['Version'], 'strip' );
     206    $plugin_version = wp_kses( $plugin_data['Version'], 'strip' );
    207207
    208208    // Retrieve vulnerabilities for the plugin using its slug and version.
     
    433433        // If the TextDomain key is empty, extract it from the file path.
    434434        if ( is_null( $plugin_slug ) ) {
    435             $plugin_slug = wp_kses( $plugin_data['TextDomain'], 'strip' );
     435            $plugin_slug = wp_kses( $plugin_data['TextDomain'], 'strip' );
    436436        }
    437437
     
    470470                }
    471471
    472                 echo '<p>' . wp_kses( $plugin_data_updated, 'strip' ) . ' (' . wp_kses( $plugin_data_ago, 'strip' ) . ')</p>';
     472                echo '<p>' . wp_kses( $plugin_data_ago, 'strip' ) . ')</p>';
    473473
    474474                if ( $warning_date ) {
  • wpvulnerability/trunk/wpvulnerability-process.php

    r3034122 r3083082  
    3131            if ( isset( $vulnerability['impact']['cwe'] ) ) {
    3232                foreach ( $vulnerability['impact']['cwe'] as $vulnerability_cwe ) {
    33                     $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['name'], 'strip' ) . '</b></div><div><i>' . wp_kses_post( $vulnerability_cwe['description'] ) . '</i></div>';
     33                    $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['description'] ) . '</i></div>';
    3434                }
    3535            }
     
    3737            if ( isset( $vulnerability['source'] ) ) {
    3838                foreach ( $vulnerability['source'] as $vulnerability_source ) {
    39                     $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['link'], 'strip' ) . '" target="_blank">[+]</a>&nbsp;' . wp_kses( $vulnerability_source['name'], 'strip' );
     39                    $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['name'], 'strip' );
    4040                }
    4141            }
     
    5353            }
    5454
    55             $html .= '<h4>' . wp_kses( $vulnerability['name'], 'strip' ) . '</h4>';
     55            $html .= '<h4>' . wp_kses( $vulnerability['name'], 'strip' ) . '</h4>';
    5656            if ( (int) $vulnerability['closed'] || (int) $vulnerability['unfixed'] ) {
    5757                $html .= '<div style="padding-bottom: 5px;">';
     
    8181                $html .= '</div>';
    8282            }
    83             $html .= wp_kses( $source, 'post' );
     83            $html .= wp_kses( $source, 'post' );
    8484
    8585        }
     
    9090            $what = array();
    9191            foreach ( $vulnerability['impact']['cwe'] as $vulnerability_cwe ) {
    92                 $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['name'], 'strip' ) . '</b></div><div><i>' . wp_kses_post( $vulnerability_cwe['description'] ) . '</i></div>';
     92                $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['description'] ) . '</i></div>';
    9393            }
    9494
    9595            $sources = array();
    9696            foreach ( $vulnerability['source'] as $vulnerability_source ) {
    97                 $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['link'], 'strip' ) . '" target="_blank">[+]</a>&nbsp;' . wp_kses( $vulnerability_source['name'], 'strip' );
     97                $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['name'], 'strip' );
    9898            }
    9999            $source = '<div style="padding-bottom: 5px;">' . implode( '<br>', $sources ) . '</div>';
     
    108108            }
    109109
    110             $html .= '<h3> WordPress ' . wp_kses( $vulnerability['name'], 'strip' ) . '</h3>';
     110            $html .= '<h3> WordPress ' . wp_kses( $vulnerability['name'], 'strip' ) . '</h3>';
    111111            if ( count( $what ) ) {
    112112                $html .= '<div style="padding-bottom: 5px;">';
     
    126126                $html .= '</div>';
    127127            }
    128             $html .= wp_kses( $source, 'post' );
     128            $html .= wp_kses( $source, 'post' );
    129129
    130130        }
     
    135135            $sources = array();
    136136            foreach ( $vulnerability['source'] as $vulnerability_source ) {
    137                 $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['link'], 'strip' ) . '" target="_blank">[+]</a>&nbsp;' . wp_kses( $vulnerability_source['id'], 'strip' ) . '<br>' . wp_kses( $vulnerability_source['description'], 'strip' );
     137                $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['description'], 'strip' );
    138138            }
    139139            $source = '<div style="padding-bottom: 5px;">' . implode( '<br>', $sources ) . '</div>';
    140140
    141             $html .= '<h4> ' . wp_kses( $vulnerability['name'], 'strip' ) . '</h4>';
     141            $html .= '<h4> ' . wp_kses( $vulnerability['name'], 'strip' ) . '</h4>';
    142142            $html .= '<div style="padding-bottom: 5px;"></div>';
    143             $html .= wp_kses( $source, 'post' );
     143            $html .= wp_kses( $source, 'post' );
    144144
    145145        }
     
    170170
    171171            // Generate HTML markup for the plugin vulnerability.
    172             $html .= '<h3>' . esc_html__( 'Plugin', 'wpvulnerability' ) . ': ' . wp_kses( $plugin_data['Name'], 'strip' ) . '</h3>';
     172            $html .= '<h3>' . esc_html__( 'Plugin', 'wpvulnerability' ) . ': ' . wp_kses( $plugin_data['Name'], 'strip' ) . '</h3>';
    173173            $html .= wpvulnerability_html( 'plugin', $plugin_data['vulnerabilities'] );
    174174
     
    188188 * Convert PHP vulnerabilities into HTML format.
    189189 *
    190  * @version 2.0.0
     190 * @version .0
    191191 *
    192192 * @return string|false The HTML output if PHP vulnerabilities were found, false otherwise.
     
    240240
    241241            // Generate HTML markup for the plugin vulnerability.
    242             $html .= '<li>' . wp_kses( $plugin_data['Name'], 'strip' ) . '</li>';
     242            $html .= '<li>' . wp_kses( $plugin_data['Name'], 'strip' ) . '</li>';
    243243
    244244        }
     
    277277
    278278                // Generate HTML markup for the theme vulnerability.
    279                 $html .= '<h3>' . esc_html__( 'Theme', 'wpvulnerability' ) . ': ' . wp_kses( $theme_data['wpvulnerability']['name'], 'strip' ) . '</h3>';
     279                $html .= '<h3>' . esc_html__( 'Theme', 'wpvulnerability' ) . ': ' . wp_kses( $theme_data['wpvulnerability']['name'], 'strip' ) . '</h3>';
    280280                $html .= wpvulnerability_html( 'theme', $theme_data['wpvulnerability']['vulnerabilities'] );
    281281
     
    313313
    314314            // Generate HTML markup for the theme vulnerability.
    315             $html .= '<li>' . wp_kses( $theme_data['wpvulnerability']['name'], 'strip' ) . '</li>';
     315            $html .= '<li>' . wp_kses( $theme_data['wpvulnerability']['name'], 'strip' ) . '</li>';
    316316
    317317        }
  • wpvulnerability/trunk/wpvulnerability-themes.php

    r3034122 r3083082  
    4040        /* translators: 1: theme name */
    4141        __( '%1$s has a known vulnerability that may be affecting this version.', 'wpvulnerability' ),
    42         wp_kses( $theme_data->get( 'Name' ), 'strip' )
     42        wp_kses( $theme_data->get( 'Name' ), 'strip' )
    4343    );
    4444
     
    5858        if ( isset( $vulnerability['impact']['cwe'] ) ) {
    5959            foreach ( $vulnerability['impact']['cwe'] as $vulnerability_cwe ) {
    60                 $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['name'], 'strip' ) . '</b></div><div><i>' . wp_kses_post( $vulnerability_cwe['description'] ) . '</i></div>';
     60                $what[] = '<div><b>' . wp_kses( $vulnerability_cwe['name'], 'strip' ) . '</b></div><div><i>' . wp_kses_post( $vulnerability_cwe['description'] ) . '</i></div>';
    6161            }
    6262        }
     
    6565        if ( isset( $vulnerability['source'] ) ) {
    6666            foreach ( $vulnerability['source'] as $vulnerability_source ) {
    67                 $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['link'], 'strip' ) . '" target="_blank" rel="external nofollow noopener noreferrer">[+]</a>&nbsp;' . wp_kses( $vulnerability_source['name'], 'strip' );
     67                $sources[] = '<a href="' . esc_url_raw( $vulnerability_source['name'], 'strip' );
    6868            }
    6969        }
     
    8282
    8383        $information .= '<tr>';
    84         $information .= '<td style="max-width: 256px; min-width: 96px;"><b>' . wp_kses( $vulnerability['versions'], 'strip' ) . '</b></td>';
     84        $information .= '<td style="max-width: 256px; min-width: 96px;"><b>' . wp_kses( $vulnerability['versions'], 'strip' ) . '</b></td>';
    8585        $information .= '<td>';
    8686        if ( (int) $vulnerability['closed'] || (int) $vulnerability['unfixed'] ) {
     
    111111            $information .= '</div>';
    112112        }
    113         $information .= wp_kses( $source, 'post' );
     113        $information .= wp_kses( $source, 'post' );
    114114        $information .= '</td>';
    115115        $information .= '</tr>';
     
    137137
    138138    // Get the theme version and slug from the theme data.
    139     $theme_version        = wp_kses( $theme_data['data']->get( 'Version' ), 'strip' );
     139    $theme_version        = wp_kses( $theme_data['data']->get( 'Version' ), 'strip' );
    140140    $theme_data_v['slug'] = $theme_slug;
    141141
  • wpvulnerability/trunk/wpvulnerability.php

    r3034122 r3083082  
    33 * Plugin Name: WPVulnerability
    44 * Plugin URI: https://vulnerability.wpsysadmin.com/
    5  * Description: Check WordPress Core, Plugins, Themes, and PHP vulnerabilities with information from the WordPress Vulnerability Database API.
     5 * Description: WordPress Vulnerability Database API.
    66 * Requires at least: 4.1
    77 * Requires PHP: 5.6
    8  * Version: 3.1.1
     8 * Version: 3.1.
    99 * Author: Javier Casares
    1010 * Author URI: https://www.javiercasares.com/
    11  * License: EUPL v1.2
     11 * License: EUPL1.2
    1212 * License URI: https://www.eupl.eu/1.2/en/
    1313 * Text Domain: wpvulnerability
     
    9696 * Only load if it's admin / super admin
    9797 */
    98 if ( ( ! is_multisite() && is_admin() ) || ( is_multisite() && ( is_network_admin() || is_main_site() ) ) || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
     98if ( ( ! is_multisite() && is_admin() ) || ( is_multisite() && ( is_network_admin() || is_main_site() ) ) || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
    9999
    100100    require_once WPVULNERABILITY_PLUGIN_PATH . '/wpvulnerability-run.php';
Note: See TracChangeset for help on using the changeset viewer.