| 830 | |
| 831 | if (!function_exists('fr_pro_api_level_from_version')) { |
| 832 | function fr_pro_api_level_from_version(?string $version): int |
| 833 | { |
| 834 | $v = trim((string)$version); |
| 835 | if ($v === '') return 0; |
| 836 | $v = ltrim($v, "vV"); |
| 837 | $parts = explode('.', $v); |
| 838 | $major = (isset($parts[0]) && ctype_digit($parts[0])) ? (int)$parts[0] : 0; |
| 839 | $minor = (isset($parts[1]) && ctype_digit($parts[1])) ? (int)$parts[1] : 0; |
| 840 | if ($major <= 0) return 0; |
| 841 | if ($major === 1) { |
| 842 | return max(0, $minor); |
| 843 | } |
| 844 | return ($major * 100) + max(0, $minor); |
| 845 | } |
| 846 | } |
| 847 | |
| 848 | if (!defined('FR_PRO_API_LEVEL')) { |