} } } } } if (isset($_POST['request'])) { if ($_POST['request'] == "add_dependency") { // Error checking if (trim($_POST['name']) == '') { $error = "Dependency name cannot be blank."; } else { // Creating dependency. $dependency = new NagiosDependency(); switch ($type) { case 'host': $dependency->setNagiosHost($tempSource); break; case 'service': $dependency->setNagiosService($tempSource); break; case 'hostgroup': $dependency->setNagiosHostgroup($tempSource); break; } $dependency->setName($_POST['name']); $dependency->save(); header("Location: dependency.php?id= " . $dependency->getId()); exit; } } }
public function import() { $job = $this->getEngine()->getJob(); $config = $this->getEngine()->getConfig(); $segment = $this->getSegment(); $values = $segment->getValues(); $fileName = $segment->getFilename(); // We need to determine if we are a template if (isset($values['name'])) { // We are a template $job->addNotice("Saving internal host dependency template: " . $values['name'][0]['value']); NagiosHostDependencyImporter::saveTemplate($values['name'][0]['value'], $segment); return true; } 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; } } } // Okay, we first iterate through any possible dependent_host_name's if (isset($values['dependent_host_name'])) { $host_names = explode(",", $values['dependent_host_name'][0]['value']); foreach ($host_names as $host_name) { $dependency = new NagiosDependency(); $host = NagiosHostPeer::getByName($host_name); if (!$host) { return false; } $dependency->setNagiosHost($host); $ret = $this->__process($dependency); if (!$ret) { return false; } $ret = $this->__addTargets($dependency); if (!$ret) { return false; } // Need to give it a temp name $dependency->save(); $dependency->setName("Imported Dependency #" . $dependency->getId()); $dependency->save(); $dependency->clearAllReferences(true); $job->addNotice("NagiosHostDependencyImporter finished importing Host Dependency for " . $host_name); } } if (isset($values['dependent_hostgroup_name'])) { $hostgroup_names = explode(",", $values['dependent_hostgroup_name'][0]['value']); foreach ($hostgroup_names as $hostgroup_name) { $dependency = new NagiosDependency(); $hostgroup = NagiosHostgroupPeer::getByName($hostgroup_name); if (!$hostgroup) { return false; } $dependency->setNagiosHostgroup($hostgroup); $ret = $this->__process($dependency); if (!$ret) { return false; } $ret = $this->__addTargets($dependency); if (!$ret) { return false; } $dependency->save(); $dependency->setName("Imported Dependency #" . $dependency->getId()); $dependency->save(); $dependency->clearAllReferences(true); $job->addNotice("NagiosHostDependencyImporter finished importing Host Dependency for hostgroup " . $hostgroup_name); } } return true; }