ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-16 22:01:21
Editing: Migration_1_3_0.php
Cancel
Save Changes
<?php /** * Migration for 1.3.0 * * @package Google\Site_Kit\Core\Util * @copyright 2021 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\Authentication\Clients\OAuth_Client; use Google\Site_Kit\Core\Storage\Options; use Google\Site_Kit\Core\Storage\User_Options; use Google\Site_Kit\Core\Tracking\Tracking_Consent; /** * Class Migration_1_3_0. * * @since 1.3.0 * @access private * @ignore */ class Migration_1_3_0 { /** * Target DB version. */ const DB_VERSION = '1.3.0'; /** * Context instance. * * @var Context */ protected $context; /** * Options instance. * * @var Options */ protected $options; /** * User_Options instance. * * @var User_Options */ protected $user_options; /** * Constructor. * * @since 1.3.0 * * @param Context $context Plugin context instance. * @param Options $options Optional. Options instance. * @param User_Options $user_options Optional. User_Options instance. */ public function __construct( Context $context, ?Options $options = null, ?User_Options $user_options = null ) { $this->context = $context; $this->options = $options ?: new Options( $context ); $this->user_options = $user_options ?: new User_Options( $context ); } /** * Registers hooks. * * @since 1.3.0 */ public function register() { add_action( 'admin_init', array( $this, 'migrate' ) ); } /** * Migrates the DB. * * @since 1.3.0 */ public function migrate() { $db_version = $this->options->get( 'googlesitekit_db_version' ); if ( ! $db_version || version_compare( $db_version, self::DB_VERSION, '<' ) ) { $this->migrate_tracking_opt_in(); $this->options->set( 'googlesitekit_db_version', self::DB_VERSION ); } } /** * Migrates the global tracking opt-in to a user option. * * @since 1.3.0 * @since 1.4.0 Migrates preference for up to 20 users. */ private function migrate_tracking_opt_in() { // Only migrate if tracking was opted-in. if ( $this->options->get( Tracking_Consent::OPTION ) ) { $backup_user_id = $this->user_options->get_user_id(); foreach ( $this->get_authenticated_users() as $user_id ) { $this->user_options->switch_user( $user_id ); $this->user_options->set( Tracking_Consent::OPTION, 1 ); } $this->user_options->switch_user( $backup_user_id ); } } /** * Gets the authenticated users connected to Site Kit. * * @since 1.4.0 * * @return string[] User IDs of authenticated users. Maximum of 20. */ private function get_authenticated_users() { return get_users( array( 'meta_key' => $this->user_options->get_meta_key( OAuth_Client::OPTION_ACCESS_TOKEN ), // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key 'meta_compare' => 'EXISTS', 'number' => 20, 'fields' => 'ID', ) ); } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete