| @@ -9,8 +9,13 @@ | ||
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | 11 | namespace MainWP\Dashboard; |
| 12 | 12 | |
| 13 | +// Exit if accessed directly. | |
| 14 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 15 | + exit; | |
| 16 | +} | |
| 17 | + | |
| 13 | 18 | // Exit if access directly. |
| 14 | 19 | if ( ! defined( 'WP_CLI' ) ) { |
| 15 | 20 | return; // NOSONAR - skip CLI. |
| 16 | 21 | } |
| @@ -775,11 +780,18 @@ | ||
| 775 | 780 | * @param array $assoc_args Arguments. |
| 776 | 781 | * @param object $website Object containing child site data. |
| 777 | 782 | */ |
| 778 | 783 | public static function callback_site_site_available_updates( $args = array(), $assoc_args = array(), $website = false ) { // phpcs:ignore -- NOSONAR - complex. |
| 779 | - $wp_upgrades = MainWP_DB::instance()->get_website_option( $website, 'wp_upgrades' ); | |
| 780 | - $wp_upgrades = ! empty( $wp_upgrades ) ? json_decode( $wp_upgrades, true ) : array(); | |
| 784 | + $site_options = MainWP_DB::instance()->get_website_options_array( $website, array( 'wp_upgrades', 'ignored_trans_updates' ) ); | |
| 785 | + $wp_upgrades = isset( $site_options['wp_upgrades'] ) ? json_decode( $site_options['wp_upgrades'], true ) : array(); | |
| 786 | + $ignored_core_upgrades = isset( $site_options['ignored_wp_upgrades'] ) ? json_decode( $site_options['ignored_wp_upgrades'], true ) : array(); | |
| 781 | 787 | |
| 788 | + if ( $website->is_ignoreCoreUpdates || MainWP_Common_Functions::instance()->is_ignored_updates( $wp_upgrades, $ignored_core_upgrades, 'core' ) ) { | |
| 789 | + $wp_upgrades = array(); | |
| 790 | + } | |
| 791 | + | |
| 792 | + $ignored_trans_updates = isset( $site_options['ignored_trans_updates'] ) ? (int) $site_options['ignored_trans_updates'] : false; | |
| 793 | + | |
| 782 | 794 | $plugin_upgrades = json_decode( $website->plugin_upgrades, true ); |
| 783 | 795 | $theme_upgrades = json_decode( $website->theme_upgrades, true ); |
| 784 | 796 | $translation_upgrades = json_decode( $website->translation_upgrades, true ); |
| 785 | 797 | |
| @@ -789,8 +801,12 @@ | ||
| 789 | 801 | if ( $website->is_ignoreThemeUpdates ) { |
| 790 | 802 | $theme_upgrades = array(); |
| 791 | 803 | } |
| 792 | 804 | |
| 805 | + if ( $ignored_trans_updates ) { | |
| 806 | + $translation_upgrades = array(); | |
| 807 | + } | |
| 808 | + | |
| 793 | 809 | $userExtension = MainWP_DB_Common::instance()->get_user_extension(); |
| 794 | 810 | if ( is_array( $plugin_upgrades ) && ! empty( $plugin_upgrades ) ) { |
| 795 | 811 | $ignored_plugins = json_decode( $website->ignored_plugins, true ); |
| 796 | 812 | if ( is_array( $ignored_plugins ) ) { |
| @@ -1089,21 +1105,13 @@ | ||
| 1089 | 1105 | public static function callback_site_site_security_issues( $args = array(), $assoc_args = array(), $website = false ) { |
| 1090 | 1106 | $data = MainWP_Connect::fetch_url_authed( $website, 'security' ); |
| 1091 | 1107 | |
| 1092 | 1108 | \WP_CLI::line( '' ); |
| 1093 | - \WP_CLI::line( \WP_CLI::colorize( '%9' . $website->name . ' ' . esc_html__( 'Security Issues', 'mainwp' ) . '%n' ) ); | |
| 1109 | + \WP_CLI::line( \WP_CLI::colorize( '%9' . $website->name . ' ' . esc_html__( 'Potential Secuirty Issues', 'mainwp' ) . '%n' ) ); | |
| 1094 | 1110 | \WP_CLI::line( '' ); |
| 1095 | 1111 | |
| 1096 | - \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'Directories listing prevented:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['listing'] ? 'NO' : 'YES' ) ); | |
| 1097 | - \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'WordPress version hidden:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['wp_version'] ? 'NO' : 'YES' ) ); | |
| 1098 | - \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'Really Simple Discovery meta tag removed:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['rsd'] ? 'NO' : 'YES' ) ); | |
| 1099 | - \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'Windows Live Writer meta tag removed:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['wlw'] ? 'NO' : 'YES' ) ); | |
| 1100 | 1112 | \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'Database error reporting disabled:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['db_reporting'] ? 'NO' : 'YES' ) ); |
| 1101 | 1113 | \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'PHP error reporting disabled:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['php_reporting'] ? 'NO' : 'YES' ) ); |
| 1102 | - \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'Version information removed from URLs:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['versions'] ? 'NO' : 'YES' ) ); | |
| 1103 | - \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'Registered version information removed from URLs:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['registered_versions'] ? 'NO' : 'YES' ) ); | |
| 1104 | - \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'readme.html removed from WordPress root:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['readme'] ? 'NO' : 'YES' ) ); | |
| 1105 | - \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'Administrator username is not "admin":', 'mainwp' ) . '%n ' ) . ( 'N' === $data['admin'] ? 'NO' : 'YES' ) ); | |
| 1106 | 1114 | \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'WordPress is not up to date:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['wp_uptodate'] ? 'NO' : 'YES' ) ); |
| 1107 | 1115 | \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'PHP version does not match the WordPress requirement:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['phpversion_matched'] ? 'NO' : 'YES' ) ); |
| 1108 | 1116 | \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'SSL protocol is not in place:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['sslprotocol'] ? 'NO' : 'YES' ) ); |
| 1109 | 1117 | \WP_CLI::line( \WP_CLI::colorize( '%g' . esc_html__( 'WP Config debugging is enabled:', 'mainwp' ) . '%n ' ) . ( 'N' === $data['debug_disabled'] ? 'NO' : 'YES' ) ); |
| @@ -1521,8 +1529,19 @@ | ||
| 1521 | 1529 | \WP_CLI::line( '' ); |
| 1522 | 1530 | |
| 1523 | 1531 | $websites = MainWP_DB::instance()->query( MainWP_DB::instance()->get_sql_websites_for_current_user() ); |
| 1524 | 1532 | while ( $websites && ( $website = MainWP_DB::fetch_object( $websites ) ) ) { |
| 1533 | + | |
| 1534 | + $site_options = MainWP_DB::instance()->get_website_options_array( $website, array( 'wp_upgrades', 'ignored_trans_updates' ) ); | |
| 1535 | + $wp_upgrades = isset( $site_options['wp_upgrades'] ) ? json_decode( $site_options['wp_upgrades'], true ) : array(); | |
| 1536 | + $ignored_core_upgrades = isset( $site_options['ignored_wp_upgrades'] ) ? json_decode( $site_options['ignored_wp_upgrades'], true ) : array(); | |
| 1537 | + | |
| 1538 | + if ( $website->is_ignoreCoreUpdates || MainWP_Common_Functions::instance()->is_ignored_updates( $wp_upgrades, $ignored_core_upgrades, 'core' ) ) { | |
| 1539 | + $wp_upgrades = array(); | |
| 1540 | + } | |
| 1541 | + | |
| 1542 | + $ignored_trans_updates = isset( $site_options['ignored_trans_updates'] ) ? (int) $site_options['ignored_trans_updates'] : false; | |
| 1543 | + | |
| 1525 | 1544 | $wp_upgrades = MainWP_DB::instance()->get_website_option( $website, 'wp_upgrades' ); |
| 1526 | 1545 | $wp_upgrades = ! empty( $wp_upgrades ) ? json_decode( $wp_upgrades, true ) : array(); |
| 1527 | 1546 | |
| 1528 | 1547 | $plugin_upgrades = json_decode( $website->plugin_upgrades, true ); |
| @@ -1533,8 +1552,12 @@ | ||
| 1533 | 1552 | $plugin_upgrades = array(); |
| 1534 | 1553 | } |
| 1535 | 1554 | if ( $website->is_ignoreThemeUpdates ) { |
| 1536 | 1555 | $theme_upgrades = array(); |
| 1556 | + } | |
| 1557 | + | |
| 1558 | + if ( $ignored_trans_updates ) { | |
| 1559 | + $translation_upgrades = array(); | |
| 1537 | 1560 | } |
| 1538 | 1561 | |
| 1539 | 1562 | $userExtension = MainWP_DB_Common::instance()->get_user_extension(); |
| 1540 | 1563 | if ( is_array( $plugin_upgrades ) && ! empty( $plugin_upgrades ) ) { |