/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/Utility
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/Utility/CommonOptionsTrait.php (3784B)
hasOption('plugin')) {
$plugin = $args->getOption('plugin');
$parts = explode('/', $plugin);
$this->plugin = implode('/', array_map([$this, '_camelize'], $parts));
if (strpos($this->plugin, '\\')) {
throw new InvalidArgumentException(
'Invalid plugin namespace separator, please use / instead of \ for plugins.'
);
}
}
$this->theme = $args->getOption('theme');
$this->connection = $args->getOption('connection');
$this->force = $args->getOption('force');
}
/**
* Get available bake themes
*
* @return array
*/
protected function _getBakeThemes(): array
{
$bakeThemes = [];
$templates = 'templates' . DS . 'bake';
foreach (Plugin::loaded() as $plugin) {
$path = Plugin::path($plugin);
if (is_dir($path . $templates)) {
$bakeThemes[] = $plugin;
}
}
return $bakeThemes;
}
/**
* Set common options used by all bake tasks.
*
* @param \Cake\Console\ConsoleOptionParser $parser Options parser.
* @return \Cake\Console\ConsoleOptionParser
*/
protected function _setCommonOptions(ConsoleOptionParser $parser): ConsoleOptionParser
{
$parser->addOption('plugin', [
'short' => 'p',
'help' => 'Plugin to bake into.',
])->addOption('force', [
'short' => 'f',
'boolean' => true,
'default' => 'false',
'help' => 'Force overwriting existing files without prompting.',
])->addOption('connection', [
'short' => 'c',
'default' => 'default',
'help' => 'The datasource connection to get data from.',
])->addOption('theme', [
'short' => 't',
'help' => 'The theme to use when baking code.',
'default' => Configure::read('Bake.theme') ?? '',
'choices' => $this->_getBakeThemes(),
]);
return $parser;
}
}