/** * Add elements into the specified zone * * @param \XLite\Model\Zone $zone Zone object * @param array $data Array of elements: array(<elementType> => array(value1, value2, value3...)) * * @return \XLite\Model\Zone */ public function addElements($zone, $data) { foreach ($data as $elementType => $elements) { if (is_array($elements) && !empty($elements)) { foreach ($elements as $elementValue) { $newElement = new \XLite\Model\ZoneElement(); $newElement->setElementValue($elementValue); $newElement->setElementType($elementType); $newElement->setZone($zone); $zone->addZoneElements($newElement); } } } return $zone; }
/** * testGetZoneAddresses * * @return void * @access public * @see ____func_see____ * @since 1.0.0 */ public function testGetZoneAddresses() { $zone = \XLite\Core\Database::getRepo('XLite\\Model\\Zone')->findOneBy(array('zone_name' => 'New York area')); $this->assertNotNull($zone, 'check zone'); $zoneElement = new \XLite\Model\ZoneElement(); $zoneElement->setElementValue('addr'); $zoneElement->setElementType('A'); $zoneElement->setZone($zone); $zone->addZoneElements($zoneElement); $addresses = $zone->getZoneAddresses(); $this->assertTrue(in_array('addr', $addresses), 'addr is not found in zone definition'); }