protected function createModuleDirectories(InputInterface $input, OutputInterface $output)
{
if ($this->modmanMode) {
$modManDir = $this->vendorNamespace . '_' . $this->moduleName . '/src';
if (file_exists($modManDir)) {
throw new RuntimeException('Module already exists. Stop.');
}
mkdir($modManDir, 0777, true);
$this->_magentoRootFolder = './' . $modManDir;
mkdir($this->_magentoRootFolder . '/app/etc/modules', 0777, true);
}
$moduleDir = sprintf('%s/app/code/%s/%s/%s', $this->_magentoRootFolder, $this->codePool, $this->vendorNamespace, $this->moduleName);
if (file_exists($moduleDir)) {
throw new RuntimeException('Module already exists. Stop.');
}
$this->moduleDirectory = $moduleDir;
mkdir($this->moduleDirectory, 0777, true);
$output->writeln('<info>Created directory: <comment>' . $this->moduleDirectory . '<comment></info>');
// Add etc folder
$this->createModuleDirectory('etc');
// Add controllers folder
if ($input->getOption('add-controllers')) {
$this->createModuleDirectory('controllers');
}
// Add blocks folder
if ($input->getOption('add-blocks')) {
$this->createModuleDirectory('Block');
}
// Add helpers folder
if ($input->getOption('add-helpers')) {
$this->createModuleDirectory('Helper');
}
// Add models folder
if ($input->getOption('add-models')) {
$this->createModuleDirectory('Model');
}
// Create SQL and Data folder
if ($input->getOption('add-setup')) {
$sqlSetupFolder = $this->moduleDirectory . '/sql/' . strtolower($this->vendorNamespace) . '_' . strtolower($this->moduleName) . '_setup';
mkdir($sqlSetupFolder, 0777, true);
$output->writeln('<info>Created directory: <comment>' . $sqlSetupFolder . '<comment></info>');
$dataSetupFolder = $this->moduleDirectory . '/data/' . strtolower($this->vendorNamespace) . '_' . strtolower($this->moduleName) . '_setup';
mkdir($dataSetupFolder, 0777, true);
$output->writeln('<info>Created directory: <comment>' . $dataSetupFolder . '<comment></info>');
}
}