30 $versionParts = explode(
'.', $versionNumber);
31 $version = $versionParts[0];
32 for ($i = 1; $i < 3; $i++) {
33 if (!empty($versionParts[$i])) {
34 $version .= str_pad((
int)$versionParts[$i], 3,
'0', STR_PAD_LEFT);
51 if (!is_int($versionInteger)) {
52 throw new \InvalidArgumentException(\
TYPO3\CMS\Core\Utility\VersionNumberUtility::class .
'::convertIntegerToVersionNumber() supports an integer argument only!', 1334072223);
54 $versionString = str_pad($versionInteger, 9,
'0', STR_PAD_LEFT);
56 substr($versionString, 0, 3),
57 substr($versionString, 3, 3),
58 substr($versionString, 6, 3)
60 return (
int)$parts[0] .
'.' . (int)$parts[1] .
'.' . (
int)$parts[2];
76 if (strstr($version,
'-')) {
77 $versionRange = explode(
'-', $version, 2);
79 $versionRange[0] = $version;
80 $versionRange[1] =
'';
82 if (!$versionRange[0]) {
83 $versionRange[0] =
'0.0.0';
85 if (!$versionRange[1]) {
86 $versionRange[1] =
'0.0.0';
99 $t3version = static::getCurrentTypo3Version();
100 $t3version = preg_replace(
'/-?(dev|alpha|beta|RC).*$/',
'', $t3version);
101 $parts = GeneralUtility::intExplode(
'.', $t3version .
'..');
116 return TYPO3_version;
129 $versions = GeneralUtility::trimExplode(
'-', $versionsString);
130 $versionsCount = count($versions);
131 for ($i = 0; $i < $versionsCount; $i++) {
132 $cleanedVersion = GeneralUtility::trimExplode(
'.', $versions[$i]);
133 $cleanedVersionCount = count($cleanedVersion);
134 for ($j = 0; $j < $cleanedVersionCount; $j++) {
137 $cleanedVersionString = implode(
'.', $cleanedVersion);
138 if (static::convertVersionNumberToInteger($cleanedVersionString) === 0) {
139 $cleanedVersionString =
'';
141 $versions[$i] = $cleanedVersionString;
155 $parts = GeneralUtility::intExplode(
'.', $version .
'..');
160 $result[
'version'] = $parts[0] .
'.' . $parts[1] .
'.' . $parts[2];
161 $result[
'version_int'] = (int)($parts[0] * 1000000 + $parts[1] * 1000 + $parts[2]);
162 $result[
'version_main'] = $parts[0];
163 $result[
'version_sub'] = $parts[1];
164 $result[
'version_dev'] = $parts[2];
178 if (!in_array($raise, [
'main',
'sub',
'dev'])) {
179 throw new \TYPO3\CMS\Core\Exception(
'RaiseVersionNumber expects one of "main", "sub" or "dev".', 1342639555);
181 $parts = GeneralUtility::intExplode(
'.', $version .
'..');
185 switch ((
string)$raise) {
199 return $parts[0] .
'.' . $parts[1] .
'.' . $parts[2];