/** * @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 registerPassholderInCardSystem($passholderId, CultureFeed_Uitpas_Passholder_Query_RegisterInCardSystemOptions $query) { $data = $query->toPostData(); $result = $this->oauth_client->authenticatedPostAsXml("uitpas/passholder/{$passholderId}/register", $data); try { $xml = new CultureFeed_SimpleXMLElement($result); } catch (Exception $e) { throw new CultureFeed_ParseException($result); } $object = $xml->xpath('/passHolder', false); return CultureFeed_Uitpas_Passholder::createFromXml($object); }
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); }
public function testUpdate() { $balieConsumerKey = 'b95d1bcf-533d-45ac-afcd-e015cfe86c84'; $passholder = new CultureFeed_Uitpas_Passholder(); $passholder->uitpasNumber = '1000001500601'; $passholder->name = 'Tester'; $oauth_client_stub = $this->getMock('CultureFeed_OAuthClient'); $path = 'uitpas/passholder/' . $passholder->uitpasNumber; $data = $passholder->toPostData(); $data['balieConsumerKey'] = $balieConsumerKey; $passholder_xml = file_get_contents(dirname(__FILE__) . '/data/passholder.update.succeeded.xml'); $oauth_client_stub->expects($this->any())->method('authenticatedPostAsXml')->with($path, $data)->willReturn($passholder_xml); $cf = new CultureFeed($oauth_client_stub); $cf->uitpas()->updatePassholder($passholder, $balieConsumerKey); }