2 namespace TYPO3\CMS\Core\Utility;
30 $versionParts = explode(
'.', $versionNumber);
31 return (
int)(((int)$versionParts[0] . str_pad((
int)$versionParts[1], 3,
'0', STR_PAD_LEFT)) . str_pad((
int)$versionParts[2], 3,
'0', STR_PAD_LEFT));
43 if (!is_int($versionInteger)) {
44 throw new \InvalidArgumentException(\TYPO3\CMS\Core\Utility\VersionNumberUtility::class .
'::convertIntegerToVersionNumber() supports an integer argument only!', 1334072223);
46 $versionString = str_pad($versionInteger, 9,
'0', STR_PAD_LEFT);
48 substr($versionString, 0, 3),
49 substr($versionString, 3, 3),
50 substr($versionString, 6, 3)
52 return (
int)$parts[0] .
'.' . (int)$parts[1] .
'.' . (
int)$parts[2];
67 $versionRange = array();
68 if (strstr($version,
'-')) {
69 $versionRange = explode(
'-', $version, 2);
71 $versionRange[0] = $version;
72 $versionRange[1] =
'';
74 if (!$versionRange[0]) {
75 $versionRange[0] =
'0.0.0';
77 if (!$versionRange[1]) {
78 $versionRange[1] =
'0.0.0';
91 $t3version = static::getCurrentTypo3Version();
92 $t3version = preg_replace(
'/-?(dev|alpha|beta|RC).*$/',
'', $t3version);
108 return TYPO3_version;
122 $versionsCount = count($versions);
123 for ($i = 0; $i < $versionsCount; $i++) {
125 $cleanedVersionCount = count($cleanedVersion);
126 for ($j = 0; $j < $cleanedVersionCount; $j++) {
129 $cleanedVersionString = implode(
'.', $cleanedVersion);
130 if (static::convertVersionNumberToInteger($cleanedVersionString) === 0) {
131 $cleanedVersionString =
'';
133 $versions[$i] = $cleanedVersionString;
152 $result[
'version'] = $parts[0] .
'.' . $parts[1] .
'.' . $parts[2];
153 $result[
'version_int'] = (int)($parts[0] * 1000000 + $parts[1] * 1000 + $parts[2]);
154 $result[
'version_main'] = $parts[0];
155 $result[
'version_sub'] = $parts[1];
156 $result[
'version_dev'] = $parts[2];
170 if (!in_array($raise, array(
'main',
'sub',
'dev'))) {
171 throw new \TYPO3\CMS\Core\Exception(
'RaiseVersionNumber expects one of "main", "sub" or "dev".', 1342639555);
177 switch ((
string)$raise) {
191 return $parts[0] .
'.' . $parts[1] .
'.' . $parts[2];