Exemple #1
0
 /**
  * Get the version of this instance of Icinga Web 2
  *
  * @return array
  */
 public static function get()
 {
     $version = array('appVersion' => self::VERSION);
     if (false !== ($appVersion = @file_get_contents(Icinga::app()->getApplicationDir('VERSION')))) {
         $matches = array();
         if (@preg_match('/^(?P<gitCommitID>\\w+) (?P<gitCommitDate>\\S+)/', $appVersion, $matches)) {
             return array_merge($version, $matches);
         }
     }
     $gitDir = Icinga::app()->getBaseDir('.git');
     $gitHead = @file_get_contents($gitDir . DIRECTORY_SEPARATOR . 'HEAD');
     if (false !== $gitHead) {
         $matches = array();
         if (@preg_match('/(?<!.)ref:\\s+(.+?)$/ms', $gitHead, $matches)) {
             $gitCommitID = @file_get_contents($gitDir . DIRECTORY_SEPARATOR . $matches[1]);
         } else {
             $gitCommitID = $gitHead;
         }
         if (false !== $gitCommitID) {
             $matches = array();
             if (@preg_match('/(?<!.)(?P<gitCommitID>[0-9a-f]+)$/ms', $gitCommitID, $matches)) {
                 return array_merge($version, $matches);
             }
         }
     }
     return $version;
 }
Exemple #2
0
 /**
  * Get the version of this instance of Icinga Web 2
  *
  * @return array
  */
 public static function get()
 {
     $version = array('appVersion' => self::VERSION);
     if (false !== ($appVersion = @file_get_contents(Icinga::app()->getApplicationDir('VERSION')))) {
         $matches = array();
         if (@preg_match('/^(?P<gitCommitID>\\w+) (?P<gitCommitDate>\\S+)/', $appVersion, $matches)) {
             return array_merge($version, $matches);
         }
     }
     $gitCommitId = static::getGitHead(Icinga::app()->getBaseDir());
     if ($gitCommitId !== false) {
         $version['gitCommitID'] = $gitCommitId;
     }
     return $version;
 }
Exemple #3
0
 /**
  * Get the version of this instance of Icinga Web 2
  *
  * @return array|false array on success, false otherwise
  */
 public static function get()
 {
     if (false === ($appVersion = @file_get_contents(Icinga::app()->getApplicationDir() . DIRECTORY_SEPARATOR . 'VERSION'))) {
         return false;
     }
     $matches = array();
     if (false === ($res = preg_match('/(?<!.)\\s*(?P<gitCommitID>\\w+)(?:\\s*\\(.*?(?:(?<=[\\(,])\\s*tag\\s*:\\s*v(?P<appVersion>.+?)\\s*(?=[\\),]).*?)?\\))?\\s*(?P<gitCommitDate>\\S+)/ms', $appVersion, $matches)) || $res === 0) {
         return false;
     }
     foreach ($matches as $key => $value) {
         if (is_int($key) || $value === '') {
             unset($matches[$key]);
         }
     }
     return $matches;
 }