public static function createFromXML(CultureFeed_SimpleXMLElement $object)
 {
     $membership = new CultureFeed_Uitpas_Passholder_Membership();
     $membership->id = $object->xpath_str('id');
     $membership->association = CultureFeed_Uitpas_Association::createFromXML($object->xpath('association', false));
     $membership->associationId = $object->xpath_str('association/id');
     $membership->name = $object->xpath_str('association/name');
     $membership->endDate = $object->xpath_time('endDate');
     $membership->renewable = $object->xpath_bool('renewable');
     $membership->newEndDate = $object->xpath_time('newEndDate');
     $membership->renewDate = $object->xpath_time('renewDate');
     $membership->expired = $object->xpath_bool('expired');
     return $membership;
 }
 /**
  * {@inheritdoc}
  */
 public function getAssociations($consumer_key_counter = NULL, $readPermission = NULL, $registerPermission = NULL)
 {
     $data = array();
     if ($consumer_key_counter) {
         $data['balieConsumerKey'] = $consumer_key_counter;
     }
     // The parameters reflect the existing UiTPAS API.
     // You have to leave out permissions completely if you don't want to
     // filter at all.
     // Filter values should be strings, because booleans would be casted to 0
     // or 1 and the API would not be able to parse those apparently.
     if (!is_null($readPermission)) {
         $data['readPermission'] = $readPermission ? 'true' : 'false';
     }
     if (!is_null($registerPermission)) {
         $data['registerPermission'] = $registerPermission ? 'true' : 'false';
     }
     $result = $this->oauth_client->authenticatedGetAsXML('uitpas/association/list', $data);
     try {
         $xml = new CultureFeed_SimpleXMLElement($result);
     } catch (Exception $e) {
         throw new CultureFeed_ParseException($result);
     }
     $associations = array();
     $objects = $xml->xpath('/response/associations/association');
     $total = count($objects);
     foreach ($objects as $object) {
         $associations[] = CultureFeed_Uitpas_Association::createFromXML($object);
     }
     return new CultureFeed_ResultSet($total, $associations);
 }