/**
  * Retrieves data about a specific folder OR document within a folder
  *
  * @param object $ObjectService The CMIS service
  * @param string $repositoryId
  * @param string $folderId
  * @return string CMIS AtomPub feed
  */
 public static function getObjectFeed(&$service, $ObjectService, $repositoryId, $objectId, $method = 'GET')
 {
     $serviceType = $service->getServiceType();
     $response = $ObjectService->getProperties($repositoryId, $objectId, false, false);
     if (PEAR::isError($response)) {
         return KT_cmis_atom_service_helper::getErrorFeed($service, KT_cmis_atom_service::STATUS_SERVER_ERROR, $response->getMessage());
     }
     $cmisEntry = $response;
     $response = null;
     // POST/PWC responses only send back an entry, not a feed
     if ($serviceType == 'PWC' || $method == 'POST') {
         if ($method == 'POST') {
             $response = new KT_cmis_atom_response_POST(CMIS_APP_BASE_URI);
         } else {
             $response = new KT_cmis_atom_response_GET(CMIS_APP_BASE_URI);
         }
     } else {
         if ($method == 'GET') {
             $response = new KT_cmis_atom_responseFeed_GET(CMIS_APP_BASE_URI);
             $response->newField('title', $cmisEntry['properties']['ObjectTypeId']['value'], $response);
             $response->newField('id', 'urn:uuid:' . $cmisEntry['properties']['ObjectId']['value'], $response);
         }
     }
     if ($serviceType == 'PWC') {
         $pwc = true;
     } else {
         $pwc = false;
     }
     KT_cmis_atom_service_helper::createObjectEntry($response, $cmisEntry, $cmisEntry['properties']['ParentId']['value'], $pwc, $method);
     // Don't think this should be here...only one item so why would we need to say there are no more?
     /*if ($method == 'GET') {
           $response->newField('cmis:hasMoreItems', 'false', $response);
       }*/
     return $response;
 }
 /**
  * Deals with GET actions for checkedout documents. 
  */
 public function GET_action()
 {
     $RepositoryService = new RepositoryService();
     $NavigationService = new NavigationService(KT_cmis_atom_service_helper::getKt());
     $repositories = $RepositoryService->getRepositories();
     $repositoryId = $repositories[0]['repositoryId'];
     $checkedout = $NavigationService->getCheckedOutDocs($repositoryId);
     //print_r($checkedout);exit;
     //Create a new response feed
     $feed = new KT_cmis_atom_responseFeed_GET(CMIS_APP_BASE_URI);
     $workspace = $feed->getWorkspace();
     $feed->newField('title', 'Checked out Documents', $feed);
     // TODO dynamic?
     $feedElement = $feed->newField('author');
     $element = $feed->newField('name', 'admin', $feedElement);
     $feed->appendChild($feedElement);
     $feed->appendChild($feed->newElement('id', 'urn:uuid:checkedout'));
     // TODO get actual most recent update time, only use current if no other available
     $feed->appendChild($feed->newElement('updated', KT_cmis_atom_service_helper::formatDatestamp()));
     $link = $feed->newElement('link');
     $link->appendChild($feed->newAttr('rel', 'self'));
     $link->appendChild($feed->newAttr('href', CMIS_APP_BASE_URI . $workspace . '/checkedout'));
     $feed->appendChild($link);
     $link = $feed->newElement('link');
     $link->appendChild($feed->newAttr('rel', 'first'));
     $link->appendChild($feed->newAttr('href', CMIS_APP_BASE_URI . $workspace . '/checkedout/pageNo=1&pageSize=0'));
     $link->appendChild($feed->newAttr('type', 'application/atom+xml;type=feed'));
     $feed->appendChild($link);
     $link = $feed->newElement('link');
     $link->appendChild($feed->newAttr('rel', 'last'));
     // TODO set page number correctly - to be done when we support paging the the API
     $link->appendChild($feed->newAttr('href', CMIS_APP_BASE_URI . $workspace . '/checkedout/pageNo=1&pageSize=0'));
     $link->appendChild($feed->newAttr('type', 'application/atom+xml;type=feed'));
     $feed->appendChild($link);
     foreach ($checkedout as $cmisEntry) {
         KT_cmis_atom_service_helper::createObjectEntry($feed, $cmisEntry, $folderName, true);
         //			// after each entry, add app:edited tag
         //           	$feed->newField('app:edited', KT_cmis_atom_service_helper::formatDatestamp(), $feed);
     }
     $feed->newField('cmis:hasMoreItems', 'false', $feed);
     //        $entry = null;
     //        $feed->newField('cmis:hasMoreItems', 'false', $entry, true);
     //Expose the responseFeed
     $this->responseFeed = $feed;
 }