# master-addons/3.1.2/inc/classes/upgrades.php

Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder &amp; Template Kits, version 3.1.2. 68 lines.

- Page: https://pluginprobe.com/plugins/master-addons/3.1.2/code/inc/classes/upgrades.php
- Raw: https://pluginprobe.com/plugins/master-addons/3.1.2/raw/inc/classes/upgrades.php
- Modified: 2026-03-08T11:32:50+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/master-addons/3.1.2/code/inc/classes/upgrades.php#L10-L20`.

```php
<?php

namespace MasterAddons\Inc\Classes;

class Upgrades
{

	/**
	 * Plugin version option key
	 *
	 * @var string $option_name
	 */
	protected $option_name = '_master_addons_version';

	/**
	 * Lists of upgrades
	 *
	 * @var string[] $upgrades
	 */
	protected $upgrades = [
		'2.0.8.9'   => 'Upgrades/upgrade-2.0.8.9.php',
		'3.0.0'     => 'Upgrades/upgrade-3.0.0.php',
	];

	/**
	 * Get plugin installed version
	 *
	 * @return string
	 */
	protected function get_installed_version()
	{
		return get_option($this->option_name, '1.0.0');
	}

	/**
	 * Check if plugin's update is available
	 *
	 * @return bool
	 */
	public function if_updates_available()
	{
		if (version_compare($this->get_installed_version(), JLTMA_VER, '<')) {
			return true;
		}

		return false;
	}

	/**
	 * Run plugin updates
	 *
	 * @return void
	 */
	public function run_updates()
	{
		$installed_version = $this->get_installed_version();
		$path              = trailingslashit(__DIR__);

		foreach ($this->upgrades as $version => $file) {
			if (version_compare($installed_version, $version, '<')) {
				include $path . $file;
			}
		}

		update_option( $this->option_name, JLTMA_VER );
	}
}

```
