示例#1
0
 /**
  * Does a document checkin.
  *
  * @param string $session_id
  * @param int $document_id
  * @param string $filename
  * @param string $reason
  * @param string $base64
  * @param boolean $major_update
  * @return kt_document_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_DOCUMENT, KTWS_ERR_INVALID_DOCUMENT or KTWS_SUCCESS
  */
 function checkin_small_document($session_id, $document_id, $filename, $reason, $base64, $major_update)
 {
     $this->debug("checkin_small_document('{$session_id}',{$document_id},'{$filename}','{$reason}','*** base64 content ***',{$major_update})");
     $kt =& $this->get_ktapi($session_id);
     if (is_array($kt)) {
         return new SOAP_Value('return', "{urn:{$this->namespace}}kt_document_detail", $kt);
     }
     $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT);
     $upload_manager = new KTUploadManager();
     $tempfilename = $upload_manager->store_base64_file($base64, 'su_');
     if (PEAR::isError($tempfilename)) {
         $reason = $tempfilename->getMessage();
         $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT, 'Cannot write to temp file: ' . $tempfilename . ". Reason: {$reason}");
         $this->debug("checkin_small_document - cannot write {$tempfilename}. Reason: {$reason}", $session_id);
         return new SOAP_Value('return', "{urn:{$this->namespace}}kt_document_detail", $response);
     }
     // simulate the upload
     $tempfilename = $upload_manager->uploaded($filename, $tempfilename, 'C');
     $document =& $kt->get_document_by_id($document_id);
     if (PEAR::isError($document)) {
         $response['message'] = $document->getMessage();
         $this->debug("checkin_small_document - cannot get documentid {$document_id} - " . $document->getMessage(), $session_id);
         return new SOAP_Value('return', "{urn:{$this->namespace}}kt_document_detail", $response);
     }
     $result = $document->checkin($filename, $reason, $tempfilename, $major_update);
     if (PEAR::isError($result)) {
         $response['message'] = $result->getMessage();
         $this->debug("checkin_small_document - cannot checkin document - " . $result->getMessage(), $session_id);
         return new SOAP_Value('return', "{urn:{$this->namespace}}kt_document_detail", $response);
     }
     // get status after checkin
     return $this->get_document_detail($session_id, $document_id);
 }
示例#2
0
$session = $ktapi->get_active_session($session_id, null, $apptype);
if (PEAR::isError($session)) {
    respond(4, $session->getMessage());
}
$upload_manager = new KTUploadManager();
$upload_manager->cleanup();
$upload_manager->set_session($session);
$failed = 0;
$added = array();
$lastMessage = '';
foreach ($_FILES as $key => $file) {
    $filename = $file['name'];
    $tempfile = $file['tmp_name'];
    $error = $file['error'];
    if ($error == UPLOAD_ERR_OK) {
        $result = $upload_manager->uploaded($filename, $tempfile, $action);
        if (PEAR::isError($result)) {
            $lastMessage = $result->getMessage();
            $default->log->error("Cannot upload file '{$filename}'. Temp location: '{$tempfile}'. " . $lastMessage);
            $failed++;
            continue;
        }
        if ($result !== false) {
            $file['tmp_name'] = $result;
            $added[$key] = $file;
        } else {
            $failed++;
        }
    }
}
if ($failed) {
示例#3
0
 /**
  * Does a document checkin.
  *
  * @author KnowledgeTree Team
  * @access public
  * @param int $document_id
  * @param string $filename
  * @param string $reason
  * @param string $base64
  * @param boolean $major_update
  * @return kt_document_detail.
  */
 public function checkin_small_document($document_id, $filename, $reason, $base64, $major_update, $sig_username = '', $sig_password = '')
 {
     $response = $this->_check_electronic_signature($document_id, $sig_username, $sig_password, $reason, $reason, 'ktcore.transactions.check_in');
     if ($response['status_code'] == 1) {
         return $response;
     }
     $upload_manager = new KTUploadManager();
     $tempfilename = $upload_manager->store_base64_file($base64, 'su_');
     if (PEAR::isError($tempfilename)) {
         $reason = $tempfilename->getMessage();
         $response['status_code'] = 1;
         $response['message'] = 'Cannot write to temp file: ' . $tempfilename . ". Reason: {$reason}";
         return $response;
     }
     // simulate the upload
     $tempfilename = $upload_manager->uploaded($filename, $tempfilename, 'C');
     $document =& $this->get_document_by_id($document_id);
     if (PEAR::isError($document)) {
         $response['status_code'] = 1;
         $response['message'] = $document->getMessage();
         return $response;
     }
     $result = $document->checkin($filename, $reason, $tempfilename, $major_update);
     if (PEAR::isError($result)) {
         $response['status_code'] = 1;
         $response['message'] = $result->getMessage();
         return $response;
     }
     // get status after checkin
     return $this->get_document_detail($document_id);
 }