You are here

static function CMISRepositoryWrapper::extractTypeDefFromNode in CMIS API 6.4

Same name and namespace in other branches
  1. 6.3 cmis_common/lib/cmis_repository_wrapper.php \CMISRepositoryWrapper::extractTypeDefFromNode()
  2. 7 cmis_common/lib/cmis_repository_wrapper.php \CMISRepositoryWrapper::extractTypeDefFromNode()
1 call to CMISRepositoryWrapper::extractTypeDefFromNode()
CMISRepositoryWrapper::extractTypeDef in cmis_common/lib/cmis_repository_wrapper.php

File

cmis_common/lib/cmis_repository_wrapper.php, line 229

Class

CMISRepositoryWrapper

Code

static function extractTypeDefFromNode($xmlnode) {

  // Extracts the contents of an Object and organizes them into:
  //  -- Links
  //  -- Properties
  //  -- the Object ID
  // RRM -- NEED TO ADD ALLOWABLEACTIONS
  $retval = new stdClass();
  $retval->links = CMISRepositoryWrapper::getLinksArray($xmlnode);
  $retval->properties = array();
  $retval->attributes = array();
  $result = CMISRepositoryWrapper::doXQueryFromNode($xmlnode, "//cmisra:type/*");
  foreach ($result as $node) {
    if (substr($node->nodeName, 0, 13) == "cmis:property" && substr($node->nodeName, -10) == "Definition") {
      $id = $node
        ->getElementsByTagName("id")
        ->item(0)->nodeValue;
      $cardinality = $node
        ->getElementsByTagName("cardinality")
        ->item(0)->nodeValue;
      $propertyType = $node
        ->getElementsByTagName("propertyType")
        ->item(0)->nodeValue;

      // Stop Gap for now
      $retval->properties[$id] = array(
        "cmis:propertyType" => $propertyType,
        "cmis:cardinality" => $cardinality,
      );
    }
    else {
      $retval->attributes[$node->nodeName] = $node->nodeValue;
    }
    $retval->id = $retval->attributes["cmis:id"];
  }

  /*
  *



  		$prop_nodes = $xmlnode->getElementsByTagName("object")->item(0)->getElementsByTagName("properties")->item(0)->childNodes;
  		foreach ($prop_nodes as $pn) {
  			if ($pn->attributes) {
  				$retval->properties[$pn->attributes->getNamedItem("propertyDefinitionId")->nodeValue] = $pn->getElementsByTagName("value")->item(0)->nodeValue;
  			}
  		}
         $retval->uuid=$xmlnode->getElementsByTagName("id")->item(0)->nodeValue;
         $retval->id=$retval->properties["cmis:objectId"];
  */
  return $retval;
}