public function getValues($inherited = false) { $values = array(); $c = new Criteria(); $c->add(NagiosServiceTemplateInheritancePeer::SOURCE_SERVICE, $this->getId()); $c->addAscendingOrderByColumn(NagiosServiceTemplateInheritancePeer::ORDER); $inheritanceTemplates = NagiosServiceTemplateInheritancePeer::doSelect($c); if (count($inheritanceTemplates)) { // This template has inherited templates, let's bring their values in foreach ($inheritanceTemplates as $inheritanceItem) { $serviceTemplate = $inheritanceItem->getNagiosServiceTemplateRelatedByTargetTemplate(); $templateValues = $serviceTemplate->getValues(true); $values = array_merge($values, $templateValues); } } foreach (NagiosServicePeer::getFieldNames() as $fieldName) { $colName = NagiosServicePeer::translateFieldName($fieldName, BasePeer::TYPE_PHPNAME, BasePeer::TYPE_COLNAME); // At this point, $fieldName is the fieldname for each column in our table record $colName = strtolower(substr($colName, strlen("nagios_service."))); // $colName is now the abbreviated column name. switch ($colName) { case 'maximum_check_attempts': $colName = 'max_check_attempts'; break; } $methodName = "get" . $fieldName; if (method_exists($this, $methodName)) { $val = $this->{$methodName}(); if ($val !== null) { // Yay, let's populate $values[$colName] = array('inherited' => $inherited, 'source' => array('id' => $this->getId(), 'name' => $this->getDescription()), 'value' => $val); } } } return $values; }
/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. * The default key type is the column's phpname (e.g. 'AuthorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = NagiosServicePeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setDescription($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setDisplayName($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setHost($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setHostTemplate($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setHostgroup($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { $this->setInitialState($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { $this->setIsVolatile($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { $this->setCheckCommand($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { $this->setMaximumCheckAttempts($arr[$keys[9]]); } if (array_key_exists($keys[10], $arr)) { $this->setNormalCheckInterval($arr[$keys[10]]); } if (array_key_exists($keys[11], $arr)) { $this->setRetryInterval($arr[$keys[11]]); } if (array_key_exists($keys[12], $arr)) { $this->setFirstNotificationDelay($arr[$keys[12]]); } if (array_key_exists($keys[13], $arr)) { $this->setActiveChecksEnabled($arr[$keys[13]]); } if (array_key_exists($keys[14], $arr)) { $this->setPassiveChecksEnabled($arr[$keys[14]]); } if (array_key_exists($keys[15], $arr)) { $this->setCheckPeriod($arr[$keys[15]]); } if (array_key_exists($keys[16], $arr)) { $this->setParallelizeCheck($arr[$keys[16]]); } if (array_key_exists($keys[17], $arr)) { $this->setObsessOverService($arr[$keys[17]]); } if (array_key_exists($keys[18], $arr)) { $this->setCheckFreshness($arr[$keys[18]]); } if (array_key_exists($keys[19], $arr)) { $this->setFreshnessThreshold($arr[$keys[19]]); } if (array_key_exists($keys[20], $arr)) { $this->setEventHandler($arr[$keys[20]]); } if (array_key_exists($keys[21], $arr)) { $this->setEventHandlerEnabled($arr[$keys[21]]); } if (array_key_exists($keys[22], $arr)) { $this->setLowFlapThreshold($arr[$keys[22]]); } if (array_key_exists($keys[23], $arr)) { $this->setHighFlapThreshold($arr[$keys[23]]); } if (array_key_exists($keys[24], $arr)) { $this->setFlapDetectionEnabled($arr[$keys[24]]); } if (array_key_exists($keys[25], $arr)) { $this->setFlapDetectionOnOk($arr[$keys[25]]); } if (array_key_exists($keys[26], $arr)) { $this->setFlapDetectionOnWarning($arr[$keys[26]]); } if (array_key_exists($keys[27], $arr)) { $this->setFlapDetectionOnCritical($arr[$keys[27]]); } if (array_key_exists($keys[28], $arr)) { $this->setFlapDetectionOnUnknown($arr[$keys[28]]); } if (array_key_exists($keys[29], $arr)) { $this->setProcessPerfData($arr[$keys[29]]); } if (array_key_exists($keys[30], $arr)) { $this->setRetainStatusInformation($arr[$keys[30]]); } if (array_key_exists($keys[31], $arr)) { $this->setRetainNonstatusInformation($arr[$keys[31]]); } if (array_key_exists($keys[32], $arr)) { $this->setNotificationInterval($arr[$keys[32]]); } if (array_key_exists($keys[33], $arr)) { $this->setNotificationPeriod($arr[$keys[33]]); } if (array_key_exists($keys[34], $arr)) { $this->setNotificationOnWarning($arr[$keys[34]]); } if (array_key_exists($keys[35], $arr)) { $this->setNotificationOnUnknown($arr[$keys[35]]); } if (array_key_exists($keys[36], $arr)) { $this->setNotificationOnCritical($arr[$keys[36]]); } if (array_key_exists($keys[37], $arr)) { $this->setNotificationOnRecovery($arr[$keys[37]]); } if (array_key_exists($keys[38], $arr)) { $this->setNotificationOnFlapping($arr[$keys[38]]); } if (array_key_exists($keys[39], $arr)) { $this->setNotificationOnScheduledDowntime($arr[$keys[39]]); } if (array_key_exists($keys[40], $arr)) { $this->setNotificationsEnabled($arr[$keys[40]]); } if (array_key_exists($keys[41], $arr)) { $this->setStalkingOnOk($arr[$keys[41]]); } if (array_key_exists($keys[42], $arr)) { $this->setStalkingOnWarning($arr[$keys[42]]); } if (array_key_exists($keys[43], $arr)) { $this->setStalkingOnUnknown($arr[$keys[43]]); } if (array_key_exists($keys[44], $arr)) { $this->setStalkingOnCritical($arr[$keys[44]]); } if (array_key_exists($keys[45], $arr)) { $this->setFailurePredictionEnabled($arr[$keys[45]]); } if (array_key_exists($keys[46], $arr)) { $this->setNotes($arr[$keys[46]]); } if (array_key_exists($keys[47], $arr)) { $this->setNotesUrl($arr[$keys[47]]); } if (array_key_exists($keys[48], $arr)) { $this->setActionUrl($arr[$keys[48]]); } if (array_key_exists($keys[49], $arr)) { $this->setIconImage($arr[$keys[49]]); } if (array_key_exists($keys[50], $arr)) { $this->setIconImageAlt($arr[$keys[50]]); } }