public function deleteModule($module, $path = '.', $recursive = false)
{
$application = (require sprintf('%s/config/application.config.php', $path));
if (!is_array($application) || !isset($application['modules']) || !in_array($module, $application['modules'], true)) {
// Module does not exist in configuration; nothing to do
return true;
}
$modules = array_filter($application['modules'], function ($value) use($module) {
return $module !== $value;
});
$application['modules'] = $modules;
if (!$this->writeApplicationConfig($application, $path)) {
// error writing application config
return false;
}
if (!$recursive) {
// Not a recursive deletion? done
return true;
}
$modulePath = sprintf('%s/module/%s', $path, $module);
if (!file_exists($modulePath)) {
// module path does not exist; we can be done.
return true;
}
Utility::recursiveDelete($modulePath);
return true;
}