コード例 #1
0
ファイル: Organiser.php プロジェクト: RustiSub/Cdb
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement $xmlElement)
  * @return CultureFeed_Cdb_Data_Organiser
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     $organiser = new CultureFeed_Cdb_Data_Organiser();
     if (empty($xmlElement->label) && empty($xmlElement->actor)) {
         //throw new CultureFeed_Cdb_ParseException("One of the required fields (actor or label) is missing for organiser element");
     }
     if (!empty($xmlElement->label)) {
         $organiser->setLabel((string) $xmlElement->label);
         $attributes = $xmlElement->label->attributes();
         if (!empty($attributes->cdbid)) {
             $organiser->setCdbid((string) $attributes->cdbid);
         }
     } elseif (!empty($xmlElement->actor)) {
         $actor = CultureFeed_Cdb_Item_Actor::parseFromCdbXml($xmlElement->actor);
         $organiser->setActor($actor);
     }
     return $organiser;
 }
コード例 #2
0
ファイル: V2Adapter.php プロジェクト: RustiSub/CnetSync
 /**
  * @param \CultureFeed_Cdb_Data_Organiser|\CultureFeed_Cdb_Data_Location $item
  * @throws \EgoCore\Error\Exception
  */
 private function completeActor($item)
 {
     if ($item && !$item->getActor() && ($actorCdbId = $item->getCdbid())) {
         if (isset($actorCache[$actorCdbId])) {
             $actor = $actorCache[$actorCdbId];
         } else {
             if ($actor = $this->getActor($actorCdbId)) {
                 $actorCache[$actorCdbId] = $actor;
             }
         }
         if ($actor) {
             $item->setActor($actor);
         }
     }
 }