move installation of shipped apps to setup

This commit is contained in:
Kamil Domanski 2011-06-19 00:55:19 +02:00
parent 97ab331b2a
commit 1cab3ca92c
2 changed files with 19 additions and 21 deletions

View File

@ -57,28 +57,10 @@ class OC_APP{
}
// The rest comes here
$dir = opendir( "$SERVERROOT/apps" );
while( false !== ( $filename = readdir( $dir ))){
if( substr( $filename, 0, 1 ) != '.' and is_dir("$SERVERROOT/apps/$filename") ){
if( file_exists( "$SERVERROOT/apps/$filename/appinfo/app.php" )){
if(OC_APPCONFIG::getValue($filename,'installed_version',0)==0){ //check if the plugin is fully installed
//install the database
if(is_file("$SERVERROOT/apps/$filename/appinfo/database.xml")){
OC_DB::createDbFromStructure("$SERVERROOT/apps/$filename/appinfo/database.xml");
}
//run appinfo/install.php
if(is_file("$SERVERROOT/apps/$filename/appinfo/install.php")){
include("$SERVERROOT/apps/$filename/appinfo/install.php");
}
$info=self::getAppInfo("$SERVERROOT/apps/$filename/appinfo/info.xml");
OC_APPCONFIG::setValue($filename,'installed_version',$info['version']);
}
require( "apps/$filename/appinfo/app.php" );
}
}
$apps = OC_APPCONFIG::getApps();
foreach( $apps as $app ){
require( "apps/$app/appinfo/app.php" );
}
closedir( $dir );
self::$init = true;

View File

@ -31,6 +31,7 @@ else {
class OC_SETUP {
public static function install($options) {
global $SERVERROOT;
$error = array();
$dbtype = $options['dbtype'];
@ -133,6 +134,21 @@ class OC_SETUP {
OC_GROUP::createGroup('admin');
OC_GROUP::addToGroup($username, 'admin');
foreach( array( "files_imageviewer", "files_publiclink" ) as $app ){
if(is_file("$SERVERROOT/apps/$app/appinfo/database.xml")){
OC_DB::createDbFromStructure("$SERVERROOT/apps/$app/appinfo/database.xml");
}
//run appinfo/install.php
if(is_file("$SERVERROOT/apps/$app/appinfo/install.php")){
include("$SERVERROOT/apps/$app/appinfo/install.php");
}
$info=OC_APP::getAppInfo("$SERVERROOT/apps/$app/appinfo/info.xml");
OC_APPCONFIG::setValue($app,'installed_version',$info['version']);
}
//create htaccess files for apache hosts
self::createHtaccess(); //TODO detect if apache is used