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,29 +57,11 @@ class OC_APP{
} }
// The rest comes here // The rest comes here
$dir = opendir( "$SERVERROOT/apps" ); $apps = OC_APPCONFIG::getApps();
while( false !== ( $filename = readdir( $dir ))){ foreach( $apps as $app ){
if( substr( $filename, 0, 1 ) != '.' and is_dir("$SERVERROOT/apps/$filename") ){ require( "apps/$app/appinfo/app.php" );
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" );
}
}
}
closedir( $dir );
self::$init = true; self::$init = true;
// return // return

View File

@ -31,6 +31,7 @@ else {
class OC_SETUP { class OC_SETUP {
public static function install($options) { public static function install($options) {
global $SERVERROOT;
$error = array(); $error = array();
$dbtype = $options['dbtype']; $dbtype = $options['dbtype'];
@ -133,6 +134,21 @@ class OC_SETUP {
OC_GROUP::createGroup('admin'); OC_GROUP::createGroup('admin');
OC_GROUP::addToGroup($username, '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 //create htaccess files for apache hosts
self::createHtaccess(); //TODO detect if apache is used self::createHtaccess(); //TODO detect if apache is used