/** * 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; }
/** * 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; }
/** * 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; }