🔐 Sid Gifari File Manager Pro
v8.0.5 | 2026-08-07 16:15:19 | PHP 8.2.32
📂
/ (Root)
/
home
/
eliteewa
/
public_html
/
wp-content
/
plugins
/
google-site-kit
/
includes
/
Core
/
Util
📍 /home/eliteewa/public_html/wp-content/plugins/google-site-kit/includes/Core/Util
🔄 Refresh
✏️
Editing: Migration_1_123_0.php
Writable
<?php /** * Migration for 1.123.0 * * @package Google\Site_Kit\Core\Util * @copyright 2024 Google LLC * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * @link https://sitekit.withgoogle.com */ namespace Google\Site_Kit\Core\Util; use Google\Site_Kit\Context; use Google\Site_Kit\Core\Modules\Module_Sharing_Settings; use Google\Site_Kit\Core\Modules\Modules; use Google\Site_Kit\Core\Storage\Options; use Google\Site_Kit\Modules\Analytics_4; use Google\Site_Kit\Modules\Analytics_4\Settings as Analytics_Settings; /** * Class Migration_1_123_0 * * @since 1.123.0 * @access private * @ignore */ class Migration_1_123_0 { /** * Target DB version. */ const DB_VERSION = '1.123.0'; /** * DB version option name. */ const DB_VERSION_OPTION = 'googlesitekit_db_version'; /** * Legacy analytics module slug. */ const LEGACY_ANALYTICS_MODULE_SLUG = 'analytics'; /** * Legacy analytics option name. */ const LEGACY_ANALYTICS_OPTION = 'googlesitekit_analytics_settings'; /** * Context instance. * * @since 1.123.0 * @var Context */ protected $context; /** * Options instance. * * @since 1.123.0 * @var Options */ protected $options; /** * Analytics_Settings instance. * * @since 1.123.0 * @var Analytics_Settings */ protected $analytics_settings; /** * Constructor. * * @since 1.123.0 * * @param Context $context Plugin context instance. * @param Options $options Optional. Options instance. */ public function __construct( Context $context, ?Options $options = null ) { $this->context = $context; $this->options = $options ?: new Options( $context ); $this->analytics_settings = new Analytics_Settings( $this->options ); } /** * Registers hooks. * * @since 1.123.0 */ public function register() { add_action( 'admin_init', array( $this, 'migrate' ) ); } /** * Migrates the DB. * * @since 1.123.0 */ public function migrate() { $db_version = $this->options->get( self::DB_VERSION_OPTION ); if ( ! $db_version || version_compare( $db_version, self::DB_VERSION, '<' ) ) { $this->migrate_legacy_analytics_settings(); $this->activate_analytics(); $this->migrate_legacy_analytics_sharing_settings(); $this->options->set( self::DB_VERSION_OPTION, self::DB_VERSION ); } } /** * Migrates the legacy analytics settings over to analytics-4. * * @since 1.123.0 */ protected function migrate_legacy_analytics_settings() { if ( ! $this->analytics_settings->has() ) { return; } $legacy_settings = $this->options->get( self::LEGACY_ANALYTICS_OPTION ); if ( empty( $legacy_settings ) ) { return; } $recovered_settings = array(); $options_to_migrate = array( 'accountID', 'adsConversionID', 'trackingDisabled', ); array_walk( $options_to_migrate, function ( $setting ) use ( &$recovered_settings, $legacy_settings ) { $recovered_settings[ $setting ] = $legacy_settings[ $setting ]; } ); if ( ! empty( $recovered_settings ) ) { $this->analytics_settings->merge( $recovered_settings ); } } /** * Activates the analytics-4 module if the legacy analytics module was active. * * @since 1.123.0 */ protected function activate_analytics() { $option = $this->options->get( Modules::OPTION_ACTIVE_MODULES ); // Check legacy option. if ( ! is_array( $option ) ) { $option = $this->options->get( 'googlesitekit-active-modules' ); } if ( ! is_array( $option ) ) { return; } $analytics_active = in_array( Analytics_4::MODULE_SLUG, $option, true ); // If analytics-4 is already active, bail. if ( $analytics_active ) { return; } $legacy_analytics_active = in_array( self::LEGACY_ANALYTICS_MODULE_SLUG, $option, true ); if ( $legacy_analytics_active ) { $option[] = Analytics_4::MODULE_SLUG; $this->options->set( Modules::OPTION_ACTIVE_MODULES, $option ); } } /** * Replicates sharing settings from the legacy analytics module to analytics-4. * * @since 1.123.0 */ protected function migrate_legacy_analytics_sharing_settings() { $option = $this->options->get( Module_Sharing_Settings::OPTION ); if ( ! is_array( $option ) ) { return; } // If sharing settings for analytics-4 already exist, bail. if ( isset( $option[ Analytics_4::MODULE_SLUG ] ) ) { return; } if ( isset( $option[ self::LEGACY_ANALYTICS_MODULE_SLUG ] ) ) { $option[ Analytics_4::MODULE_SLUG ] = $option[ self::LEGACY_ANALYTICS_MODULE_SLUG ]; $this->options->set( Module_Sharing_Settings::OPTION, $option ); } } }
💾 Save Changes
❌ Cancel