get_host_template_info($_GET['id'], $hostTemplate)) { header("Location: templates.php"); die(); } else { // GET VALUES $templateValues = $hostTemplate->getValues(); } } // Action Handlers if(isset($_GET['request'])) { if($_GET['request'] == "delete" && $_GET['section'] == 'autodiscovery') { $filter = NagiosHostTemplateAutodiscoveryServicePeer::retrieveByPK($_GET['filter']); if(!$filter || $filter->getHostTemplate() != $hostTemplate->getId()) { $error = "That filter no longer exists."; } else { $filter->delete(); $success = "Service filter deleted."; } } if($_GET['request'] == "delete" && $_GET['section'] == 'groups') { $c = new Criteria(); $c->add(NagiosHostgroupMembershipPeer::HOST_TEMPLATE, $_GET['id']); $c->add(NagiosHostgroupMembershipPeer::HOSTGROUP, $_GET['hostgroup_id']); $membership = NagiosHostgroupMembershipPeer::doSelectOne($c); if($membership) { $membership->delete(); $success = "Membership Deleted"; } } else if($_GET['request'] == "delete" && $_GET['section'] == 'services') { $service = NagiosServicePeer::retrieveByPK($_GET['service_id']); if($service) { $service->delete(); $success = "Service Deleted"; } else { $error = "That service does not exist."; } } else if($_GET['request'] == "delete" && $_GET['section'] == 'general') { $template = NagiosHostTemplatePeer::retrieveByPK($_GET['id']); if($template) { $template->delete(); $success = "Host template deleted."; unset($_GET['id']); header("Location: templates.php"); die(); } else { $error = "Host template does not exist."; } } else if($_GET['request'] == "delete" && $_GET['section'] == 'inheritance') { $c = new Criteria(); $c->add(NagiosHostTemplateInheritancePeer::SOURCE_TEMPLATE, $hostTemplate->getId()); $c->addAscendingOrderByColumn(NagiosHostTemplateInheritancePeer::ORDER); $inheritanceList = NagiosHostTemplateInheritancePeer::doSelect($c); $found = false; for($counter = 0; $counter < count($inheritanceList); $counter++) { if($inheritanceList[$counter]->getNagiosHostTemplateRelatedByTargetTemplate()->getId() == $_GET['template_id']) { // Omg, we found it! // Delete the inheritance $inheritanceList[$counter]->delete(); // Okay, regrab the list $newList = NagiosHostTemplateInheritancePeer::doSelect($c); for($counter = 0; $counter < count($newList); $counter++) { // Reordering $newList[$counter]->setOrder($counter); $newList[$counter]->save(); } $success = "Removed template from inheritance list."; } } if(empty($error)) { $error = "Could not find that template specified."; } } else if($_GET['request'] == "movedown" && $_GET['section'] == "inheritance") { $c = new Criteria(); $c->add(NagiosHostTemplateInheritancePeer::SOURCE_TEMPLATE, $hostTemplate->getId()); $c->addAscendingOrderByColumn(NagiosHostTemplateInheritancePeer::ORDER); $inheritanceList = NagiosHostTemplateInheritancePeer::doSelect($c); $found = false; for($counter = 0; $counter < count($inheritanceList); $counter++) { if($inheritanceList[$counter]->getNagiosHostTemplateRelatedByTargetTemplate()->getId() == $_GET['template_id']) { // Omg, we found it! if($counter == (count($inheritanceList) -1)) { // We're at the end of the array, we couldn't possibly move down more! $error = "Cannot move that template down any further."; break; } else { $tempTemplate = $inheritanceList[$counter + 1]; $inheritanceList[$counter]->setOrder($inheritanceList[$counter]->getOrder() + 1); $tempTemplate->setOrder($tempTemplate->getOrder() - 1); $inheritanceList[$counter]->save(); $tempTemplate->save(); $success = "Template moved down in inheritance chain."; $found = true; break; } } } if(empty($error)) { $error = "Could not find that template specified."; } } else if($_GET['request'] == "moveup" && $_GET['section'] == "inheritance") { $c = new Criteria(); $c->add(NagiosHostTemplateInheritancePeer::SOURCE_TEMPLATE, $hostTemplate->getId()); $c->addAscendingOrderByColumn(NagiosHostTemplateInheritancePeer::ORDER); $inheritanceList = NagiosHostTemplateInheritancePeer::doSelect($c); $found = false; for($counter = 0; $counter < count($inheritanceList); $counter++) { if($inheritanceList[$counter]->getNagiosHostTemplateRelatedByTargetTemplate()->getId() == $_GET['template_id']) { // Omg, we found it! if($counter == 0) { // We're at the end of the array, we couldn't possibly move down more! $error = "Cannot move that template up any further."; break; } else { $tempTemplate = $inheritanceList[$counter - 1]; $inheritanceList[$counter]->setOrder($inheritanceList[$counter]->getOrder() - 1); $tempTemplate->setOrder($tempTemplate->getOrder() + 1); $inheritanceList[$counter]->save(); $tempTemplate->save(); $success = "Template moved up in inheritance chain."; $found = true; break; } } } if(empty($error)) { $error = "Could not find that template specified."; } } if($_GET['request'] == "delete" && $_GET['section'] == 'contacts') { if(!empty($_GET['contactgroup_id'])) { $c = new Criteria(); $c->add(NagiosHostContactgroupPeer::HOST_TEMPLATE, $_GET['id']); $c->add(NagiosHostcontactgroupPeer::CONTACTGROUP, $_GET['contactgroup_id']); $membership = NagiosHostContactgroupPeer::doSelectOne($c); if($membership) { $membership->delete(); $success = "Contact Group Deleted"; } } else if(!empty($_GET['contact_id'])) { $c = new Criteria(); $c->add(NagiosHostContactMemberPeer::TEMPLATE, $_GET['id']); $c->add(NagiosHostcontactMemberPeer::CONTACT, $_GET['contact_id']); $membership = NagiosHostContactMemberPeer::doSelectOne($c); if($membership) { $membership->delete(); $success = "Contact deleted."; } } } if($_GET['request'] == "delete" && $_GET['section'] == 'dependencies') { $dependency = NagiosDependencyPeer::retrieveByPK($_GET['dependency_id']); if($dependency) { $dependency->delete(); $success = "Dependency deleted."; } } if($_GET['request'] == "delete" && $_GET['section'] == 'escalations') { // !!!!!!!!!!!!!! This is where we do dependency error checking $lilac->delete_escalation($_GET['escalation_id']); $success = "Escalation Deleted"; unset($tempData); } if($_GET['request'] == "delete" && $_GET['section'] == 'checkcommand') { $commandParameter = NagiosHostCheckCommandParameterPeer::retrieveByPK($_GET['checkcommandparameter_id']); if($commandParameter) { $commandParameter->delete(); } $success = "Check Command Parameter Deleted."; } } if(isset($_POST['request'])) { $modifiedData = array(); if(isset($_POST['host_manage']) && count($_POST['host_manage'])) { foreach( $_POST['host_manage'] as $key=>$value) { if( is_array( $value)) { $modifiedData[$key] = $value; } else { $modifiedData[$key] = (string)trim($value); } } } if($_POST['request'] == 'host_template_modify_general') { if($modifiedData['template_name'] != $hostTemplate->getName() && $lilac->host_template_exists($modifiedData['template_name'])) { $error = "A host template with that name already exists!"; } else { // Field Error Checking if(count($modifiedData)) { foreach($modifiedData as $tempVariable) $tempVariable = trim($tempVariable); } if($modifiedData['template_name'] == '' || $modifiedData['template_description'] == '') { $addError = 1; $error = "Incorrect values for fields. Please verify."; } // All is well for error checking, modify the template. else { $hostTemplate->setName($modifiedData['template_name']); $hostTemplate->setDescription($modifiedData['template_description']); $hostTemplate->save(); $success = "Template modified."; unset($_GET['edit']); } } } else if($_POST['request'] == "add_template_command") { $template = NagiosHostTemplatePeer::retrieveByPK($_POST['hostmanage']['template_add']['template_id']); if(!$template) { $error = "That host template is not found."; } else { // We need to get the count of templates already inherited $templateList = $hostTemplate->getNagiosHostTemplateInheritances(); foreach($templateList as $tempTemplate) { if($tempTemplate->getId() == $_POST['hostmanage']['template_add']['template_id']) { $error = "That template already exists in the inheritance chain."; } } if(empty($error)) { $newInheritance = new NagiosHostTemplateInheritance(); $newInheritance->setNagiosHostTemplateRelatedBySourceTemplate($hostTemplate); $newInheritance->setNagiosHostTemplateRelatedByTargetTemplate($template); $newInheritance->setOrder(count($templateList)); try { $newInheritance->save(); $success = "Template added to inheritance chain."; } catch(Exception $e) { $error = $e->getMessage(); } } } } else if($_POST['request'] == 'host_template_modify_checks') { if(count($modifiedData)) { foreach($modifiedData as $tempVariable) $tempVariable = trim($tempVariable); } if((isset($modifiedData['max_check_attempts_include']) && !is_numeric($modifiedData['max_check_attempts'])) || (isset($modifiedData['max_check_attempts_include']) && !($modifiedData['max_check_attempts'] >= 1)) || (isset($modifiedData['freshness_threshold_include']) && !($modifiedData['freshness_threshold'] >= 0))) { $addError = 1; $error = "Incorrect values for fields. Please verify."; } // All is well for error checking, modify the template. else { // Let's modify our host template if(isset($modifiedData['initial_state'])) { $hostTemplate->setInitialState($modifiedData['initial_state']); } else { $hostTemplate->setInitialState(null); } if(isset($modifiedData['active_checks_enabled'])) { $hostTemplate->setActiveChecksEnabled($modifiedData['active_checks_enabled']); } else { $hostTemplate->setActiveChecksEnabled(null); } if(isset($modifiedData['passive_checks_enabled'])) { $hostTemplate->setPassiveChecksEnabled($modifiedData['passive_checks_enabled']); } else { $hostTemplate->setPassiveChecksEnabled(null); } if(isset($modifiedData['check_period']) && $modifiedData['check_period'] != 0) { $hostTemplate->setCheckPeriod(NagiosTimeperiodPeer::retrieveByPK($modifiedData['check_period'])->getId()); } else { $hostTemplate->setCheckPeriod(null); } if(isset($modifiedData['check_command']) && $modifiedData['check_command'] != 0) { $hostTemplate->setCheckCommand(NagiosCommandPeer::retrieveByPK($modifiedData['check_command'])->getId()); } else { $hostTemplate->setCheckCommand(null); } if(isset($modifiedData['retry_interval'])) { $hostTemplate->setRetryInterval($modifiedData['retry_interval']); } else { $hostTemplate->setRetryInterval(null); } if(isset($modifiedData['max_check_attempts'])) { $hostTemplate->setMaximumCheckAttempts($modifiedData['max_check_attempts']); } else { $hostTemplate->setMaximumCheckAttempts(null); } if(isset($modifiedData['check_interval'])) { $hostTemplate->setCheckInterval($modifiedData['check_interval']); } else { $hostTemplate->setCheckInterval(null); } if(isset($modifiedData['obsess_over_host'])) { $hostTemplate->setObsessOverHost($modifiedData['obsess_over_host']); } else { $hostTemplate->setObsessOverHost(null); } if(isset($modifiedData['check_freshness'])) { $hostTemplate->setCheckFreshness($modifiedData['check_freshness']); } else { $hostTemplate->setCheckFreshness(null); } if(isset($modifiedData['freshness_threshold'])) { $hostTemplate->setFreshnessThreshold($modifiedData['freshness_threshold']); } else { $hostTemplate->setFreshnessThreshold(null); } if(isset($modifiedData['event_handler']) && $modifiedData['event_handler'] !=0) { $hostTemplate->setEventHandler(NagiosCommandPeer::retrieveByPK($modifiedData['event_handler'])->getId()); } else { $hostTemplate->setEventHandler(null); } if(isset($modifiedData['event_handler_enabled'])) { $hostTemplate->setEventHandlerEnabled($modifiedData['event_handler_enabled']); } else { $hostTemplate->setEventHandlerEnabled(null); } if(isset($modifiedData['failure_prediction_enabled'])) { $hostTemplate->setFailurePredictionEnabled($modifiedData['failure_prediction_enabled']); } else { $hostTemplate->setFailurePredictionEnabled(null); } $hostTemplate->save(); unset($_GET['edit']); $success = "Host template modified"; } } else if($_POST['request'] == 'host_template_modify_flapping') { // Field Error Checking if(count($modifiedData)) { foreach($modifiedData as $tempVariable) $tempVariable = trim($tempVariable); } if((isset($modifiedData['low_flap_threshold']) && $modifiedData['low_flap_threshold'] < 0) || (isset($modifiedData['high_flap_threshold']) && $modifiedData['high_flap_threshold'] < 0)) { $addError = 1; $error = "Incorrect values for fields. Please verify."; } // All is well for error checking, modify the command. else { // Modify flapping information if(isset($modifiedData['flap_detection_enabled'])) { $hostTemplate->setFlapDetectionEnabled($modifiedData['flap_detection_enabled']); } else { $hostTemplate->setFlapDetectionEnabled(null); } if(!isset($_POST['host_manage_checkboxes']) || !isset($_POST['host_manage_checkboxes']['flap_detection_options'])) { $hostTemplate->setFlapDetectionOnUp(null); $hostTemplate->setFlapDetectionOnDown(null); $hostTemplate->setFlapDetectionOnUnreachable(null); } else { if(isset($_POST['host_manage']['flap_detection_on_up'])) { $hostTemplate->setFlapDetectionOnUp(true); } else { $hostTemplate->setFlapDetectionOnUp(false); } if(isset($_POST['host_manage']['flap_detection_on_down'])) { $hostTemplate->setFlapDetectionOnDown(true); } else { $hostTemplate->setFlapDetectionOnDown(false); } if(isset($_POST['host_manage']['flap_detection_on_unreachable'])) { $hostTemplate->setFlapDetectionOnUnreachable(true); } else { $hostTemplate->setFlapDetectionOnUnreachable(false); } } if(isset($modifiedData['low_flap_threshold'])) { $hostTemplate->setLowFlapThreshold($modifiedData['low_flap_threshold']); } else { $hostTemplate->setLowFlapThreshold(null); } if(isset($modifiedData['high_flap_threshold'])) { $hostTemplate->setHighFlapThreshold($modifiedData['high_flap_threshold']); } else { $hostTemplate->setHighFlapThreshold(null); } $hostTemplate->save(); unset($modifiedData); $success = "Host template modified."; unset($_GET['edit']); } } else if($_POST['request'] == 'host_template_modify_logging') { // Field Error Checking // None required for this process // All is well for error checking, modify the host template. if(isset($modifiedData['process_perf_data'])) { $hostTemplate->setProcessPerfData($modifiedData['process_perf_data']); } else { $hostTemplate->setProcessPerfData(null); } if(isset($modifiedData['retain_status_information'])) { $hostTemplate->setRetainStatusInformation($modifiedData['retain_status_information']); } else { $hostTemplate->setRetainStatusInformation(null); } if(isset($modifiedData['retain_nonstatus_information'])) { $hostTemplate->setRetainNonstatusInformation($modifiedData['retain_nonstatus_information']); } else { $hostTemplate->setRetainNonstatusInformation(null); } $hostTemplate->save(); unset($modifiedData); $success = "Host template modified."; unset($_GET['edit']); } else if($_POST['request'] == 'host_template_modify_notifications') { // Field Error Checking if(count($modifiedData)) { foreach($modifiedData as $tempVariable) $tempVariable = trim($tempVariable); } if(isset($_POST['host_manage_enablers']['notification_interval']) && ($modifiedData['notification_interval'] == '' || $modifiedData['notification_interval'] < 0 || !is_numeric($modifiedData['notification_interval']))) { $error = "Incorrect values for fields. Please verify."; } // All is well for error checking, modify the command. else { if(!isset($_POST['host_manage_checkboxes']) || !isset($_POST['host_manage_checkboxes']['notification_options'])) { $hostTemplate->setNotificationOnDown(null); $hostTemplate->setNotificationOnUnreachable(null); $hostTemplate->setNotificationOnRecovery(null); $hostTemplate->setNotificationOnFlapping(null); $hostTemplate->setNotificationOnScheduledDowntime(null); } else { if(isset($_POST['host_manage']['notification_on_down'])) { $hostTemplate->setNotificationOnDown(true); } else { $hostTemplate->setNotificationOnDown(false); } if(isset($_POST['host_manage']['notification_on_unreachable'])) { $hostTemplate->setNotificationOnUnreachable(true); } else { $hostTemplate->setNotificationOnUnreachable(false); } if(isset($_POST['host_manage']['notification_on_recovery'])) { $hostTemplate->setNotificationOnRecovery(true); } else { $hostTemplate->setNotificationOnRecovery(false); } if(isset($_POST['host_manage']['notification_on_flapping'])) { $hostTemplate->setNotificationOnFlapping(true); } else { $hostTemplate->setNotificationOnFlapping(false); } if(isset($_POST['host_manage']['notification_on_scheduled_downtime'])) { $hostTemplate->setNotificationOnScheduledDowntime(true); } else { $hostTemplate->setNotificationOnScheduledDowntime(false); } } if(!isset($_POST['host_manage_checkboxes']) || !isset($_POST['host_manage_checkboxes']['stalking_options'])) { $hostTemplate->setStalkingOnUp(null); $hostTemplate->setStalkingOnDown(null); $hostTemplate->setStalkingOnUnreachable(null); } else { if(isset($_POST['host_manage']['stalking_on_up'])) { $hostTemplate->setStalkingOnUp(true); } else { $hostTemplate->setStalkingOnUp(false); } if(isset($_POST['host_manage']['stalking_on_down'])) { $hostTemplate->setStalkingOnDown(true); } else { $hostTemplate->setStalkingOnDown(false); } if(isset($_POST['host_manage']['stalking_on_unreachable'])) { $hostTemplate->setStalkingOnUnreachable(true); } else { $hostTemplate->setStalkingOnUnreachable(false); } } if(isset($modifiedData['first_notification_delay'])) { $hostTemplate->setFirstNotificationDelay($modifiedData['first_notification_delay']); } else { $hostTemplate->setFirstNotificationDelay(null); } if(isset($modifiedData['notifications_enabled'])) { $hostTemplate->setNotificationsEnabled($modifiedData['notifications_enabled']); } else { $hostTemplate->setNotificationsEnabled(null); } if(isset($modifiedData['notification_interval'])) { $hostTemplate->setNotificationInterval($modifiedData['notification_interval']); } else { $hostTemplate->setNotificationInterval(null); } if(isset($modifiedData['notification_period'])) { $hostTemplate->setNotificationPeriod(NagiosTimeperiodPeer::retrieveByPK($modifiedData['notification_period'])->getId()); } else { $hostTemplate->setNotificationPeriod(null); } $hostTemplate->save(); // Remove session data unset($modifiedData); $success = "Host template modified."; unset($_GET['edit']); } } else if($_POST['request'] == 'add_member_command') { if($lilac->host_template_has_hostgroup($_GET['id'], $modifiedData['group_add']['hostgroup_id'])) { $error = "That host group already exists in that list!"; } else { $lilac->add_hostgroup_template_member($modifiedData['group_add']['hostgroup_id'], $modifiedData['group_add']['host_id']); $success = "Host Template Added To Host Group."; unset($modifiedData); } } else if($_POST['request'] == 'command_parameter_add') { // All is well for error checking, modify the command. $lilac->add_host_template_command_parameter($_GET['id'], $modifiedData); // Remove session data unset($modifiedData); $success = "Command Parameter added."; } if($_POST['request'] == 'update_host_extended') { if(isset($modifiedData['notes'])) { $hostTemplate->setNotes($modifiedData['notes']); } else { $hostTemplate->setNotes(null); } if(isset($modifiedData['notes_url'])) { $hostTemplate->setNotesUrl($modifiedData['notes_url']); } else { $hostTemplate->setNotesUrl(null); } if(isset($modifiedData['action_url'])) { $hostTemplate->setActionUrl($modifiedData['action_url']); } else { $hostTemplate->setActionUrl(null); } if(isset($modifiedData['icon_image'])) { $hostTemplate->setIconImage($modifiedData['icon_image']); } else { $hostTemplate->setIconImage(null); } if(isset($modifiedData['icon_image_alt'])) { $hostTemplate->setIconImageAlt($modifiedData['icon_image_alt']); } else { $hostTemplate->setIconImageAlt(null); } if(isset($modifiedData['vrml_image'])) { $hostTemplate->setVrmlImage($modifiedData['vrml_image']); } else { $hostTemplate->setVrmlImage(null); } if(isset($modifiedData['statusmap_image'])) { $hostTemplate->setStatusmapImage($modifiedData['statusmap_image']); } else { $hostTemplate->setStatusmapImage(null); } if(isset($modifiedData['two_d_coords'])) { $hostTemplate->setTwoDCoords($modifiedData['two_d_coords']); } else { $hostTemplate->setTwoDCoords(null); } if(isset($modifiedData['three_d_coords'])) { $hostTemplate->setThreeDCoords($modifiedData['three_d_coords']); } else { $hostTemplate->setThreeDCoords(null); } $hostTemplate->save(); $success = "Updated Host Template Extended Information"; } else if($_POST['request'] == 'add_contact_command') { $c = new Criteria(); $c->add(NagiosHostContactMemberPeer::TEMPLATE, $_GET['id']); $c->add(NagiosHostContactMemberPeer::CONTACT, $_POST['host_manage']['contact_add']['contact_id']); $membership = NagiosHostContactMemberPeer::doSelectOne($c); if($membership) { $error = "That contact already exists in that list!"; } else { $tempContact = NagiosContactPeer::retrieveByPk($_POST['host_manage']['contact_add']['contact_id']); if($tempContact) { $membership = new NagiosHostContactMember(); $membership->setTemplate($_GET['id']); $membership->setNagiosContact($tempContact); $membership->save(); $success = "New Host Template Contact Link added."; } else { $error = "That contact is not found."; } } } else if($_POST['request'] == 'add_contactgroup_command') { $c = new Criteria(); $c->add(NagiosHostContactgroupPeer::HOST_TEMPLATE, $_GET['id']); $c->add(NagiosHostContactgroupPeer::CONTACTGROUP, $_POST['host_manage']['contactgroup_add']['contactgroup_id']); $membership = NagiosHostContactgroupPeer::doSelectOne($c); if($membership) { $error = "That contact group already exists in that list!"; } else { $tempGroup = NagiosContactGroupPeer::retrieveByPk($_POST['host_manage']['contactgroup_add']['contactgroup_id']); if($tempGroup) { $membership = new NagiosHostContactgroup(); $membership->setHostTemplate($_GET['id']); $membership->setNagiosContactGroup($tempGroup); $membership->save(); $success = "New Host Template Contact Group Link added."; } else { $error = "That contact group is not found."; } } } else if($_POST['request'] == 'host_template_modify_autodiscovery') { // Field Error Checking if(count($modifiedData)) { foreach($modifiedData as $tempVariable) $tempVariable = trim($tempVariable); } // All is well for error checking, modify the command. if(isset($modifiedData['autodiscovery_address_filter'])) { $hostTemplate->setAutodiscoveryAddressFilter($modifiedData['autodiscovery_address_filter']); } else { $hostTemplate->setAutodiscoveryAddressFilter(null); } if(isset($modifiedData['autodiscovery_hostname_filter'])) { $hostTemplate->setAutodiscoveryHostnameFilter($modifiedData['autodiscovery_hostname_filter']); } else { $hostTemplate->setAutodiscoveryHostnameFilter(null); } if(isset($modifiedData['autodiscovery_os_family_filter'])) { $hostTemplate->setAutodiscoveryOsFamilyFilter($modifiedData['autodiscovery_os_family_filter']); } else { $hostTemplate->setAutodiscoveryOsFamilyFilter(null); } if(isset($modifiedData['autodiscovery_os_generation_filter'])) { $hostTemplate->setAutodiscoveryOsGenerationFilter($modifiedData['autodiscovery_os_generation_filter']); } else { $hostTemplate->setAutodiscoveryOsGenerationFilter(null); } if(isset($modifiedData['autodiscovery_os_vendor_filter'])) { $hostTemplate->setAutodiscoveryOsVendorFilter($modifiedData['autodiscovery_os_vendor_filter']); } else { $hostTemplate->setAutodiscoveryOsVendorFilter(null); } $hostTemplate->save(); unset($modifiedData); $success = "Host template modified."; unset($_GET['edit']); } else if($_POST['request'] == 'host_template_add_autodiscovery_service') { if(count($modifiedData)) { foreach($modifiedData as $tempVariable) $tempVariable = trim($tempVariable); } if(empty($modifiedData['protocol']) || empty($modifiedData['port']) || !is_numeric($modifiedData['port'])) { $error = "Port is required and must be numeric for Auto-Discovery service filter."; } else { // Error checking is good, let's create a service filter $serviceFilter = new NagiosHostTemplateAutodiscoveryService(); $serviceFilter->setExtraInformation($modifiedData['extra_information']); $serviceFilter->setNagiosHostTemplate($hostTemplate); $serviceFilter->setName($modifiedData['name']); $serviceFilter->setPort($modifiedData['port']); $serviceFilter->setProduct($modifiedData['product']); $serviceFilter->setProtocol($modifiedData['protocol']); $serviceFilter->setVersion($modifiedData['version']); $serviceFilter->save(); $success = "Auto-Discovery Service Filter Created"; } } } if(isset($_GET['id'])) { // Load template. if(!$lilac->get_host_template_info($_GET['id'], $hostTemplate)) { header("Location: templates.php"); die(); } else { // GET VALUES $templateValues = $hostTemplate->getValues(); // Check to see if we inherit from another template } } // To create a "default" command $command_list[] = array("command_id" => 0, "command_name" => "None"); $lilac->return_command_list($tempList); foreach($tempList as $command) { $command_list[] = array("command_id" => $command->getId(), "command_name" => $command->getName()); } $period_list = array(); $lilac->return_period_list($tempList); foreach($tempList as $period) { $period_list[] = array("timeperiod_id" => $period->getId(), "timeperiod_name" => $period->getName()); } $initialState_list = array(); $initialState_list[] = array('value' => 'o', 'label' => 'Up'); $initialState_list[] = array('value' => 'd', 'label' => 'Down'); $initialState_list[] = array('value' => 'u', 'label' => 'Unreachable'); // Build subnav $subnav = array( 'general' => 'General', 'inheritance' => 'Inheritance', 'checks' => 'Checks', 'flapping' => 'Flapping', 'logging' => 'Logging', 'notifications' => 'Notifications', 'services' => 'Services', 'groups' => 'Group Memberships', 'contacts' => 'Contacts', 'extended' => 'Extended Information', 'dependencies' => 'Dependencies', 'escalations' => 'Escalations' ); if(isset($templateValues['check_command'])) { $subnav['checkcommand'] = 'Check Command Parameters'; } $subnav['autodiscovery'] = 'Auto-Discovery Filters'; print_header("Host Template Editor"); if(isset($_GET['id'])) { print_window_header("Template Info for " . $hostTemplate->getName(), "100%"); print_subnav($subnav, $_GET['section'], "section", $_SERVER['PHP_SELF'] . "?id=" . $_GET['id']); $host_template_icon_image = $path_config['image_root'] . "server.gif"; if($_GET['section'] == 'general') { ?>
|
"flap_detection_on_up", 'label' => "Up"); $flap_detection_options_checkbox_group[] = array('field' => "flap_detection_on_down", 'label' => "Down"); $flap_detection_options_checkbox_group[] = array('field' => "flap_detection_on_unreachable", 'label' => "Unreachable"); ?> |
"notification_on_down", 'label' => "Down"); $notification_options_checkbox_group[] = array('field' => "notification_on_unreachable", 'label' => "Unreachable"); $notification_options_checkbox_group[] = array('field' => "notification_on_recovery", 'label' => "Recovery"); $notification_options_checkbox_group[] = array('field' => "notification_on_flapping", 'label' => "Flapping"); $notification_options_checkbox_group[] = array('field' => "notification_on_scheduled_downtime", 'label' => "Scheduled Downtime"); $stalking_options_checkbox_group[] = array('field' => "stalking_on_up", 'label' => "Up"); $stalking_options_checkbox_group[] = array('field' => "stalking_on_down", 'label' => "Down"); $stalking_options_checkbox_group[] = array('field' => "stalking_on_unreachable", 'label' => "Unreachable"); ?> |
|
[ Create A New Service For This Template ] |
|
Included in definition: \n"; print_display_field("Notes", $templateValues, "notes", $_GET['id']); print_display_field("Notes URL", $templateValues, "notes_url", $_GET['id']); print_display_field("Action URL", $templateValues, "action_url", $_GET['id']); print_display_field("Icon Image", $templateValues, "icon_image", $_GET['id']); print_display_field("Icon Image Alt Text", $templateValues, "icon_image_alt", $_GET['id']); print_display_field("VRML Image", $templateValues, "vrml_image", $_GET['id']); print_display_field("Statusmap Image", $templateValues, "statusmap_image", $_GET['id']); print_display_field("2D Coordinates", $templateValues, "two_d_coords", $_GET['id']); print_display_field("3D Coordinates", $templateValues, "three_d_coords", $_GET['id']); ?> [ Edit ] |
|
|
[ Create A New Host Dependency For This Template ] |
[ Create A New Escalation For This Template ] |