HEX
Server: Apache/2.4.65 (Unix) OpenSSL/1.1.1k
System: Linux server-manager.elshandawiily.com 4.18.0-553.87.1.el8_10.x86_64 #1 SMP Mon Dec 1 05:11:16 EST 2025 x86_64
User: elshanda (1002)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/elshanda/biz.elshandawiily.com/wp-content/plugins/leadin/public/utils/class-versions.php
<?php

namespace Leadin\utils;

/**
 * Static class containing all the utility functions related to versioning.
 */
class Versions {
	/**
	 * Return the given version until the patch version
	 * eg: 6.4.2.1-beta => 6.4.2
	 *
	 * @param String $version version.
	 */
	private static function parse_version( $version ) {
		preg_match( '/^\d+(\.\d+){0,2}/', $version, $match );
		if ( empty( $match ) ) {
			return '';
		}
		return $match[0];
	}

	/**
	 * Return the current WordPress version.
	 */
	public static function get_wp_version() {
		global $wp_version;
		return self::parse_version( $wp_version );
	}

	/**
	 * Return the current PHP version.
	 */
	public static function get_php_version() {
		return self::parse_version( phpversion() );
	}

	/**
	 * Return true if the current PHP version is not supported.
	 */
	public static function is_php_version_not_supported() {
		return version_compare( phpversion(), LEADIN_REQUIRED_PHP_VERSION, '<' );
	}

	/**
	 * Return true if the current WordPress version is not supported.
	 */
	public static function is_wp_version_not_supported() {
		global $wp_version;
		return version_compare( $wp_version, LEADIN_REQUIRED_WP_VERSION, '<' );
	}

	/**
	 * Return true if a given version is less than the supported version
	 *
	 * @param String $version Given version to check.
	 * @param String $version_to_compare The version number to test the given version against.
	 */
	public static function is_version_less_than( $version, $version_to_compare ) {
		return version_compare( $version, $version_to_compare, '<' );
	}
}