Exemple #1
0
                }
            }
        }
    }
}
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;
 }