<?php
/**
 * Lead Connector Migrator
 * Copyright (C) 2025 Lead Connector
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

if (!defined('ABSPATH')) {
	die('Well Sir You Cannot Jump Here...haha');
}

class Lcm_Compatibility
{

	/**
	 * Check extension compatibility for export/import.
	 *
	 * LCM does not use the premium extension registry, so this
	 * returns no blocking messages by default.
	 *
	 * @param  array $params Request parameters
	 * @return array
	 */
	public static function get($params)
	{
		$messages = array();

		return apply_filters('lcm_compatibility_messages', $messages, $params);
	}

	/**
	 * Check whether a single extension is compatible.
	 *
	 * @param  array $extension Extension metadata
	 * @return bool
	 */
	public static function check($extension)
	{
		if (isset($extension['version']) && $extension['version'] === 'develop') {
			return true;
		}

		if (isset($extension['version'], $extension['requires'])) {
			return version_compare($extension['version'], $extension['requires'], '>=');
		}

		return true;
	}
}
