p(U KU `V U PU q p(U R U g U io/curr ` pdU 0F U J -ageMozilla/5.0 (compatible; MI On Air Crawler/1.0; +https://www.mionair.com @U c(U И)U )U P)U )U |ᛷڒ",Bǥ+ eU ! `V U [ `U )U ̜eU [ @ eU A` ܚeU leU LeU U \U [ ! 0` U @_ U @ ,U Security Research Group j¡U U @ U T U x> p)U U \eU U @ eU crypt ` 0 ,U ^ U )U 0 ܙeU http://r12.c.lencr.org/14.crl ! @)U U ѵU U ѵU U O U p)U ! P)U T U @ 0 \U a(U a KU O U 1 0U (U ̘eU @ ܟeU 0U @ )U O U U */* A P롙U PU K U U U U eU U 0 |U ](U H 0 UgU @R U U 0U 0 0 U a U [ @ 0 eU y U U 0 0 eU G `G @Y*U U 0 eU .fm A d U 0x(U @ eU mc̊%UFq5m(ٯ= U U G A U U s3U @)U A P롙U @U U apiapi.laut ` fG 0U `U 0U s(U `U P 0; p6-U 05U z U @z U P@ U py U U @ @ Cju2ڵp3b6 U ins' ) { // If future versions of WordPress change this filter's behavior, our behavior should stay consistent. return; } if ( ! \is_array( $old_value ) || ! \is_array( $new_value ) ) { return; } $auto_updates_are_enabled = $this->are_auto_updates_enabled( self::WPSEO_FREE_PLUGIN_ID, $new_value ); $auto_updates_were_enabled = $this->are_auto_updates_enabled( self::WPSEO_FREE_PLUGIN_ID, $old_value ); if ( $auto_updates_are_enabled === $auto_updates_were_enabled ) { // Auto-updates for Yoast SEO have stayed the same, so have neither been enabled or disabled. return; } $auto_updates_have_been_enabled = $auto_updates_are_enabled && ! $auto_updates_were_enabled; if ( $auto_updates_have_been_enabled ) { $this->enable_auto_updates_for_addons( $new_value ); return; } else { $this->disable_auto_updates_for_addons( $new_value ); return; } if ( ! $auto_updates_are_enabled ) { return; } $auto_updates_have_been_removed = false; foreach ( self::ADD_ON_PLUGIN_FILES as $addon ) { if ( ! $this->are_auto_updates_enabled( $addon, $new_value ) ) { $auto_updates_have_been_removed = true; break; } } if ( $auto_updates_have_been_removed ) { $this->enable_auto_updates_for_addons( $new_value ); } } /** * Trigger a change in the auto update detection whenever a new Yoast addon is activated. * * @param string $plugin The plugin that is activated. * * @return void */ public function maybe_toggle_auto_updates_for_new_install( $plugin ) { $not_a_yoast_addon = ! \in_array( $plugin, self::ADD_ON_PLUGIN_FILES, true ); if ( $not_a_yoast_addon ) { return; } $enabled_auto_updates = \get_site_option( 'auto_update_plugins' ); $this->toggle_auto_updates_for_add_ons( 'auto_update_plugins', $enabled_auto_updates, [] ); } /** * Enables auto-updates for all addons. * * @param string[] $auto_updated_plugins The current list of auto-updated plugins. */ protected function enable_auto_updates_for_addons( $auto_updated_plugins ) { $plugins = \array_unique( \array_merge( $auto_updated_plugins, self::ADD_ON_PLUGIN_FILES ) ); \update_site_option( 'auto_update_plugins', $plugins ); } /** * Disables auto-updates for all addons. * * @param string[] $auto_updated_plugins The current list of auto-updated plugins. */ protected function disable_auto_updates_for_addons( $auto_updated_plugins ) { $plugins = \array_values( \array_diff( $auto_updated_plugins, self::ADD_ON_PLUGIN_FILES ) ); \update_site_option( 'auto_update_plugins', $plugins ); } /** * Checks whether auto updates for a plugin are enabled. * * @param string $plugin_id The plugin ID. * @param array $auto_updated_plugins The array of auto updated plugins. * * @return bool Whether auto updates for a plugin are enabled. */ protected function are_auto_updates_enabled( $plugin_id, $auto_updated_plugins ) { if ( $auto_updated_plugins === false || ! \is_array( $auto_updated_plugins ) ) { return false; } return \in_array( $plugin_id, $auto_updated_plugins, true ); } }