/**
  * @internal
  */
 static function extractObjectFeedFromNode($xmlnode)
 {
     // Process a feed and extract the objects
     //   Does not handle hierarchy
     //   Provides two arrays
     //   -- one sequential array (a list)
     //   -- one hash table indexed by objectID
     //   and a property "numItems" that holds the total number of items available.
     $retval = new stdClass();
     // extract total number of items
     $numItemsNode = CMISRepositoryWrapper::doXQueryFromNode($xmlnode, "/atom:feed/cmisra:numItems");
     $retval->numItems = $numItemsNode->length ? (int) $numItemsNode->item(0)->nodeValue : -1;
     // set to negative value if info is not available
     $retval->objectList = array();
     $retval->objectsById = array();
     $result = CMISRepositoryWrapper::doXQueryFromNode($xmlnode, "/atom:feed/atom:entry");
     foreach ($result as $node) {
         $obj = CMISRepositoryWrapper::extractObjectFromNode($node);
         $retval->objectsById[$obj->id] = $obj;
         $retval->objectList[] =& $retval->objectsById[$obj->id];
     }
     return $retval;
 }
示例#2
0
 static function extractObjectFeedFromNode($xmlnode)
 {
     // Process a feed and extract the objects
     //   Does not handle hierarchy
     //   Provides two arrays
     //   -- one sequential array (a list)
     //   -- one hash table indexed by objectID
     $retval = new stdClass();
     $retval->objectList = array();
     $retval->objectsById = array();
     $result = CMISRepositoryWrapper::doXQueryFromNode($xmlnode, "//atom:entry");
     foreach ($result as $node) {
         $obj = CMISRepositoryWrapper::extractObjectFromNode($node);
         $retval->objectsById[$obj->id] = $obj;
         $retval->objectList[] =& $retval->objectsById[$obj->id];
     }
     return $retval;
 }