HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-59-generic #61-Ubuntu SMP PREEMPT_DYNAMIC Fri Apr 11 23:16:11 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /opt/wpsites/datainsightnow.com/wp-content/plugins/essential-blocks/includes/Core/Maintenance.php
<?php

namespace EssentialBlocks\Core;

use EssentialBlocks\Traits\HasSingletone;
use EssentialBlocks\Core\BlocksPatterns;

class Maintenance {
	use HasSingletone;

	public function __construct() {
		add_action( 'admin_init', array( $this, 'check_version' ), 5 );

		$this->init( ESSENTIAL_BLOCKS_PLUGIN_BASENAME );
	}

	public function check_version() {
		$_version        = get_option( 'essential_blocks_version' );
		$_code_version   = ESSENTIAL_BLOCKS_VERSION;
		$requires_update = version_compare( $_version, $_code_version, '<' );

		if ( $requires_update ) {
			// Update Related Works
			if ( ESSENTIAL_BLOCKS_WHATSNEW_REDIRECT != 'none' ) {
				set_transient( 'essential_block_maybe_whatsnew_redirect', true, MINUTE_IN_SECONDS * 10 );
			}

			// Version Updated in DB.
			$this->update_version();
            BlocksPatterns::get_instance()->update_cache();
		}
	}

	/**
	 * Update WC version to current.
	 */
	private function update_version() {
		update_option( 'essential_blocks_version', ESSENTIAL_BLOCKS_VERSION );
	}

	/**
	 * Init Maintenance
	 *
	 * @since 2.0.1
	 * @return void
	 */
	public function init( $plguin_basename ) {
		register_activation_hook( $plguin_basename, array( __CLASS__, 'activation' ) );
		register_uninstall_hook( $plguin_basename, array( __CLASS__, 'uninstall' ) );
	}

	/**
	 * Runs on activation
	 *
	 * @since 2.0.1
	 * @return void
	 */
	public static function activation() {
		update_option( 'essential_all_blocks', Blocks::defaults() );
	}

	/**
	 * Runs on uninstallation.
	 *
	 * @since 2.0.1
	 * @return void
	 */
	public static function uninstall() {

	}
}