# weforms/1.6.1/includes/class-upgrades.php

weForms – Easy Drag &amp; Drop Contact Form Builder For WordPress, version 1.6.1. 64 lines.

- Page: https://pluginprobe.com/plugins/weforms/1.6.1/code/includes/class-upgrades.php
- Raw: https://pluginprobe.com/plugins/weforms/1.6.1/raw/includes/class-upgrades.php
- Modified: 2020-10-20T13:26:26+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/weforms/1.6.1/code/includes/class-upgrades.php#L10-L20`.

```php
<?php

/**
 * Plugin Upgrade Routine
 *
 * @since 1.1.2
 */
class WeForms_Upgrades {

    /**
     * The upgrades
     *
     * @var array
     */
    private static $upgrades = [];

    /**
     * Get the plugin version
     *
     * @return string
     */
    public function get_version() {
        return get_option( 'weforms_version' );
    }

    /**
     * Check if the plugin needs any update
     *
     * @return bool
     */
    public function needs_update() {

        // may be it's the first install
        if ( !$this->get_version() ) {
            return false;
        }

        if ( version_compare( $this->get_version(), WEFORMS_VERSION, '<' ) ) {
            return true;
        }

        return false;
    }

    /**
     * Perform all the necessary upgrade routines
     *
     * @return void
     */
    public function perform_updates() {
        $installed_version = $this->get_version();
        $path              = trailingslashit( __DIR__ );

        foreach ( self::$upgrades as $version => $file ) {
            if ( version_compare( $installed_version, $version, '<' ) ) {
                include $path . $file;
                update_option( 'weforms_version', $version );
            }
        }

        update_option( 'weforms_version', WEFORMS_VERSION );
    }
}

```
