You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by ri...@apache.org on 2010/11/29 04:57:36 UTC
svn commit: r1040011 -
/incubator/chemistry/phpclient/trunk/cmis_repository_wrapper.php
Author: richardm
Date: Mon Nov 29 03:57:36 2010
New Revision: 1040011
URL: http://svn.apache.org/viewvc?rev=1040011&view=rev
Log:
CMIS-274 -- Parse allowableActions on objects -- Patch Provided by Patrice Collardez
Modified:
incubator/chemistry/phpclient/trunk/cmis_repository_wrapper.php
Modified: incubator/chemistry/phpclient/trunk/cmis_repository_wrapper.php
URL: http://svn.apache.org/viewvc/incubator/chemistry/phpclient/trunk/cmis_repository_wrapper.php?rev=1040011&r1=1040010&r2=1040011&view=diff
==============================================================================
--- incubator/chemistry/phpclient/trunk/cmis_repository_wrapper.php (original)
+++ incubator/chemistry/phpclient/trunk/cmis_repository_wrapper.php Mon Nov 29 03:57:36 2010
@@ -329,6 +329,26 @@ class CMISRepositoryWrapper
}
return $links;
}
+ static function extractAllowableActions($xmldata)
+ {
+ $doc = new DOMDocument();
+ $doc->loadXML($xmldata);
+ return CMISRepositoryWrapper :: extractAllowableActionsFromNode($doc);
+ }
+ static function extractAllowableActionsFromNode($xmlnode)
+ {
+ $result = array();
+ $allowableActions = $xmlnode->getElementsByTagName("allowableActions");
+ if ($allowableActions->length > 0) {
+ foreach($allowableActions->item(0)->childNodes as $action)
+ {
+ if (isset($action->localName)) {
+ $result[$action->localName] = (preg_match("/^true$/i", $action->nodeValue) > 0);
+ }
+ }
+ }
+ return $result;
+ }
static function extractObject($xmldata)
{
$doc = new DOMDocument();
@@ -371,6 +391,7 @@ class CMISRepositoryWrapper
$children_doc->appendChild($xnode);
$retval->children = CMISRepositoryWrapper :: extractObjectFeedFromNode($children_doc);
}
+ $retval->allowableActions = CMISRepositoryWrapper :: extractAllowableActionsFromNode($xmlnode);
return $retval;
}
@@ -1036,9 +1057,10 @@ xmlns:cmisra="http://docs.oasis-open.org
function getAllowableActions($objectId, $options = array ())
{
- // get stripped down version of object (for the links) and then get the allowable actions?
- // Low priority -- can get all information when getting object
- throw Exception("Not Implemented");
+ $myURL = $this->getLink($objectId, LINK_ALLOWABLE_ACTIONS);
+ $ret = $this->doGet($myURL);
+ $result = $this->extractAllowableActions($ret->body);
+ return $result;
}
function getRenditions($objectId, $options = array (