/**
* @param array $uninstall
* @return bool
*/
public function uninstall($uninstall)
{
foreach ((array) $uninstall as $name) {
if (!($package = App::package($name))) {
throw new \RuntimeException(__('Unable to find "%name%".', ['%name%' => $name]));
}
$this->disable($package);
$this->getScripts($package)->uninstall();
App::config('system')->remove('packages.' . $package->get('module'));
if ($this->composer->isInstalled($package->getName())) {
$this->composer->uninstall($package->getName());
} else {
if (!($path = $package->get('path'))) {
throw new \RuntimeException(__('Package path is missing.'));
}
$this->output->writeln(__("Removing package folder."));
App::file()->delete($path);
@rmdir(dirname($path));
}
}
}