public function __addTargets($dependency) { $job = $this->getEngine()->getJob(); $config = $this->getEngine()->getConfig(); $segment = $this->getSegment(); $values = $segment->getValues(); $fileName = $segment->getFilename(); if (isset($values['use'])) { // We sure are using a template! // Okay, hokey multi-inheritance support for the importer $tempValues = $this->getTemplateValues($values['use'][0]['value']); // Okay, go through each foreach ($tempValues as $key => $val) { if (!isset($values[$key])) { $values[$key] = $val; } } } if (isset($values['host_name'])) { $host_names = explode(",", $values['host_name'][0]['value']); foreach ($host_names as $host_name) { $service = NagiosServicePeer::getByHostAndDescription($host_name, $values['service_description'][0]['value']); if (!$service) { return false; } // Create target $target = new NagiosDependencyTarget(); $target->setNagiosDependency($dependency); $target->setNagiosHost($service->getNagiosHost()); $target->setNagiosService($service); $target->save(); $target->clearAllReferences(true); $service->clearAllReferences(true); } } if (isset($values['hostgroup_name'])) { $hostgroup_names = explode(",", $values['hostgroup_name'][0]['value']); foreach ($hostgroup_names as $hostgroup_name) { $service = NagiosServicePeer::getByHostgroupAndDescription($hostgroup_name, $values['service_description'][0]['value']); if (!$service) { return false; } // Create target $target = new NagiosDependencyTarget(); $target->setNagiosDependency($dependency); $target->setNagiosHostgroup($service->getNagiosHostgroup()); $target->setNagiosService($service); $target->save(); $target->clearAllReferences(true); $service->clearAllReferences(true); } } return true; }
foreach ($inheritedServices as $service) { if ($service->getDescription() == $_POST['service_select']) { // We found it! // Check for existence $c = new Criteria(); $c->add(NagiosDependencyTargetPeer::DEPENDENCY, $dependency->getId()); $c->add(NagiosDependencyTargetPeer::TARGET_HOST, $host->getId()); $c->add(NagiosDependencyTargetPeer::TARGET_SERVICE, $service->getId()); $target = NagiosDependencyTargetPeer::doSelectOne($c); if ($target) { $error = "That target already exists."; } else { $target = new NagiosDependencyTarget(); $target->setNagiosDependency($dependency); $target->setNagiosHost($host); $target->setNagiosService($service); $target->save(); $success = "Created target."; $found = true; break; } } } } } } } } } $period_list = array(); $lilac->return_period_list($tempList);