public function getValues($inherited = false) { $values = array(); $c = new Criteria(); $c->add(NagiosHostTemplateInheritancePeer::SOURCE_HOST, $this->getId()); $c->addAscendingOrderByColumn(NagiosHostTemplateInheritancePeer::ORDER); $inheritanceTemplates = NagiosHostTemplateInheritancePeer::doSelect($c); if (count($inheritanceTemplates)) { // This template has inherited templates, let's bring their values in foreach ($inheritanceTemplates as $inheritanceItem) { $hostTemplate = $inheritanceItem->getNagiosHostTemplateRelatedByTargetTemplate(); $templateValues = $hostTemplate->getValues(true); $values = array_merge($values, $templateValues); } } foreach (NagiosHostPeer::getFieldNames() as $fieldName) { $colName = NagiosHostPeer::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_host."))); // $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->getName()), '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 = NagiosHostPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setName($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setAlias($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setDisplayName($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setInitialState($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setAddress($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { $this->setCheckCommand($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { $this->setRetryInterval($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { $this->setFirstNotificationDelay($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { $this->setMaximumCheckAttempts($arr[$keys[9]]); } if (array_key_exists($keys[10], $arr)) { $this->setCheckInterval($arr[$keys[10]]); } if (array_key_exists($keys[11], $arr)) { $this->setPassiveChecksEnabled($arr[$keys[11]]); } if (array_key_exists($keys[12], $arr)) { $this->setCheckPeriod($arr[$keys[12]]); } if (array_key_exists($keys[13], $arr)) { $this->setObsessOverHost($arr[$keys[13]]); } if (array_key_exists($keys[14], $arr)) { $this->setCheckFreshness($arr[$keys[14]]); } if (array_key_exists($keys[15], $arr)) { $this->setFreshnessThreshold($arr[$keys[15]]); } if (array_key_exists($keys[16], $arr)) { $this->setActiveChecksEnabled($arr[$keys[16]]); } if (array_key_exists($keys[17], $arr)) { $this->setChecksEnabled($arr[$keys[17]]); } if (array_key_exists($keys[18], $arr)) { $this->setEventHandler($arr[$keys[18]]); } if (array_key_exists($keys[19], $arr)) { $this->setEventHandlerEnabled($arr[$keys[19]]); } if (array_key_exists($keys[20], $arr)) { $this->setLowFlapThreshold($arr[$keys[20]]); } if (array_key_exists($keys[21], $arr)) { $this->setHighFlapThreshold($arr[$keys[21]]); } if (array_key_exists($keys[22], $arr)) { $this->setFlapDetectionEnabled($arr[$keys[22]]); } if (array_key_exists($keys[23], $arr)) { $this->setProcessPerfData($arr[$keys[23]]); } if (array_key_exists($keys[24], $arr)) { $this->setRetainStatusInformation($arr[$keys[24]]); } if (array_key_exists($keys[25], $arr)) { $this->setRetainNonstatusInformation($arr[$keys[25]]); } if (array_key_exists($keys[26], $arr)) { $this->setNotificationInterval($arr[$keys[26]]); } if (array_key_exists($keys[27], $arr)) { $this->setNotificationPeriod($arr[$keys[27]]); } if (array_key_exists($keys[28], $arr)) { $this->setNotificationsEnabled($arr[$keys[28]]); } if (array_key_exists($keys[29], $arr)) { $this->setNotificationOnDown($arr[$keys[29]]); } if (array_key_exists($keys[30], $arr)) { $this->setNotificationOnUnreachable($arr[$keys[30]]); } if (array_key_exists($keys[31], $arr)) { $this->setNotificationOnRecovery($arr[$keys[31]]); } if (array_key_exists($keys[32], $arr)) { $this->setNotificationOnFlapping($arr[$keys[32]]); } if (array_key_exists($keys[33], $arr)) { $this->setNotificationOnScheduledDowntime($arr[$keys[33]]); } if (array_key_exists($keys[34], $arr)) { $this->setStalkingOnUp($arr[$keys[34]]); } if (array_key_exists($keys[35], $arr)) { $this->setStalkingOnDown($arr[$keys[35]]); } if (array_key_exists($keys[36], $arr)) { $this->setStalkingOnUnreachable($arr[$keys[36]]); } if (array_key_exists($keys[37], $arr)) { $this->setFailurePredictionEnabled($arr[$keys[37]]); } if (array_key_exists($keys[38], $arr)) { $this->setFlapDetectionOnUp($arr[$keys[38]]); } if (array_key_exists($keys[39], $arr)) { $this->setFlapDetectionOnDown($arr[$keys[39]]); } if (array_key_exists($keys[40], $arr)) { $this->setFlapDetectionOnUnreachable($arr[$keys[40]]); } if (array_key_exists($keys[41], $arr)) { $this->setNotes($arr[$keys[41]]); } if (array_key_exists($keys[42], $arr)) { $this->setNotesUrl($arr[$keys[42]]); } if (array_key_exists($keys[43], $arr)) { $this->setActionUrl($arr[$keys[43]]); } if (array_key_exists($keys[44], $arr)) { $this->setIconImage($arr[$keys[44]]); } if (array_key_exists($keys[45], $arr)) { $this->setIconImageAlt($arr[$keys[45]]); } if (array_key_exists($keys[46], $arr)) { $this->setVrmlImage($arr[$keys[46]]); } if (array_key_exists($keys[47], $arr)) { $this->setStatusmapImage($arr[$keys[47]]); } if (array_key_exists($keys[48], $arr)) { $this->setTwoDCoords($arr[$keys[48]]); } if (array_key_exists($keys[49], $arr)) { $this->setThreeDCoords($arr[$keys[49]]); } }