/** * Get Cdb XML string * * @param CultureFeed_Cdb_Item_Base $item * * @return string * @throws \Exception */ private function getCdbXml(\CultureFeed_Cdb_Item_Base $item) { $cdb = new \CultureFeed_Cdb_Default($this->cdb_schema_version); $cdb->addItem($item); return (string) $cdb; }
/** * Update an actor. * * @param CultureFeed_Cdb_Item_Actor $actor * The actor to update. */ public function updateActor(CultureFeed_Cdb_Item_Actor $actor) { $cdb = new CultureFeed_Cdb_Default($this->cdbXmlVersion); $cdb->addItem($actor); $result = $this->oauth_client->authenticatedPostAsXml('actor/' . $actor->getCdbId(), array('raw_data' => $cdb->__toString()), TRUE); $xml = $this->validateResult($result, self::CODE_ITEM_MODIFIED); }
/** * Get the xmlview items * * @param SimpleXMLElement $xmlElement * * @return array */ protected static function parseFromCdbXmlXmlview(SimpleXMLElement $xmlElement) { $items = array(); if ($xmlElement->events) { $listName = 'events'; $itemName = 'event'; } elseif ($xmlElement->actors) { $listName = 'actors'; $itemName = 'actor'; } elseif ($xmlElement->productions) { $listName = 'productions'; $itemName = 'production'; } foreach ($xmlElement->{$listName}->{$itemName} as $item) { $items[] = CultureFeed_Cdb_Default::parseItem($item); } return $items; }
/** * Create an extended entity based on a given xmlElement. * @param SimpleXMLElement $xmlElement */ public static function fromXml(SimpleXMLElement $xmlElement) { $cdbItem = \CultureFeed_Cdb_Default::parseItem($xmlElement); if (!$cdbItem) { return NULL; } $extendedEntity = new static(); $extendedEntity->type = $xmlElement->getName(); $extendedEntity->id = $cdbItem->getCdbId(); // Add the different activity counts. if (!empty($xmlElement->activities)) { foreach ($xmlElement->activities->activity as $activity) { $activityType = (string) $activity->attributes()->type; $extendedEntity->activityCounts[$activityType] = (int) $activity->attributes()->count; } } $extendedEntity->entity = $cdbItem; return $extendedEntity; }
public function testConstructorWithoutSpecificVersion() { $cdbXml = new CultureFeed_Cdb_Default(); $this->assertEquals(CultureFeed_Cdb_Xml::namespaceUriForVersion('3.2'), $cdbXml->getSchemaUrl()); $this->assertEquals('3.2', $cdbXml->getSchemaVersion()); }
/** * Get the xmlview items * @param SimpleXMLElement $xmlElement * @return array */ protected static function parseFromCdbXmlXmlview(SimpleXMLElement $xmlElement) { $items = array(); if ($xmlElement->events) { $listName = 'events'; $itemName = 'event'; } elseif ($xmlElement->actors) { $listName = 'actors'; $itemName = 'actor'; } elseif ($xmlElement->productions) { $listName = 'productions'; $itemName = 'production'; } if (isset($listName) && isset($itemName)) { foreach ($xmlElement->{$listName}->{$itemName} as $item) { $listItem = CultureFeed_Cdb_Default::parseItem($item); $listItem->setSource($item); $items[] = $listItem; } } else { foreach ($xmlElement as $item) { if ($listItem = CultureFeed_Cdb_Default::parseItem($item)) { $listItem->setSource($item); $items[] = $listItem; } } } return $items; }