mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 11:06:15 +00:00
Make baking a plugin more user friendly.
Changed the text when the plugin already exists to indicate that the task stops intentionally. If there are folder errors - report them in the cli. Choose the last plugin path by default Modify the app's bootstrap file if it's not being (obviously) loaded already. This means it is now possible to do: Console/cake bake plugin MyPlugin Console/cake bake model MyPlugin.MyModel Previously the above would result in an error (which only if you know), you'd fix by editing your Config/bootstrap.php file by hand before retrying to bake your model.
This commit is contained in:
parent
f3464b002f
commit
488ba9ef85
1 changed files with 15 additions and 2 deletions
|
@ -53,8 +53,9 @@ class PluginTask extends AppShell {
|
|||
$plugin = Inflector::camelize($this->args[0]);
|
||||
$pluginPath = $this->_pluginPath($plugin);
|
||||
if (is_dir($pluginPath)) {
|
||||
$this->out(__d('cake_console', 'Plugin: %s', $plugin));
|
||||
$this->out(__d('cake_console', 'Plugin: %s already exists, no action taken', $plugin));
|
||||
$this->out(__d('cake_console', 'Path: %s', $pluginPath));
|
||||
return false;
|
||||
} else {
|
||||
$this->_interactive($plugin);
|
||||
}
|
||||
|
@ -127,6 +128,9 @@ class PluginTask extends AppShell {
|
|||
|
||||
$errors = $Folder->errors();
|
||||
if (!empty($errors)) {
|
||||
foreach ($errors as $message) {
|
||||
$this->error($message);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -144,8 +148,17 @@ class PluginTask extends AppShell {
|
|||
$out .= "}\n\n";
|
||||
$this->createFile($this->path . $plugin . DS . 'Model' . DS . $modelFileName, $out);
|
||||
|
||||
$bootstrap = new File(APP . 'Config' . DS . 'bootstrap.php', false);
|
||||
$contents = $bootstrap->read();
|
||||
if (!preg_match("@\n\s*CakePlugin::loadAll@", $contents)) {
|
||||
$bootstrap->append("CakePlugin::load('$plugin', array('bootstrap' => false, 'routes' => false));");
|
||||
$this->out('', 1, Shell::VERBOSE);
|
||||
$this->out(__d('cake_dev', '%s modified', APP . 'Config' . DS . 'bootstrap.php', 1, Shell::VERBOSE));
|
||||
}
|
||||
|
||||
$this->hr();
|
||||
$this->out(__d('cake_console', '<success>Created:</success> %s in %s', $plugin, $this->path . $plugin), 2);
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -170,7 +183,7 @@ class PluginTask extends AppShell {
|
|||
$this->out($i + 1 . '. ' . $option);
|
||||
}
|
||||
$prompt = __d('cake_console', 'Choose a plugin path from the paths above.');
|
||||
$choice = $this->in($prompt);
|
||||
$choice = $this->in($prompt, null, 1);
|
||||
if (intval($choice) > 0 && intval($choice) <= $max) {
|
||||
$valid = true;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue