* Copyright 2016 Nicolas Goaziou * * This file is part of CHD Gestion. * * CHD Gestion is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * CHD Gestion is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with CHD Gestion. If not, see . **/ /** * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) * * Licensed under The MIT License * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) * @link http://cakephp.org CakePHP(tm) Project * @since 3.0.0 * @license http://www.opensource.org/licenses/mit-license.php MIT License */ use Cake\Core\Configure; use Cake\Core\Exception\MissingPluginException; use Cake\Core\Plugin; use Cake\Event\Event; use Cake\Event\EventManager; use Cake\Utility\Hash; /** * Additional bootstrapping and configuration for CLI environments should * be put here. */ // Set logs to different files so they don't have permission conflicts. Configure::write('Log.debug.file', 'cli-debug'); Configure::write('Log.error.file', 'cli-error'); try { Plugin::load('Bake'); } catch (MissingPluginException $e) { // Do not halt if the plugin is missing } EventManager::instance()->on('Bake.initialize', function (Event $event) { // Initialize BakeExtraHelper with bake_extra.php config array $view = $event->subject; $extra = include(ROOT . DS . 'config' . DS . 'bake_extra.php'); $view->loadHelper('CustomTheme.BakeExtra', $extra); }); EventManager::instance()->on('Bake.beforeRender', function (Event $event) { $view = $event->subject; $isController = strpos($event->data[0], 'Bake/Controller/controller.ctp') !== false; if ($isController) { // Override controller's default action list with the configured one in bake_extra.php $view->set('actions', $view->BakeExtra->getActions($view->get('name'))); } });