Server IP : 195.201.23.43 / Your IP : 3.145.152.98 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/kdecoratie/public_html/libraries/fof30/Factory/Magic/ |
Upload File : |
<?php /** * @package FOF * @copyright Copyright (c)2010-2019 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU GPL version 2 or later */ namespace FOF30\Factory\Magic; use FOF30\Controller\DataController; use FOF30\Factory\Exception\ControllerNotFound; defined('_JEXEC') or die; /** * Creates a DataControler object instance based on the information provided by the fof.xml configuration file */ class ControllerFactory extends BaseFactory { /** * Create a new object instance * * @param string $name The name of the class we're making * @param array $config The config parameters which override the fof.xml information * * @return DataController A new DataController object */ public function make($name = null, array $config = array()) { if (empty($name)) { throw new ControllerNotFound($name); } $appConfig = $this->container->appConfig; $name = ucfirst($name); $defaultConfig = array( 'name' => $name, 'default_task' => $appConfig->get("views.$name.config.default_task", 'main'), 'autoRouting' => $appConfig->get("views.$name.config.autoRouting", 1), 'csrfProtection' => $appConfig->get("views.$name.config.csrfProtection", 2), 'viewName' => $appConfig->get("views.$name.config.viewName", null), 'modelName' => $appConfig->get("views.$name.config.modelName", null), 'taskPrivileges' => $appConfig->get("views.$name.acl"), 'cacheableTasks' => $appConfig->get("views.$name.config.cacheableTasks", array( 'browse', 'read' )), 'taskMap' => $appConfig->get("views.$name.taskmap"), ); $config = array_merge($defaultConfig, $config); $className = $this->container->getNamespacePrefix($this->getSection()) . 'Controller\\DefaultDataController'; if (!class_exists($className, true)) { $className = 'FOF30\\Controller\\DataController'; } $controller = new $className($this->container, $config); $taskMap = $config['taskMap']; if (is_array($taskMap) && !empty($taskMap)) { foreach ($taskMap as $virtualTask => $method) { $controller->registerTask($virtualTask, $method); } } return $controller; } }Private