Merge pull request #21730 from owncloud/fix-install-of-shipped-apps

Fix installation of shipped apps
This commit is contained in:
Thomas Müller 2016-01-15 14:33:40 +01:00
commit fcec704174
1 changed files with 22 additions and 9 deletions

View File

@ -38,6 +38,9 @@
* *
*/ */
use OC\App\CodeChecker\CodeChecker;
use OC\App\CodeChecker\EmptyCheck;
use OC\App\CodeChecker\PrivateCheck;
use OC\OCSClient; use OC\OCSClient;
/** /**
@ -128,8 +131,8 @@ class OC_Installer{
} }
//run appinfo/install.php //run appinfo/install.php
if((!isset($data['noinstall']) or $data['noinstall']==false) and file_exists($basedir.'/appinfo/install.php')) { if((!isset($data['noinstall']) or $data['noinstall']==false)) {
include $basedir.'/appinfo/install.php'; self::includeAppScript($basedir . '/appinfo/install.php');
} }
//set the installed version //set the installed version
@ -560,15 +563,16 @@ class OC_Installer{
*/ */
public static function installShippedApp($app) { public static function installShippedApp($app) {
//install the database //install the database
if(is_file(OC_App::getAppPath($app)."/appinfo/database.xml")) { $appPath = OC_App::getAppPath($app);
OC_DB::createDbFromStructure(OC_App::getAppPath($app)."/appinfo/database.xml"); if(is_file("$appPath/appinfo/database.xml")) {
OC_DB::createDbFromStructure("$appPath/appinfo/database.xml");
} }
//run appinfo/install.php //run appinfo/install.php
if(is_file(OC_App::getAppPath($app)."/appinfo/install.php")) { \OC::$loader->addValidRoot($appPath);
include OC_App::getAppPath($app)."/appinfo/install.php"; self::includeAppScript("$appPath/appinfo/install.php");
}
$info=OC_App::getAppInfo($app); $info = OC_App::getAppInfo($app);
if (is_null($info)) { if (is_null($info)) {
return false; return false;
} }
@ -604,9 +608,18 @@ class OC_Installer{
return true; return true;
} }
$codeChecker = new \OC\App\CodeChecker(); $codeChecker = new CodeChecker(new PrivateCheck(new EmptyCheck()));
$errors = $codeChecker->analyseFolder($folder); $errors = $codeChecker->analyseFolder($folder);
return empty($errors); return empty($errors);
} }
/**
* @param $basedir
*/
private static function includeAppScript($script) {
if ( file_exists($script) ){
include $script;
}
}
} }