/** * Returns the toolbar data in json format * * @return string */ public function asJSON() { $serviceManager = $this->eventManager->getServiceManager(); $request = $serviceManager->getService('request'); // check if security key is defined $secKey = isset($serviceManager['log.to_debug_toolbar_seckey']) ? $serviceManager['log.to_debug_toolbar_seckey'] : false; // if so - get client seckey from http header if (!empty($secKey)) { $requestSecKey = $request->getServer()->get('HTTP_X_ZIKULA_DEBUGTOOLBAR'); // if client seckey is not valid - do not return data if ($secKey != $requestSecKey) { return ''; } } $data = array(); $data['__meta'] = array('realpath' => realpath('.')); $data['http_request'] = array('method' => $request->getMethod(), 'get' => (array) $request->query->getCollection(), 'post' => (array) $request->request->getCollection(), 'files' => (array) $request->files->getCollection(), 'cookie' => (array) $request->getCookie()->getCollection(), 'server' => (array) $request->server->getCollection(), 'env' => (array) $request->getEnv()->getCollection()); foreach ($this->_panels as $name => $panel) { $title = $panel->getPanelTitle(); $data[$name] = array('title' => $title ? $title : $name, 'content' => $panel->getPaneldata()); } // need to suppress errors due to recursion warrnings $data = @json_encode($data); $html = "<script type=\"text/javascript\">/* <![CDATA[ */ \nZikula.DebugToolbarData = {$data}\n /* ]]> */</script>"; return $html; }
/** * Loader for custom handlers. * * @param string $dir Path to the folder holding the eventhandler classes. * * @return void */ public static function attachCustomHandlers($dir) { self::$eventManager->getServiceManager()->getService('zikula')->attachHandlers($dir); }
/** * Constructor. * * @param Zikula_EventManager $eventManager EventManager. */ public function __construct(Zikula_EventManager $eventManager) { $this->eventManager = $eventManager; $this->serviceManager = $this->eventManager->getServiceManager(); $this->setupHandlerDefinitions(); }