function smarty_function_hook($params, $template) { $contents = ""; if (isset($params['name'])) { $core_params_to_hook = array(); if (isset($params['params'])) { $core_params_to_hook = $params['params']; } if (!isset($params['container'])) { $params['container'] = "<div>[hook]</div>"; } $hookData = \Centreon\Internal\Hook::execute($params['name'], $core_params_to_hook); foreach ($hookData as $hook) { if (isset($hook['template'])) { $tpl = $template->createTemplate($hook['template']); if (isset($hook['variables'])) { $tpl->assign('variables', $hook['variables']); } if (isset($params['container'])) { $contents .= str_replace("[hook]", $template->fetch($tpl), $params['container']); } } } } return $contents; }
public function testExecuteEmptyDisplayHook() { ob_start(); Di::getDefault()->get('router')->dispatch(); ob_end_clean(); $result = Hook::execute('displayIdontexist', array('test_key' => 'test_value')); $this->assertEquals(0, count($result)); }
/** * * @param array $resultSet */ public static function processHooks(&$resultSet) { $arr = array(); foreach ($resultSet as $set) { if (isset($set[static::$objectId])) { $arr[] = $set[static::$objectId]; } } $hookArr = static::getHookArray(); foreach ($hookArr as $hook) { $hookData = Hook::execute($hook, $arr); foreach ($hookData as $data) { $columnName = $data['columnName']; foreach ($data['values'] as $k => $value) { foreach ($resultSet as $key => $set) { if ($set[static::$objectId] == $k) { $resultSet[$key][$columnName] = $value; } } } } } }