diff --git a/lib/installer.php b/lib/installer.php index db64d8e32d573bf2f27d30c53183b73fd001ea10..c5ecacae5446715fd4beb41a67c57865a16e9fed 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -104,6 +104,17 @@ class OC_Installer{ } //load the info.xml file of the app + if(!is_file($extractDir.'/appinfo/info.xml')){ + //try to find it in a subdir + $dh=opendir($extractDir); + while($folder=readdir($dh)){ + if(substr($folder,0,1)!='.' and is_dir($extractDir.'/'.$folder)){ + if(is_file($extractDir.'/'.$folder.'/appinfo/info.xml')){ + $extractDir.='/'.$folder; + } + } + } + } if(!is_file($extractDir.'/appinfo/info.xml')){ OC_Log::write('core','App does not provide an info.xml file',OC_Log::ERROR); OC_Helper::rmdirr($extractDir);