* 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 . **/ namespace CustomTheme\View\Helper; use Cake\View\Helper; use Cake\Utility\Hash; class BakeExtraHelper extends Helper { public function hello() { return "\n"; } public function hasFilters($controllerName) { if ( ! is_string($controllerName) ) return FALSE; $filters = $this->getFilters($controllerName); return (is_array($filters) && count($filters) > 0); } public function getFilters($controllerName) { if ( ! is_string($controllerName) ) return FALSE; return Hash::get($this->_config, "$controllerName.filters"); } public function hasAction($action, $controllerName) { if ( ! is_string($controllerName) ) return FALSE; return in_array($action, $this->getActions($controllerName)); } public function getActions($controllerName) { if ( ! is_string($controllerName) ) return FALSE; $actions = Hash::get($this->_config, "$controllerName.actions"); if ( ! is_array($actions) ) { $actions = Hash::get($this->_config, "default.actions"); } if ( ! is_array($actions) ) { $actions = ['index', 'view', 'add', 'edit', 'delete']; } return $actions; } // TODO : modelClass or controllerName ? public function getTitleOpts($modelClass) { if ( ! is_string($modelClass) ) return FALSE; return Hash::get($this->_config, "$modelClass.title"); } }