Skip to content
Snippets Groups Projects
Commit e047feb2 authored by Kamil Domanski's avatar Kamil Domanski
Browse files

install shipped apps also in "installed apps" page

parent ee0f1490
No related branches found
No related tags found
No related merge requests found
......@@ -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 );
}
}
?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment