Example #1
0
 /**
  * Allows to check whether a version is in a range between two values.
  *
  * @param  string  $initialVersion
  * @param  string  $finalVersion
  * @param  array   $versions Item[]
  * @return Item[]
  */
 public static function between($initialVersion, $finalVersion, $versions)
 {
     $versions = self::sortAsc($versions);
     if (!is_object($initialVersion)) {
         $initialVersion = new self($initialVersion);
     }
     if (!is_object($finalVersion)) {
         $finalVersion = new self($finalVersion);
     }
     $betweenVersions = array();
     if ($initialVersion->getStamp() == $finalVersion->getStamp()) {
         return $betweenVersions;
         // nothing to do
     }
     if ($initialVersion->getStamp() < $finalVersion->getStamp()) {
         $versions = self::sortAsc($versions);
     } else {
         $versions = self::sortDesc($versions);
         list($initialVersion, $finalVersion) = array($finalVersion, $initialVersion);
     }
     foreach ($versions as $version) {
         /** @var Item $version */
         if ($version->getStamp() >= $initialVersion->getStamp() && $version->getStamp() <= $finalVersion->getStamp()) {
             $betweenVersions[] = $version;
         }
     }
     return $betweenVersions;
 }
Example #2
0
 /**
  * Allows to check whether a version is in a range between two values.
  *
  * @param	string $initialVersion
  * @param	string $finalVersion
  * @param	array $versions
  * @return	boolean
  */
 public static function between($initialVersion, $finalVersion, $versions)
 {
     if (!is_object($initialVersion)) {
         $initialVersion = new self($initialVersion);
     }
     if (!is_object($finalVersion)) {
         $finalVersion = new self($finalVersion);
     }
     if ($initialVersion->getStamp() > $finalVersion->getStamp()) {
         list($initialVersion, $finalVersion) = array($finalVersion, $initialVersion);
     }
     $betweenVersions = array();
     foreach ($versions as $version) {
         if ($version->getStamp() >= $initialVersion->getStamp() && $version->getStamp() <= $finalVersion->getStamp()) {
             $betweenVersions[] = $version;
         }
     }
     return self::sortAsc($betweenVersions);
 }