/** * Enter description here... * * @param NagiosEscalation $escalation * @param unknown_type $type * @param unknown_type $targetObj * @param unknown_type $subObj */ private function _exportEscalation($escalation, $type, $targetObj, $subObj = null) { global $lilac; $fp = $this->getOutputFile(); if ($type == "host") { $host = $targetObj; fputs($fp, "define hostescalation {\n"); fputs($fp, "\thost_name\t" . $host->getName() . "\n"); } else { if ($type == 'service') { $host = $subObj; $service = $targetObj; fputs($fp, "define serviceescalation {\n"); fputs($fp, "\thost_name\t" . $host->getName() . "\n"); fputs($fp, "\tservice_description\t" . $service->getDescription() . "\n"); } else { if ($type == "hostgroup") { $hostgroup = $targetObj; fputs($fp, "define hostescalation {\n"); fputs($fp, "\thostgroup_name\t" . $hostgroup->getName() . "\n"); } } } // Get contacts $contacts = $escalation->getNagiosEscalationContacts(); if (count($contacts)) { fputs($fp, "\tcontacts\t"); $first = true; foreach ($contacts as $membership) { $contact = $membership->getNagiosContact(); if (!$first) { fputs($fp, ","); } else { $first = false; } fputs($fp, $contact->getName()); } fputs($fp, "\n"); } // Get contact groups $contactGroups = $escalation->getNagiosEscalationContactgroups(); if (count($contactGroups)) { fputs($fp, "\tcontact_groups\t"); $first = true; foreach ($contactGroups as $membership) { $contactGroup = $membership->getNagiosContactGroup(); if (!$first) { fputs($fp, ","); } else { $first = false; } fputs($fp, $contactGroup->getName()); } fputs($fp, "\n"); } if ($escalation->getEscalationPeriod()) { fputs($fp, "\tescalation_period\t"); $timePeriod = NagiosTimeperiodPeer::retrieveByPK($escalation->getEscalationPeriod()); fputs($fp, $timePeriod->getName() . "\n"); } if ($escalation->getFirstNotification()) { fputs($fp, "\tfirst_notification\t" . $escalation->getFirstNotification() . "\n"); } if ($escalation->getLastNotification()) { fputs($fp, "\tlast_notification\t" . $escalation->getLastNotification() . "\n"); } if ($escalation->getNotificationInterval()) { fputs($fp, "\tnotification_interval\t" . $escalation->getNotificationInterval() . "\n"); } if ($escalation->getEscalationOptionsUp() != null || $escalation->getEscalationOptionsDown() != null || $escalation->getEscalationOptionsUnreachable() != null || $escalation->getEscalationOptionsOk() != null || $escalation->getEscalationOptionsWarning() != null || $escalation->getEscalationOptionsUnknown() != null || $escalation->getEscalationOptionsCritical() != null) { fputs($fp, "\tescalation_options\t"); if ($escalation->getEscalationOptionsUp()) { fputs($fp, "r"); if ($escalation->getEscalationOptionsDown() || $escalation->getEscalationOptionsUnreachable() || $escalation->getEscalationOptionsOk() || $escalation->getEscalationOptionsWarning() || $escalation->getEscalationOptionsUnknown() || $escalation->getEscalationOptionsCritical()) { fputs($fp, ","); } } if ($escalation->getEscalationOptionsDown()) { fputs($fp, "d"); if ($escalation->getEscalationOptionsUnreachable() || $escalation->getEscalationOptionsOk() || $escalation->getEscalationOptionsWarning() || $escalation->getEscalationOptionsUnknown() || $escalation->getEscalationOptionsCritical()) { fputs($fp, ","); } } if ($escalation->getEscalationOptionsUnreachable()) { fputs($fp, "u"); if ($escalation->getEscalationOptionsOk() || $escalation->getEscalationOptionsWarning() || $escalation->getEscalationOptionsUnknown() || $escalation->getEscalationOptionsCritical()) { fputs($fp, ","); } } if ($escalation->getEscalationOptionsOk()) { fputs($fp, "o"); if ($escalation->getEscalationOptionsWarning() || $escalation->getEscalationOptionsUnknown() || $escalation->getEscalationOptionsCritical()) { fputs($fp, ","); } } if ($escalation->getEscalationOptionsWarning()) { fputs($fp, "w"); if ($escalation->getEscalationOptionsUnknown() || $escalation->getEscalationOptionsCritical()) { fputs($fp, ","); } } if ($escalation->getEscalationOptionsUnknown()) { fputs($fp, "u"); if ($escalation->getEscalationOptionsCritical()) { fputs($fp, ","); } } if ($escalation->getEscalationOptionsCritical()) { fputs($fp, "c"); } fputs($fp, "\n"); } fputs($fp, "}\n"); fputs($fp, "\n"); }