pictcode / lib / Cake / Console / Command / Task / BakeTask.php @ 1a69c38c
履歴 | 表示 | アノテート | ダウンロード (2.003 KB)
| 1 | 635eef61 | spyder1211 | <?php
 | 
      
|---|---|---|---|
| 2 | /**
 | 
      ||
| 3 |  * Base class for Bake Tasks.
 | 
      ||
| 4 |  *
 | 
      ||
| 5 |  * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 | 
      ||
| 6 |  * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 | 
      ||
| 7 |  *
 | 
      ||
| 8 |  * Licensed under The MIT License
 | 
      ||
| 9 |  * For full copyright and license information, please see the LICENSE.txt
 | 
      ||
| 10 |  * Redistributions of files must retain the above copyright notice.
 | 
      ||
| 11 |  *
 | 
      ||
| 12 |  * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 | 
      ||
| 13 |  * @link          http://cakephp.org CakePHP(tm) Project
 | 
      ||
| 14 |  * @since         CakePHP(tm) v 1.3
 | 
      ||
| 15 |  * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 | 
      ||
| 16 |  */
 | 
      ||
| 17 | |||
| 18 | App::uses('AppShell', 'Console/Command');  | 
      ||
| 19 | |||
| 20 | /**
 | 
      ||
| 21 |  * Base class for Bake Tasks.
 | 
      ||
| 22 |  *
 | 
      ||
| 23 |  * @package       Cake.Console.Command.Task
 | 
      ||
| 24 |  */
 | 
      ||
| 25 | class BakeTask extends AppShell {  | 
      ||
| 26 | |||
| 27 | /**
 | 
      ||
| 28 |  * Name of plugin
 | 
      ||
| 29 |  *
 | 
      ||
| 30 |  * @var string
 | 
      ||
| 31 |  */
 | 
      ||
| 32 | public $plugin = null;  | 
      ||
| 33 | |||
| 34 | /**
 | 
      ||
| 35 |  * The db connection being used for baking
 | 
      ||
| 36 |  *
 | 
      ||
| 37 |  * @var string
 | 
      ||
| 38 |  */
 | 
      ||
| 39 | public $connection = null;  | 
      ||
| 40 | |||
| 41 | /**
 | 
      ||
| 42 |  * Flag for interactive mode
 | 
      ||
| 43 |  *
 | 
      ||
| 44 |  * @var bool
 | 
      ||
| 45 |  */
 | 
      ||
| 46 | public $interactive = false;  | 
      ||
| 47 | |||
| 48 | /**
 | 
      ||
| 49 |  * Disable caching and enable debug for baking.
 | 
      ||
| 50 |  * This forces the most current database schema to be used.
 | 
      ||
| 51 |  *
 | 
      ||
| 52 |  * @return void
 | 
      ||
| 53 |  */
 | 
      ||
| 54 | public function startup() {  | 
      ||
| 55 | Configure::write('debug', 2);  | 
      ||
| 56 | Configure::write('Cache.disable', 1);  | 
      ||
| 57 |                 parent::startup();
 | 
      ||
| 58 | }  | 
      ||
| 59 | |||
| 60 | /**
 | 
      ||
| 61 |  * Gets the path for output. Checks the plugin property
 | 
      ||
| 62 |  * and returns the correct path.
 | 
      ||
| 63 |  *
 | 
      ||
| 64 |  * @return string Path to output.
 | 
      ||
| 65 |  */
 | 
      ||
| 66 | public function getPath() {  | 
      ||
| 67 | $path = $this->path;  | 
      ||
| 68 | if (isset($this->plugin)) {  | 
      ||
| 69 | $path = $this->_pluginPath($this->plugin) . $this->name . DS;  | 
      ||
| 70 | }  | 
      ||
| 71 | return $path;  | 
      ||
| 72 | }  | 
      ||
| 73 | |||
| 74 | /**
 | 
      ||
| 75 |  * Base execute method parses some parameters and sets some properties on the bake tasks.
 | 
      ||
| 76 |  * call when overriding execute()
 | 
      ||
| 77 |  *
 | 
      ||
| 78 |  * @return void
 | 
      ||
| 79 |  */
 | 
      ||
| 80 | public function execute() {  | 
      ||
| 81 | foreach ($this->args as $i => $arg) {  | 
      ||
| 82 | if (strpos($arg, '.')) {  | 
      ||
| 83 | list($this->params['plugin'], $this->args[$i]) = pluginSplit($arg);  | 
      ||
| 84 |                                 break;
 | 
      ||
| 85 | }  | 
      ||
| 86 | }  | 
      ||
| 87 | if (isset($this->params['plugin'])) {  | 
      ||
| 88 | $this->plugin = $this->params['plugin'];  | 
      ||
| 89 | }  | 
      ||
| 90 | }  | 
      ||
| 91 | |||
| 92 | }  |