Commit 2cca3ddce43c897b4d28c8c26aaba598ec3e91ec

Authored by Paul Barrett
1 parent 34fdd917

Restored function in KTUploadManager which is required by CMIS code (or anything…

… else which may want to store content which is not base64 encoded.

KTS-4407. Function for storing non-base64 files required by CMIS document content functionality missing

Fixed

Committed by: Paul Barrett

Reviewed by: Jarrett Jordaan
ktwebservice/KTUploadManager.inc.php
... ... @@ -110,6 +110,7 @@ class KTUploadManager
110 110 return ($tempdir == $this->temp_dir);
111 111 */
112 112 }
  113 +
113 114 function store_base64_file($base64, $prefix= 'sa_')
114 115 {
115 116 $tempfilename = $this->get_temp_filename($prefix);
... ... @@ -133,6 +134,36 @@ class KTUploadManager
133 134  
134 135 return $tempfilename;
135 136 }
  137 +
  138 + /**
  139 + *
  140 + * @param string $content file content NOT base64 encoded (may be string, may be binary)
  141 + * @param string $prefix [optional]
  142 + * @return $tempfilename the name of the temporary file created
  143 + */
  144 + function store_file($content, $prefix= 'sa_')
  145 + {
  146 + $tempfilename = $this->get_temp_filename($prefix);
  147 + if (!is_writable($tempfilename))
  148 + {
  149 + return new PEAR_Error("Cannot write to file: $tempfilename");
  150 + }
  151 +
  152 + if (!$this->is_valid_temporary_file($tempfilename))
  153 + {
  154 + return new PEAR_Error("Invalid temporary file: $tempfilename. There is a problem with the temporary storage path: $this->temp_dir.");
  155 + }
  156 +
  157 + $fp=fopen($tempfilename, 'wb');
  158 + if ($fp === false)
  159 + {
  160 + return new PEAR_Error("Cannot write content to temporary file: $tempfilename.");
  161 + }
  162 + fwrite($fp, $content);
  163 + fclose($fp);
  164 +
  165 + return $tempfilename;
  166 + }
136 167  
137 168 /**
138 169 * This tells the manager to manage a file that has been uploaded.
... ...
webservice/atompub/cmis/KT_cmis_atom_server.services.inc.php
... ... @@ -447,7 +447,7 @@ class KT_cmis_atom_service_checkedout extends KT_cmis_atom_service {
447 447 $repositoryId = $repositories[0]['repositoryId'];
448 448  
449 449 $checkedout = $NavigationService->getCheckedOutDocs($repositoryId);
450   -//print_r($checkedout);exit;
  450 +
451 451 //Create a new response feed
452 452 $feed = new KT_cmis_atom_responseFeed_GET(CMIS_APP_BASE_URI);
453 453 $workspace = $feed->getWorkspace();
... ... @@ -492,9 +492,6 @@ class KT_cmis_atom_service_checkedout extends KT_cmis_atom_service {
492 492  
493 493 $feed->newField('cmis:hasMoreItems', 'false', $feed);
494 494  
495   -// $entry = null;
496   -// $feed->newField('cmis:hasMoreItems', 'false', $entry, true);
497   -
498 495 // Expose the responseFeed
499 496 $this->responseFeed = $feed;
500 497 }
... ...