示例#1
0
 /**
  * Creates individual Entry objects of the appropriate type and
  * stores them as members of this entry based upon DOM data.
  *
  * @param DOMNode $child The DOMNode to process
  */
 protected function takeChildFromDOM($child)
 {
     $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
     switch ($absoluteNodeName) {
         case $this->lookupNamespace('gphoto') . ':' . 'albumid':
             $albumId = new Extension\AlbumId();
             $albumId->transferFromDOM($child);
             $this->_gphotoAlbumId = $albumId;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'id':
             $id = new Extension\Id();
             $id->transferFromDOM($child);
             $this->_gphotoId = $id;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'version':
             $version = new Extension\Version();
             $version->transferFromDOM($child);
             $this->_gphotoVersion = $version;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'width':
             $width = new Extension\Width();
             $width->transferFromDOM($child);
             $this->_gphotoWidth = $width;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'height':
             $height = new Extension\Height();
             $height->transferFromDOM($child);
             $this->_gphotoHeight = $height;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'size':
             $size = new Extension\Size();
             $size->transferFromDOM($child);
             $this->_gphotoSize = $size;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'client':
             $client = new Extension\Client();
             $client->transferFromDOM($child);
             $this->_gphotoClient = $client;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'checksum':
             $checksum = new Extension\Checksum();
             $checksum->transferFromDOM($child);
             $this->_gphotoChecksum = $checksum;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'timestamp':
             $timestamp = new Extension\Timestamp();
             $timestamp->transferFromDOM($child);
             $this->_gphotoTimestamp = $timestamp;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'commentingEnabled':
             $commentingEnabled = new Extension\CommentingEnabled();
             $commentingEnabled->transferFromDOM($child);
             $this->_gphotoCommentingEnabled = $commentingEnabled;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'commentCount':
             $commentCount = new Extension\CommentCount();
             $commentCount->transferFromDOM($child);
             $this->_gphotoCommentCount = $commentCount;
             break;
         case $this->lookupNamespace('exif') . ':' . 'tags':
             $exifTags = new \Zend\GData\EXIF\Extension\Tags();
             $exifTags->transferFromDOM($child);
             $this->_exifTags = $exifTags;
             break;
         case $this->lookupNamespace('georss') . ':' . 'where':
             $geoRssWhere = new \Zend\GData\Geo\Extension\GeoRssWhere();
             $geoRssWhere->transferFromDOM($child);
             $this->_geoRssWhere = $geoRssWhere;
             break;
         default:
             parent::takeChildFromDOM($child);
             break;
     }
 }
示例#2
0
 protected function takeChildFromDOM($child)
 {
     $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
     switch ($absoluteNodeName) {
         case $this->lookupNamespace('gphoto') . ':' . 'id':
             $id = new Extension\Id();
             $id->transferFromDOM($child);
             $this->_gphotoId = $id;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'version':
             $version = new Extension\Version();
             $version->transferFromDOM($child);
             $this->_gphotoVersion = $version;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'albumid':
             $albumid = new Extension\AlbumId();
             $albumid->transferFromDOM($child);
             $this->_gphotoAlbumId = $albumid;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'width':
             $width = new Extension\Width();
             $width->transferFromDOM($child);
             $this->_gphotoWidth = $width;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'height':
             $height = new Extension\Height();
             $height->transferFromDOM($child);
             $this->_gphotoHeight = $height;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'size':
             $size = new Extension\Size();
             $size->transferFromDOM($child);
             $this->_gphotoSize = $size;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'client':
             $client = new Extension\Client();
             $client->transferFromDOM($child);
             $this->_gphotoClient = $client;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'checksum':
             $checksum = new Extension\Checksum();
             $checksum->transferFromDOM($child);
             $this->_gphotoChecksum = $checksum;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'timestamp':
             $timestamp = new Extension\Timestamp();
             $timestamp->transferFromDOM($child);
             $this->_gphotoTimestamp = $timestamp;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'commentingEnabled':
             $commentingEnabled = new Extension\CommentingEnabled();
             $commentingEnabled->transferFromDOM($child);
             $this->_gphotoCommentingEnabled = $commentingEnabled;
             break;
         case $this->lookupNamespace('gphoto') . ':' . 'commentCount':
             $commentCount = new Extension\CommentCount();
             $commentCount->transferFromDOM($child);
             $this->_gphotoCommentCount = $commentCount;
             break;
         case $this->lookupNamespace('media') . ':' . 'group':
             $mediaGroup = new \Zend\GData\Media\Extension\MediaGroup();
             $mediaGroup->transferFromDOM($child);
             $this->_mediaGroup = $mediaGroup;
             break;
         case $this->lookupNamespace('atom') . ':' . 'entry':
             $entryClassName = $this->_entryClassName;
             $tmpEntry = new \Zend\GData\App\Entry($child);
             $categories = $tmpEntry->getCategory();
             foreach ($categories as $category) {
                 if ($category->scheme == Photos::KIND_PATH && $this->_entryKindClassMapping[$category->term] != "") {
                     $entryClassName = $this->_entryKindClassMapping[$category->term];
                     break;
                 } else {
                     throw new \Zend\GData\App\Exception('Entry is missing kind declaration.');
                 }
             }
             $newEntry = new $entryClassName($child);
             $newEntry->setService($this->getService());
             $this->_entry[] = $newEntry;
             break;
         default:
             parent::takeChildFromDOM($child);
             break;
     }
 }