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));
42 if (!is_int($versionInteger)) {
43 throw new \InvalidArgumentException(
'TYPO3\\CMS\\Core\\Utility\\VersionNumberUtility::convertIntegerToVersionNumber() supports an integer argument only!', 1334072223);
45 $versionString = str_pad($versionInteger, 9,
'0', STR_PAD_LEFT);
47 substr($versionString, 0, 3),
48 substr($versionString, 3, 3),
49 substr($versionString, 6, 3)
51 return (
int)$parts[0] .
'.' . (int)$parts[1] .
'.' . (
int)$parts[2];
65 $versionRange = array();
66 if (strstr($version,
'-')) {
67 $versionRange = explode(
'-', $version, 2);
69 $versionRange[0] = $version;
70 $versionRange[1] =
'';
72 if (!$versionRange[0]) {
73 $versionRange[0] =
'0.0.0';
75 if (!$versionRange[1]) {
76 $versionRange[1] =
'0.0.0';
88 $t3version = static::getCurrentTypo3Version();
89 $t3version = preg_replace(
'/-?(dev|alpha|beta|RC).*$/',
'', $t3version);
104 return TYPO3_version;
117 $versionsCount = count($versions);
118 for ($i = 0; $i < $versionsCount; $i++) {
120 $cleanedVersionCount = count($cleanedVersion);
121 for ($j = 0; $j < $cleanedVersionCount; $j++) {
124 $cleanedVersionString = implode(
'.', $cleanedVersion);
125 if (static::convertVersionNumberToInteger($cleanedVersionString) === 0) {
126 $cleanedVersionString =
'';
128 $versions[$i] = $cleanedVersionString;
146 $result[
'version'] = $parts[0] .
'.' . $parts[1] .
'.' . $parts[2];
147 $result[
'version_int'] = (int)($parts[0] * 1000000 + $parts[1] * 1000 + $parts[2]);
148 $result[
'version_main'] = $parts[0];
149 $result[
'version_sub'] = $parts[1];
150 $result[
'version_dev'] = $parts[2];
163 if (!in_array($raise, array(
'main',
'sub',
'dev'))) {
164 throw new \TYPO3\CMS\Core\Exception(
'RaiseVersionNumber expects one of "main", "sub" or "dev".', 1342639555);
170 switch ((
string) $raise) {
184 return $parts[0] .
'.' . $parts[1] .
'.' . $parts[2];
static forceIntegerInRange($theInt, $min, $max=2000000000, $defaultValue=0)
static intExplode($delimiter, $string, $removeEmptyValues=FALSE, $limit=0)
static convertVersionsStringToVersionNumbers($versionsString)
static trimExplode($delim, $string, $removeEmptyValues=FALSE, $limit=0)
static raiseVersionNumber($raise, $version)
static convertVersionStringToArray($version)
static splitVersionRange($version)
if($list_of_literals) if(!empty($literals)) if(!empty($literals)) $result
Analyse literals to prepend the N char to them if their contents aren't numeric.
static convertVersionNumberToInteger($versionNumber)
static getCurrentTypo3Version()
static convertIntegerToVersionNumber($versionInteger)
static getNumericTypo3Version()