示例#1
0
 /**
  * undocumented function
  *
  * @param XRD_Document $xrd 
  * @return OExchange_Service
  */
 public static function fromXRD(XRD_Document $xrd)
 {
     $service = new OExchange_Target();
     $service->subject = $xrd->subject;
     $iconLink = $xrd->firstLinkByRel('icon');
     $service->icon = $iconLink->href;
     $service->iconType = $iconLink->type;
     $icon32Link = $xrd->firstLinkByRel('icon32');
     $service->icon32 = $icon32Link->href;
     $service->icon32Type = $icon32Link->type;
     $offerLink = $xrd->firstLinkByRel(self::OEXCHANGE_OFFER_REL);
     $service->offer = $offerLink->href;
     $service->offerType = $offerLink->type;
     $propertyMap = array('title' => self::OEXCHANGE_TITLE_PROPERTY_TYPE, 'vendor' => self::OEXCHANGE_VENDOR_PROPERTY_TYPE, 'name' => self::OEXCHANGE_NAME_PROPERTY_TYPE, 'prompt' => self::OEXCHANGE_PROMPT_PROPERTY_TYPE);
     foreach ($propertyMap as $propertyName => $propertyType) {
         $service->{$propertyName} = $xrd->firstPropertyByType($propertyType)->value;
     }
     return $service;
 }