/**
  * @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;
 }
Beispiel #4
0
 /**
  * {@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);
 }