Merge pull request #22829 from owncloud/stable9-revert-22264-read-version-from-info.xml-only

[stable9] Revert "No longer evaluate appinfo/version"
This commit is contained in:
Thomas Müller 2016-03-04 08:55:52 +01:00
commit 4da858b3b7
6 changed files with 19 additions and 6 deletions

View File

@ -567,7 +567,7 @@ class OC_App {
} }
/** /**
* get the last version of the app from appinfo/info.xml * get the last version of the app, either from appinfo/version or from appinfo/info.xml
* *
* @param string $appId * @param string $appId
* @return string * @return string
@ -587,9 +587,14 @@ class OC_App {
* @return string * @return string
*/ */
public static function getAppVersionByPath($path) { public static function getAppVersionByPath($path) {
$versionFile = $path . '/appinfo/version';
$infoFile = $path . '/appinfo/info.xml'; $infoFile = $path . '/appinfo/info.xml';
$appData = self::getAppInfo($infoFile, true); if (is_file($versionFile)) {
return isset($appData['version']) ? $appData['version'] : ''; return trim(file_get_contents($versionFile));
} else {
$appData = self::getAppInfo($infoFile, true);
return isset($appData['version']) ? $appData['version'] : '';
}
} }

View File

@ -299,6 +299,9 @@ class AppManager implements IAppManager {
/** /**
* Returns the app information from "appinfo/info.xml". * Returns the app information from "appinfo/info.xml".
* *
* If no version was present in "appinfo/info.xml", reads it
* from the external "appinfo/version" file instead.
*
* @param string $appId app id * @param string $appId app id
* *
* @return array app iinfo * @return array app iinfo

View File

@ -389,11 +389,16 @@ class OC_Installer{
} }
// check if the ocs version is the same as the version in info.xml/version // check if the ocs version is the same as the version in info.xml/version
$version = trim($info['version']); $versionFile= $extractDir.'/appinfo/version';
if(is_file($versionFile)) {
$version = trim(file_get_contents($versionFile));
}else{
$version = trim($info['version']);
}
if(isset($data['appdata']['version']) && $version<>trim($data['appdata']['version'])) { if(isset($data['appdata']['version']) && $version<>trim($data['appdata']['version'])) {
OC_Helper::rmdirr($extractDir); OC_Helper::rmdirr($extractDir);
throw new \Exception($l->t("App can't be installed because the version in info.xml is not the same as the version reported from the app store")); throw new \Exception($l->t("App can't be installed because the version in info.xml/version is not the same as the version reported from the app store"));
} }
return $info; return $info;

View File

@ -142,7 +142,7 @@ class App {
} }
/** /**
* Get the last version of the app from appinfo/info.xml * Get the last version of the app, either from appinfo/version or from appinfo/info.xml
* @param string $app * @param string $app
* @return string * @return string
* @since 4.0.0 * @since 4.0.0

Binary file not shown.

Binary file not shown.