/** * Parse template tree * * @param array $tree * @param Centreon_Object_Service_Extended $extendedObj */ protected function parseTemplateTree($tree) { $commandObj = new Centreon_Object_Command(); $tpObj = new Centreon_Object_Timeperiod(); $extendedObj = new Centreon_Object_Service_Extended(); $macroObj = new Centreon_Object_Service_Macro_Custom(); foreach ($tree as $element) { $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { $addStr .= $this->delim; if ($param == "service_template_model_stm_id") { $tmp = $this->object->getParameters($element[$param], 'service_description'); if (isset($tmp) && isset($tmp['service_description']) && $tmp['service_description']) { $element[$param] = $tmp['service_description']; } if (!$element[$param]) { $element[$param] = ""; } } $addStr .= $element[$param]; } $addStr .= "\n"; echo $addStr; foreach ($element as $parameter => $value) { if (!in_array($parameter, $this->exportExcludedParams) && !is_null($value) && $value != "") { if ($parameter == "timeperiod_tp_id" || $parameter == "timeperiod_tp_id2") { $tmpObj = $tpObj; } elseif ($parameter == "command_command_id" || $parameter == "command_command_id2") { $tmpObj = $commandObj; } if (isset($tmpObj)) { $tmp = $tmpObj->getParameters($value, $tmpObj->getUniqueLabelField()); if (isset($tmp) && isset($tmp[$tmpObj->getUniqueLabelField()])) { $value = $tmp[$tmpObj->getUniqueLabelField()]; } unset($tmpObj); } $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element['service_description'] . $this->delim . $this->getClapiActionName($parameter) . $this->delim . $value . "\n"; } } $params = $extendedObj->getParameters($element[$this->object->getPrimaryKey()], array("esi_notes", "esi_notes_url", "esi_action_url", "esi_icon_image", "esi_icon_image_alt")); if (isset($params) && is_array($params)) { foreach ($params as $k => $v) { if (!is_null($v) && $v != "") { $v = CentreonUtils::convertLineBreak($v); echo $this->action . $this->delim . "setparam" . $this->delim . $element['service_description'] . $this->delim . $this->getClapiActionName($k) . $this->delim . $v . "\n"; } } } $macros = $macroObj->getList("*", -1, 0, null, null, array('svc_svc_id' => $element[$this->object->getPrimaryKey()]), "AND"); foreach ($macros as $macro) { echo $this->action . $this->delim . "setmacro" . $this->delim . $element['service_description'] . $this->delim . $this->stripMacro($macro['svc_macro_name']) . $this->delim . $macro['svc_macro_value'] . "\n"; } if (count($element['children'])) { $this->parseTemplateTree($element['children'], $extendedObj); } } }
/** * Export * * @return void */ public function export() { $elements = $this->object->getList("*", -1, 0, null, null, array("host_register" => $this->register), "AND"); $extendedObj = new Centreon_Object_Host_Extended(); $commandObj = new Centreon_Object_Command(); $tpObj = new Centreon_Object_Timeperiod(); $macroObj = new Centreon_Object_Host_Macro_Custom(); $instanceRel = new Centreon_Object_Relation_Instance_Host(); if ($this->register) { $instElements = $instanceRel->getMergedParameters(array("name"), array("host_name"), -1, 0, null, null, array("host_register" => $this->register), "AND"); } foreach ($elements as $element) { $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { $addStr .= $this->delim; if ($param == 'instance') { if ($this->register) { foreach ($instElements as $instElem) { if ($element['host_name'] == $instElem['host_name']) { $addStr .= $instElem['name']; } } } } if ($param != "hostgroup" && $param != "template") { $addStr .= $element[$param]; } } $addStr .= "\n"; echo $addStr; foreach ($element as $parameter => $value) { if (!in_array($parameter, $this->exportExcludedParams) && !is_null($value) && $value != "") { if ($parameter == "timeperiod_tp_id" || $parameter == "timeperiod_tp_id2") { $tmpObj = $tpObj; } elseif ($parameter == "command_command_id" || $parameter == "command_command_id2") { $tmpObj = $commandObj; } if (isset($tmpObj)) { $tmp = $tmpObj->getParameters($value, $tmpObj->getUniqueLabelField()); if (isset($tmp) && isset($tmp[$tmpObj->getUniqueLabelField()])) { $value = $tmp[$tmpObj->getUniqueLabelField()]; } unset($tmpObj); } $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $this->getClapiActionName($parameter) . $this->delim . $value . "\n"; } } $params = $extendedObj->getParameters($element[$this->object->getPrimaryKey()], array("ehi_notes", "ehi_notes_url", "ehi_action_url", "ehi_icon_image", "ehi_icon_image_alt", "ehi_vrml_image", "ehi_statusmap_image", "ehi_2d_coords", "ehi_3d_coords")); if (isset($params) && is_array($params)) { foreach ($params as $k => $v) { if (!is_null($v) && $v != "") { $v = CentreonUtils::convertLineBreak($v); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $this->getClapiActionName($k) . $this->delim . $v . "\n"; } } } $macros = $macroObj->getList("*", -1, 0, null, null, array('host_host_id' => $element[$this->object->getPrimaryKey()]), "AND"); foreach ($macros as $macro) { echo $this->action . $this->delim . "setmacro" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $this->stripMacro($macro['host_macro_name']) . $this->delim . $macro['host_macro_value'] . "\n"; } } $cgRel = new Centreon_Object_Relation_Contact_Group_Host(); $elements = $cgRel->getMergedParameters(array("cg_name"), array($this->object->getUniqueLabelField()), -1, 0, null, null, array("host_register" => $this->register), "AND"); foreach ($elements as $element) { echo $this->action . $this->delim . "addcontactgroup" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $element['cg_name'] . "\n"; } $contactRel = new Centreon_Object_Relation_Contact_Host(); $elements = $contactRel->getMergedParameters(array("contact_name"), array($this->object->getUniqueLabelField()), -1, 0, null, null, array("host_register" => $this->register), "AND"); foreach ($elements as $element) { echo $this->action . $this->delim . "addcontact" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $element['contact_name'] . "\n"; } $htplRel = new Centreon_Object_Relation_Host_Template_Host(); $elements = $htplRel->getMergedParameters(array("host_name as host"), array("host_name as template"), -1, 0, "host,`order`", "ASC", array("h.host_register" => $this->register), "AND"); foreach ($elements as $element) { echo $this->action . $this->delim . "addtemplate" . $this->delim . $element['host'] . $this->delim . $element['template'] . "\n"; } }
/** * Export * * @return void */ public function export() { $matchingObj = new Centreon_Object_Trap_Matching(); $elements = $this->object->getList("*", -1, 0); foreach ($elements as $element) { $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { $addStr .= $this->delim . $element[$param]; } $addStr .= "\n"; echo $addStr; foreach ($element as $parameter => $value) { if ($parameter != 'traps_id') { if (!is_null($value) && $value != "") { $value = str_replace("\n", "<br/>", $value); if ($parameter == 'manufacturer_id') { $parameter = 'vendor'; $value = $this->manufacturerObj->getName($value); } $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $parameter . $this->delim . $value . "\n"; } } } $matchingProps = $matchingObj->getList("*", -1, 0, null, null, array('trap_id' => $element['traps_id'])); foreach ($matchingProps as $prop) { echo $this->action . $this->delim . "addmatching" . $this->delim . $element['traps_name'] . $this->delim . $prop['tmo_string'] . $this->delim . $prop['tmo_regexp'] . $this->delim . $prop['tmo_status'] . "\n"; } } }
/** * Export data * * @param string $parameters * @return void */ public function export() { $elements = $this->object->getList("*", -1, 0, null, null, array("contact_register" => $this->register), "AND"); foreach ($elements as $element) { $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { $addStr .= $this->delim . $element[$param]; } $addStr .= "\n"; echo $addStr; foreach ($element as $parameter => $value) { if (!is_null($value) && $value != "" && !in_array($parameter, $this->exportExcludedParams)) { if ($parameter == "timeperiod_tp_id") { $parameter = self::HOST_NOTIF_TP; $value = $this->tpObject->getObjectName($value); } elseif ($parameter == "timeperiod_tp_id2") { $parameter = self::SVC_NOTIF_TP; $value = $this->tpObject->getObjectName($value); } elseif ($parameter == "contact_lang") { $parameter = "locale"; } elseif ($parameter == "contact_host_notification_options") { $parameter = "hostnotifopt"; } elseif ($parameter == "contact_service_notification_options") { $parameter = "servicenotifopt"; } elseif ($parameter == "contact_template_id") { $parameter = "template"; $result = $this->object->getParameters($value, $this->object->getUniqueLabelField()); $value = $result[$this->object->getUniqueLabelField()]; } $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $parameter . $this->delim . $value . "\n"; } } $objId = $element[$this->object->getPrimaryKey()]; $this->exportNotifCommands(self::HOST_NOTIF_CMD, $objId, $element[$this->object->getUniqueLabelField()]); $this->exportNotifCommands(self::SVC_NOTIF_CMD, $objId, $element[$this->object->getUniqueLabelField()]); } }
/** * Export * * @return void */ public function export() { $elements = $this->object->getList(); $tpObj = new Centreon_Object_Timeperiod(); foreach ($elements as $element) { /* ADD action */ $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { if ($param == 'nagios_server_id') { $element[$param] = $this->instanceObj->getInstanceName($element[$param]); } $addStr .= $this->delim . $element[$param]; } $addStr .= "\n"; echo $addStr; /* SETPARAM action */ foreach ($element as $parameter => $value) { if (!in_array($parameter, $this->exportExcludedParams) && !is_null($value) && $value != "") { if ($parameter == 'global_host_event_handler' || $parameter == 'global_service_event_handler' || $parameter == 'host_perfdata_command' || $parameter == 'service_perfdata_command' || $parameter == 'host_perfdata_file_processing_command' || $parameter == 'service_perfdata_file_processing_command' || $parameter == 'ochp_command' || $parameter == 'ocsp_command') { $tmp = $this->commandObj->getParameters($value, $this->commandObj->getUniqueLabelField()); $value = $tmp[$this->commandObj->getUniqueLabelField()]; } else { if ($parameter == 'illegal_object_name_chars' || $parameter == 'illegal_macro_output_chars') { $value = html_entity_decode($value, ENT_QUOTES | ENT_HTML401); } } $value = str_replace("\n", "<br/>", $value); $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $parameter . $this->delim . $value . "\n"; } } $modules = $this->brokerModuleObj->getList("broker_module", -1, 0, null, "ASC", array('cfg_nagios_id' => $element[$this->object->getPrimaryKey()]), "AND"); $moduleList = array(); foreach ($modules as $module) { array_push($moduleList, $module['broker_module']); } echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . 'broker_module' . $this->delim . implode('|', $moduleList) . "\n"; } }
/** * Export * * @return void */ public function export() { $hostRel = new Centreon_Object_Relation_Host_Service(); $elements = $hostRel->getMergedParameters(array("host_name"), array('*'), -1, 0, null, null, array("service_register" => $this->register), "AND"); $extendedObj = new Centreon_Object_Service_Extended(); $commandObj = new Centreon_Object_Command(); $tpObj = new Centreon_Object_Timeperiod(); $macroObj = new Centreon_Object_Service_Macro_Custom(); foreach ($elements as $element) { $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { $addStr .= $this->delim; if ($param == "service_template_model_stm_id") { $tmp = $this->object->getParameters($element[$param], 'service_description'); if (isset($tmp) && isset($tmp['service_description']) && $tmp['service_description']) { $element[$param] = $tmp['service_description']; } if (!$element[$param]) { $element[$param] = ""; } } $addStr .= $element[$param]; } $addStr .= "\n"; echo $addStr; foreach ($element as $parameter => $value) { if (!in_array($parameter, $this->exportExcludedParams) && !is_null($value) && $value != "") { if ($parameter == "timeperiod_tp_id" || $parameter == "timeperiod_tp_id2") { $tmpObj = $tpObj; } elseif ($parameter == "command_command_id" || $parameter == "command_command_id2") { $tmpObj = $commandObj; } if (isset($tmpObj)) { $tmp = $tmpObj->getParameters($value, $tmpObj->getUniqueLabelField()); if (isset($tmp) && isset($tmp[$tmpObj->getUniqueLabelField()])) { $value = $tmp[$tmpObj->getUniqueLabelField()]; } unset($tmpObj); } $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element['host_name'] . $this->delim . $element['service_description'] . $this->delim . $this->getClapiActionName($parameter) . $this->delim . $value . "\n"; } } $params = $extendedObj->getParameters($element[$this->object->getPrimaryKey()], array("esi_notes", "esi_notes_url", "esi_action_url", "esi_icon_image", "esi_icon_image_alt")); if (isset($params) && is_array($params)) { foreach ($params as $k => $v) { if (!is_null($v) && $v != "") { $v = CentreonUtils::convertLineBreak($v); echo $this->action . $this->delim . "setparam" . $this->delim . $element['host_name'] . $this->delim . $element['service_description'] . $this->delim . $this->getClapiActionName($k) . $this->delim . $v . "\n"; } } } $macros = $macroObj->getList("*", -1, 0, null, null, array('svc_svc_id' => $element[$this->object->getPrimaryKey()]), "AND"); foreach ($macros as $macro) { echo $this->action . $this->delim . "setmacro" . $this->delim . $element['host_name'] . $this->delim . $element['service_description'] . $this->delim . $this->stripMacro($macro['svc_macro_name']) . $this->delim . $macro['svc_macro_value'] . "\n"; } $cgRel = new Centreon_Object_Relation_Contact_Group_Service(); $cgelements = $cgRel->getMergedParameters(array("cg_name"), array('service_description'), -1, 0, null, null, array("service_register" => $this->register, "service_id" => $element['service_id']), "AND"); foreach ($cgelements as $cgelement) { echo $this->action . $this->delim . "addcontactgroup" . $this->delim . $element['host_name'] . $this->delim . $cgelement['service_description'] . $this->delim . $cgelement['cg_name'] . "\n"; } $contactRel = new Centreon_Object_Relation_Contact_Service(); $celements = $contactRel->getMergedParameters(array("contact_name"), array('service_description'), -1, 0, null, null, array("service_register" => $this->register, "service_id" => $element['service_id']), "AND"); foreach ($celements as $celement) { echo $this->action . $this->delim . "addcontact" . $this->delim . $element['host_name'] . $this->delim . $celement['service_description'] . $this->delim . $celement['contact_name'] . "\n"; } $trapRel = new Centreon_Object_Relation_Trap_Service(); $telements = $trapRel->getMergedParameters(array("traps_name"), array('service_description'), -1, 0, null, null, array("service_register" => $this->register, "service.service_id" => $element['service_id']), "AND"); foreach ($telements as $telement) { echo $this->action . $this->delim . "addtrap" . $this->delim . $element['host_name'] . $this->delim . $telement['service_description'] . $this->delim . $telement['traps_name'] . "\n"; } } }
/** * Export data * * @param string $parameters * @return void */ public function export() { $elements = $this->object->getList("*", -1, 0); foreach ($elements as $element) { $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { $addStr .= $this->delim . $element[$param]; } $addStr .= "\n"; echo $addStr; foreach ($element as $parameter => $value) { if (!in_array($parameter, $this->exportExcludedParams)) { if (!is_null($value) && $value != "") { $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $parameter . $this->delim . $value . "\n"; } } } } }
/** * Export * * @return void */ public function export() { $elements = $this->object->getList("*", -1, 0); foreach ($elements as $element) { $addStr = $this->action . $this->delim . "ADD" . $this->delim . $element['config_name'] . $this->delim . $this->instanceObj->getInstanceName($element['ns_nagios_server']); echo $addStr . "\n"; echo $this->action . $this->delim . "SETPARAM" . $this->delim . $element['config_name'] . $this->delim . "filename" . $this->delim . $element['config_filename'] . "\n"; $sql = "SELECT config_key, config_value, config_group, config_group_id\n \t\tFROM cfg_centreonbroker_info\n \t\tWHERE config_id = ?\n \t\tORDER BY config_group_id"; $res = $this->db->query($sql, array($element['config_id'])); $blockId = array(); $categories = array(); $addParamStr = array(); $setParamStr = array(); $resultSet = $res->fetchAll(); unset($res); foreach ($resultSet as $row) { if ($row['config_key'] != 'name' && $row['config_key'] != 'blockId' && $row['config_key'] != 'filters' && $row['config_key'] != 'category') { if (!isset($setParamStr[$row['config_group'] . '_' . $row['config_group_id']])) { $setParamStr[$row['config_group'] . '_' . $row['config_group_id']] = ""; } $row['config_value'] = CentreonUtils::convertLineBreak($row['config_value']); $setParamStr[$row['config_group'] . '_' . $row['config_group_id']] .= $this->action . $this->delim . "SET" . strtoupper($row['config_group']) . $this->delim . $element['config_name'] . $this->delim . $row['config_group_id'] . $this->delim . $row['config_key'] . $this->delim . $row['config_value'] . "\n"; } elseif ($row['config_key'] == 'name') { $addParamStr[$row['config_group'] . '_' . $row['config_group_id']] = $this->action . $this->delim . "ADD" . strtoupper($row['config_group']) . $this->delim . $element['config_name'] . $this->delim . $row['config_value']; } elseif ($row['config_key'] == 'blockId') { $blockId[$row['config_group'] . '_' . $row['config_group_id']] = $row['config_value']; } elseif ($row['config_key'] == 'category') { $categories[$row['config_group'] . '_' . $row['config_group_id']][] = $row['config_value']; } } foreach ($addParamStr as $id => $add) { if (isset($blockId[$id]) && isset($setParamStr[$id])) { list($tag, $type) = explode('_', $blockId[$id]); $resType = $this->db->query("SELECT type_shortname FROM cb_type WHERE cb_type_id = ?", array($type)); $rowType = $resType->fetch(); if (isset($rowType['type_shortname'])) { echo $add . $this->delim . $rowType['type_shortname'] . "\n"; echo $setParamStr[$id]; } unset($resType); } if (isset($categories[$id])) { list($configGroup, $configGroupId) = explode('_', $id); echo $this->action . $this->delim . "SET" . strtoupper($configGroup) . $this->delim . $element['config_name'] . $this->delim . $configGroupId . $this->delim . 'category' . $this->delim . implode(',', $categories[$id]) . "\n"; } } } }
/** * Export data * * @param string $parameters * @return void */ public function export() { $elements = $this->object->getList("*", -1, 0); foreach ($elements as $element) { $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { $addStr .= $this->delim . $element[$param]; } $addStr .= "\n"; echo $addStr; foreach ($element as $parameter => $value) { if (!in_array($parameter, $this->exportExcludedParams)) { if (!is_null($value) && $value != "") { $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $parameter . $this->delim . $value . "\n"; } } if ($parameter == "graph_id" && !empty($value)) { $graphObject = new Centreon_Object_Graph_Template(); $tmp = $graphObject->getParameters($value, array($graphObject->getUniqueLabelField())); if (!count($tmp)) { throw new CentreonClapiException(self::OBJECT_NOT_FOUND . ":" . $value); } $v = $tmp[$graphObject->getUniqueLabelField()]; $v = CentreonUtils::convertLineBreak($v); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $this->getClapiActionName($parameter) . $this->delim . $v . "\n"; } } } }
/** * Export * * @return void */ public function export() { $elements = $this->object->getList(); foreach ($elements as $element) { $instanceIds = $this->relObj->getinstance_idFromresource_id(trim($element[$this->object->getPrimaryKey()])); /* ADD action */ $addStr = $this->action . $this->delim . "ADD"; foreach ($this->insertParams as $param) { if ($param == 'instance_id') { $instances = array(); foreach ($instanceIds as $instanceId) { $instances[] = $this->instanceObj->getInstanceName($instanceId); } $element[$param] = implode('|', $instances); } $addStr .= $this->delim . $element[$param]; } $addStr .= "\n"; echo $addStr; /* SETPARAM action */ foreach ($element as $parameter => $value) { if (!in_array($parameter, $this->exportExcludedParams) && !is_null($value) && $value != "") { $parameter = str_replace("resource_", "", $parameter); $value = str_replace("\n", "<br/>", $value); $value = CentreonUtils::convertLineBreak($value); echo $this->action . $this->delim . "setparam" . $this->delim . $element[$this->object->getUniqueLabelField()] . $this->delim . $parameter . $this->delim . $value . "\n"; } } } }