| @@ -485,94 +485,24 @@ | ||
| 485 | 485 | MainWP_DB::data_seek( $websites, 0 ); |
| 486 | 486 | |
| 487 | 487 | while ( $websites && ( $website = MainWP_DB::fetch_object( $websites ) ) ) { |
| 488 | 488 | |
| 489 | - $wp_upgrades = ! empty( $website->wp_upgrades ) ? json_decode( $website->wp_upgrades, true ) : array(); | |
| 490 | - $ignored_core_upgrades = ! empty( $website->ignored_wp_upgrades ) ? json_decode( $website->ignored_wp_upgrades, true ) : array(); | |
| 491 | - | |
| 492 | - if ( $website->is_ignoreCoreUpdates || MainWP_Common_Functions::instance()->is_ignored_updates( $wp_upgrades, $ignored_core_upgrades, 'core' ) || MainWP_Common_Functions::instance()->is_ignored_updates( $wp_upgrades, $decodedDismissedCores, 'core' ) ) { | |
| 493 | - $wp_upgrades = array(); | |
| 494 | - } | |
| 495 | - | |
| 496 | - if ( is_array( $wp_upgrades ) && ! empty( $wp_upgrades ) ) { | |
| 497 | - ++$total_wp_upgrades; | |
| 498 | - } | |
| 499 | - | |
| 500 | - $translation_upgrades = json_decode( $website->translation_upgrades, true ); | |
| 501 | - | |
| 502 | - if ( ! empty( $website->ignored_trans_updates ) ) { | |
| 503 | - $translation_upgrades = array(); | |
| 504 | - } | |
| 505 | - | |
| 506 | - $plugin_upgrades = json_decode( $website->plugin_upgrades, true ); | |
| 507 | - if ( $website->is_ignorePluginUpdates ) { | |
| 508 | - $plugin_upgrades = array(); | |
| 509 | - } | |
| 510 | - | |
| 511 | - $theme_upgrades = json_decode( $website->theme_upgrades, true ); | |
| 512 | - if ( $website->is_ignoreThemeUpdates ) { | |
| 513 | - $theme_upgrades = array(); | |
| 514 | - } | |
| 515 | - | |
| 516 | 489 | $decodedPremiumUpgrades = MainWP_DB::instance()->get_website_option( $website, 'premium_upgrades' ); |
| 517 | - $decodedPremiumUpgrades = ! empty( $decodedPremiumUpgrades ) ? json_decode( $decodedPremiumUpgrades, true ) : array(); | |
| 518 | - | |
| 519 | - if ( is_array( $decodedPremiumUpgrades ) ) { | |
| 520 | - foreach ( $decodedPremiumUpgrades as $crrSlug => $premiumUpgrade ) { | |
| 521 | - $premiumUpgrade['premium'] = true; | |
| 522 | - | |
| 523 | - if ( 'plugin' === $premiumUpgrade['type'] ) { | |
| 524 | - if ( ! is_array( $plugin_upgrades ) ) { | |
| 525 | - $plugin_upgrades = array(); | |
| 526 | - } | |
| 527 | - if ( ! $website->is_ignorePluginUpdates ) { | |
| 528 | - $premiumUpgrade = array_filter( $premiumUpgrade ); | |
| 529 | - if ( ! isset( $plugin_upgrades[ $crrSlug ] ) ) { | |
| 530 | - continue; // to fix missing update name. | |
| 531 | - } | |
| 532 | - $plugin_upgrades[ $crrSlug ] = array_merge( $plugin_upgrades[ $crrSlug ], $premiumUpgrade ); | |
| 533 | - } | |
| 534 | - } elseif ( 'theme' === $premiumUpgrade['type'] ) { | |
| 535 | - if ( ! is_array( $theme_upgrades ) ) { | |
| 536 | - $theme_upgrades = array(); | |
| 537 | - } | |
| 538 | - if ( ! $website->is_ignoreThemeUpdates ) { | |
| 539 | - $theme_upgrades[ $crrSlug ] = $premiumUpgrade; | |
| 540 | - } | |
| 541 | - } | |
| 542 | - } | |
| 490 | + if ( empty( $decodedPremiumUpgrades ) ) { | |
| 491 | + $decodedPremiumUpgrades = array(); | |
| 492 | + } else { | |
| 493 | + $decodedPremiumUpgrades = json_decode( $decodedPremiumUpgrades, true ); | |
| 543 | 494 | } |
| 544 | 495 | |
| 545 | - if ( is_array( $translation_upgrades ) ) { | |
| 546 | - $total_translation_upgrades += count( $translation_upgrades ); | |
| 547 | - } | |
| 496 | + $tally = MainWP_Common_Handler::tally_site_available_updates( $website, $userExtension, $decodedDismissedCores, $decodedPremiumUpgrades ); | |
| 548 | 497 | |
| 549 | - if ( is_array( $plugin_upgrades ) && ! $website->is_ignorePluginUpdates ) { | |
| 550 | - $_ignored_plugins = json_decode( $website->ignored_plugins, true ); | |
| 551 | - if ( is_array( $_ignored_plugins ) ) { | |
| 552 | - $plugin_upgrades = MainWP_Common_Functions::instance()->get_not_ignored_updates_themesplugins( $plugin_upgrades, $_ignored_plugins ); | |
| 553 | - } | |
| 554 | - | |
| 555 | - $_ignored_plugins = json_decode( $userExtension->ignored_plugins, true ); | |
| 556 | - if ( is_array( $_ignored_plugins ) ) { | |
| 557 | - $plugin_upgrades = MainWP_Common_Functions::instance()->get_not_ignored_updates_themesplugins( $plugin_upgrades, $_ignored_plugins ); | |
| 558 | - } | |
| 559 | - $total_plugin_upgrades += count( $plugin_upgrades ); | |
| 560 | - } | |
| 561 | - | |
| 562 | - if ( is_array( $theme_upgrades ) ) { | |
| 563 | - $_ignored_themes = json_decode( $website->ignored_themes, true ); | |
| 564 | - if ( is_array( $_ignored_themes ) ) { | |
| 565 | - $theme_upgrades = MainWP_Common_Functions::instance()->get_not_ignored_updates_themesplugins( $theme_upgrades, $_ignored_themes ); | |
| 566 | - } | |
| 567 | - | |
| 568 | - $_ignored_themes = json_decode( $userExtension->ignored_themes, true ); | |
| 569 | - if ( is_array( $_ignored_themes ) ) { | |
| 570 | - $theme_upgrades = MainWP_Common_Functions::instance()->get_not_ignored_updates_themesplugins( $theme_upgrades, $_ignored_themes ); | |
| 571 | - } | |
| 572 | - | |
| 573 | - $total_theme_upgrades += count( $theme_upgrades ); | |
| 574 | - } | |
| 498 | + $total_wp_upgrades += $tally['wp']; | |
| 499 | + $total_plugin_upgrades += $tally['plugins']; | |
| 500 | + $total_translation_upgrades += $tally['translations']; | |
| 501 | + $total_theme_upgrades += $tally['themes']; | |
| 502 | + $plugin_upgrades = $tally['plugin_upgrades']; | |
| 503 | + $theme_upgrades = $tally['theme_upgrades']; | |
| 504 | + $translation_upgrades = $tally['translation_upgrades']; | |
| 575 | 505 | |
| 576 | 506 | $themesIgnoredAbandoned_perSites = array(); |
| 577 | 507 | $ignoredAbandoned_themes = MainWP_DB::instance()->get_website_option( $website, 'themes_outdate_dismissed' ); |
| 578 | 508 | $ignoredAbandoned_themes = ! empty( $ignoredAbandoned_themes ) ? json_decode( $ignoredAbandoned_themes, true ) : array(); |