private function getHooksOfAvailablePlugins() { $hooks_cache = array(); foreach ($this->plugin_factory->getAvailablePlugins() as $plugin) { $hooks_cache[$plugin->getName()] = array('id' => $plugin->getId(), 'class' => $this->plugin_factory->getClassName($plugin->getName()), 'path' => $this->plugin_factory->getClassPath($plugin->getName()), 'hooks' => array()); foreach ($plugin->getHooksAndCallbacks()->iterator() as $hook) { $hooks_cache[$plugin->getName()]['hooks'][] = array('event' => $hook['hook'], 'callback' => $hook['callback'], 'recall_event' => $hook['recallHook']); } } return $hooks_cache; }