converter_service_url = $converter_url; } /** * Convert ??? * @param type $parameterArray * @param type $dsid * @param type $file * @param type $output_ext * @return string */ function convert($parameterArray = NULL, $dsid, $file, $output_ext) { module_load_include('inc', 'fedora_repository', 'MimeClass'); #debug: #drupal_set_message("Sending $file to ". $this->converter_service_url ." for convertsion to $output_ext", 'status'); if (!empty($parameterArray['converter_url'])) { $this->converter_service_url = $parameterArray['converter_url']; } $helper = new MimeClass(); $inputType = $helper->get_mimetype($file); $outputType = $helper->get_mimetype($output_ext); $inputData = file_get_contents($file); $outputFile = $file . "_" . $dsid . "." . $output_ext; #debug: #drupal_set_message("inputType: $inputType", 'status'); #drupal_set_message("outputType: $outputType", 'status'); #drupal_set_message("outputFile: $outputFile", 'status'); $ch = curl_init($this->converter_service_url); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: $inputType", "Accept: $outputType")); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 120); // times out after 2 minutes curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return into a variable curl_setopt($ch, CURLOPT_POSTFIELDS, $inputData); // add POST fields #curl_setopt($ch, CURLOPT_HEADER, 1); #curl_setopt($ch, CURLOPT_VERBOSE, 1); $data = curl_exec($ch); // run the whole process $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (200 == $code) { $returnValue = file_put_contents($outputFile, $data); if ($returnValue > 0) { drupal_set_message(t("Conversion successful."), 'status'); $_SESSION['fedora_ingest_files']["$dsid"] = $outputFile; return $outputFile; } else { return $returnValue; // a.k.a. FALSE. } } else { drupal_set_message(t("Conversion Failed. Webservice returned $code."), 'status'); return FALSE; } } } /* $documentConverter = new DocumentConverter(); $inputFile = "document.docx"; $outputType = "txt"; $documentConverter->convert( NULL, 'TXT', $inputFile, $outputType); /* */