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