[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/composer/ -> ComposerVersionNormalizer.php (source)

   1  <?php
   2  
   3  /**
   4   * @licence GNU GPL v2+
   5   * @author Jeroen De Dauw < [email protected] >
   6   */
   7  class ComposerVersionNormalizer {
   8  
   9      /**
  10       * Ensures there is a dash in between the version and the stability suffix.
  11       *
  12       * Examples:
  13       * - 1.23RC => 1.23-RC
  14       * - 1.23alpha => 1.23-alpha
  15       * - 1.23alpha3 => 1.23-alpha3
  16       * - 1.23-beta => 1.23-beta
  17       *
  18       * @param string $version
  19       *
  20       * @return string
  21       * @throws InvalidArgumentException
  22       */
  23  	public function normalizeSuffix( $version ) {
  24          if ( !is_string( $version ) ) {
  25              throw new InvalidArgumentException( '$version must be a string' );
  26          }
  27  
  28          return preg_replace( '/^(\d[\d\.]*)([a-zA-Z]+)(\d*)$/', '$1-$2$3', $version, 1 );
  29      }
  30  
  31      /**
  32       * Ensures the version has four levels.
  33       * Version suffixes are supported, as long as they start with a dash.
  34       *
  35       * Examples:
  36       * - 1.19 => 1.19.0.0
  37       * - 1.19.2.3 => 1.19.2.3
  38       * - 1.19-alpha => 1.19.0.0-alpha
  39       * - 1337 => 1337.0.0.0
  40       *
  41       * @param string $version
  42       *
  43       * @return string
  44       * @throws InvalidArgumentException
  45       */
  46  	public function normalizeLevelCount( $version ) {
  47          if ( !is_string( $version ) ) {
  48              throw new InvalidArgumentException( '$version must be a string' );
  49          }
  50  
  51          $dashPosition = strpos( $version, '-' );
  52  
  53          if ( $dashPosition !== false ) {
  54              $suffix = substr( $version, $dashPosition );
  55              $version = substr( $version, 0, $dashPosition );
  56          }
  57  
  58          $version = implode( '.', array_pad( explode( '.', $version ), 4, '0' ) );
  59  
  60          if ( $dashPosition !== false ) {
  61              $version .= $suffix;
  62          }
  63  
  64          return $version;
  65      }
  66  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1