mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
install shipped apps also in "installed apps" page
This commit is contained in:
parent
ee0f1490e1
commit
e047feb2ad
3 changed files with 42 additions and 27 deletions
|
|
@ -22,6 +22,7 @@
|
|||
*/
|
||||
|
||||
require_once('../lib/base.php');
|
||||
include_once('../lib/installer.php');
|
||||
require( 'template.php' );
|
||||
if( !OC_USER::isLoggedIn() || !OC_GROUP::inGroup( $_SESSION['user_id'], 'admin' )){
|
||||
header( "Location: ".OC_HELPER::linkTo( "", "index.php" ));
|
||||
|
|
@ -42,6 +43,8 @@ if($installed){
|
|||
$apps = OC_APPCONFIG::getApps();
|
||||
$records = array();
|
||||
|
||||
OC_INSTALLER::installShippedApps(false);
|
||||
|
||||
OC_APP::setActiveNavigationEntry( "core_apps_installed" );
|
||||
foreach($apps as $app){
|
||||
$info=OC_APP::getAppInfo("$SERVERROOT/apps/$app/appinfo/info.xml");
|
||||
|
|
|
|||
|
|
@ -236,4 +236,42 @@ class OC_INSTALLER{
|
|||
// TODO: write function
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Installs shipped apps
|
||||
* @param $enabled
|
||||
*
|
||||
* This function installs all apps found in the 'apps' directory;
|
||||
* If $enabled is true, apps are installed as enabled.
|
||||
* If $enabled is false, apps are installed as disabled.
|
||||
*/
|
||||
public static function installShippedApps( $enabled ){
|
||||
global $SERVERROOT;
|
||||
$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_INSTALLER::isInstalled($filename)){
|
||||
//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=OC_APP::getAppInfo("$SERVERROOT/apps/$filename/appinfo/info.xml");
|
||||
OC_APPCONFIG::setValue($filename,'installed_version',$info['version']);
|
||||
if( $enabled ){
|
||||
OC_APPCONFIG::setValue($filename,'enabled','yes');
|
||||
}else{
|
||||
OC_APPCONFIG::setValue($filename,'enabled','no');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir( $dir );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ class OC_SETUP {
|
|||
OC_GROUP::addToGroup($username, 'admin');
|
||||
|
||||
//guess what this does
|
||||
self::installShippedApps();
|
||||
OC_INSTALLER::installShippedApps(true);
|
||||
|
||||
//create htaccess files for apache hosts
|
||||
self::createHtaccess(); //TODO detect if apache is used
|
||||
|
|
@ -186,32 +186,6 @@ class OC_SETUP {
|
|||
$content = "deny from all";
|
||||
file_put_contents(OC_CONFIG::getValue('datadirectory', $SERVERROOT.'/data').'/.htaccess', $content);
|
||||
}
|
||||
|
||||
private static function installShippedApps(){
|
||||
global $SERVERROOT;
|
||||
$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_INSTALLER::isInstalled($filename)){
|
||||
//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=OC_APP::getAppInfo("$SERVERROOT/apps/$filename/appinfo/info.xml");
|
||||
OC_APPCONFIG::setValue($filename,'installed_version',$info['version']);
|
||||
OC_APPCONFIG::setValue($filename,'enabled','yes');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir( $dir );
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
Loading…
Reference in a new issue