MediaWiki
REL1_24
|
00001 <?php 00002 00007 class ComposerVersionNormalizer { 00008 00023 public function normalizeSuffix( $version ) { 00024 if ( !is_string( $version ) ) { 00025 throw new InvalidArgumentException( '$version must be a string' ); 00026 } 00027 00028 return preg_replace( '/^(\d[\d\.]*)([a-zA-Z]+)(\d*)$/', '$1-$2$3', $version, 1 ); 00029 } 00030 00046 public function normalizeLevelCount( $version ) { 00047 if ( !is_string( $version ) ) { 00048 throw new InvalidArgumentException( '$version must be a string' ); 00049 } 00050 00051 $dashPosition = strpos( $version, '-' ); 00052 00053 if ( $dashPosition !== false ) { 00054 $suffix = substr( $version, $dashPosition ); 00055 $version = substr( $version, 0, $dashPosition ); 00056 } 00057 00058 $version = implode( '.', array_pad( explode( '.', $version ), 4, '0' ) ); 00059 00060 if ( $dashPosition !== false ) { 00061 $version .= $suffix; 00062 } 00063 00064 return $version; 00065 } 00066 }