/** * @param CultureFeed_SimpleXMLElement $xml * @return CultureFeed_Uitpas_Passholder_ExecuteEventActionsResult */ public static function createFromXML(CultureFeed_SimpleXMLElement $xml) { $result = new self(); $result->passholder = CultureFeed_Uitpas_Passholder::createFromXML($xml->xpath('passHolder', false)); foreach ($xml->xpath('actions/action') as $action) { $result->addActionFromXML($action); } return $result; }
/** * @param CultureFeed_SimpleXMLElement $object * @return self */ public static function createFromXml(CultureFeed_SimpleXMLElement $object) { $identity = new static(); $cardXml = $object->xpath('card', false); $identity->card = CultureFeed_Uitpas_Passholder_Card::createFromXml($cardXml); $passHolderXml = $object->xpath('passHolder', false); if ($passHolderXml instanceof CultureFeed_SimpleXMLElement) { $identity->passHolder = CultureFeed_Uitpas_Passholder::createFromXML($passHolderXml); } $groupPassXml = $object->xpath('groupPass', false); if ($groupPassXml instanceof CultureFeed_SimpleXMLElement) { $identity->groupPass = CultureFeed_Uitpas_GroupPass::createFromXml($groupPassXml); } return $identity; }
public static function createFromXML(CultureFeed_SimpleXMLElement $xml) { $eventActions = new self(); $eventActions->passholder = CultureFeed_Uitpas_Passholder::createFromXML($xml->xpath('passHolder', FALSE)); $eventActions->welcomeAdvantages = CultureFeed_Uitpas_Passholder_WelcomeAdvantageResultSet::createFromXML($xml->xpath('welcomeAdvantages', FALSE), 'welcomeAdvantage'); $eventActions->pointsPromotions = CultureFeed_Uitpas_Passholder_PointsPromotionResultSet::createFromXML($xml->xpath('pointsPromotions', FALSE), 'pointsPromotion'); $eventCheckin = $xml->xpath('eventCheckin', FALSE); if ($eventCheckin instanceof CultureFeed_SimpleXMLElement) { $eventActions->eventCheckin = CultureFeed_Uitpas_Passholder_EventCheckin::createFromXML($eventCheckin); } $eventBuyTicket = $xml->xpath('eventBuyTicket', FALSE); if ($eventBuyTicket instanceof CultureFeed_SimpleXMLElement) { $eventActions->eventBuyTicket = CultureFeed_Uitpas_Passholder_EventBuyTicket::createFromXML($eventBuyTicket); } return $eventActions; }
/** * {@inheritdoc} */ public function searchPassholders(CultureFeed_Uitpas_Passholder_Query_SearchPassholdersOptions $query, $method = CultureFeed_Uitpas::CONSUMER_REQUEST) { $data = $query->toPostData(); if ($method == CultureFeed_Uitpas::CONSUMER_REQUEST) { $result = $this->oauth_client->consumerGetAsXml('uitpas/passholder/search', $data); } else { $result = $this->oauth_client->authenticatedGetAsXml('uitpas/passholder/search', $data); } try { $xml = new CultureFeed_SimpleXMLElement($result); } catch (Exception $e) { throw new CultureFeed_ParseException($result); } $passholders = array(); $objects = $xml->xpath('/response/passholders/passholder'); $total = $xml->xpath_int('/response/total'); foreach ($objects as $object) { $passholders[] = CultureFeed_Uitpas_Passholder::createFromXML($object); } $invalidUitpasNumbers = $xml->xpath_str('/response/invalidUitpasNumbers/invalidUitpasNumber', TRUE); return new CultureFeed_Uitpas_Passholder_ResultSet($total, $passholders, $invalidUitpasNumbers); }
public function testCreateFromXMLWithMemberships() { $xml = file_get_contents(dirname(__FILE__) . '/data/passholder.memberships.xml'); $simple_xml = new CultureFeed_SimpleXMLElement($xml); $passholder = CultureFeed_Uitpas_Passholder::createFromXML($simple_xml); $this->assertInstanceOf('CultureFeed_Uitpas_Passholder', $passholder); $this->assertInternalType('array', $passholder->memberships); $this->assertCount(1, $passholder->memberships); /** @var CultureFeed_Uitpas_Passholder_Membership $membership */ $membership = reset($passholder->memberships); $this->assertSame(1451602799, $membership->endDate); $this->assertSame(TRUE, $membership->renewable); $this->assertSame(1443653999, $membership->renewDate); $this->assertSame(1514761199, $membership->newEndDate); $this->assertSame(1, $membership->association->id); $this->assertSame('Chiro Jongens', $membership->association->name); }