/**
  * Create OO document element with conversion to Word 97 format.
  *
  * Added by Alex 2008/04/16
  *
  * @param DOMDocument Owner DOMDocument
  * @param eZContentObjectTreeNode eZContentObjectTreeNode object.
  *
  * @return DOMElement NameList DOMDocument, example:
  *
  *     <OODocument base64Encoded="1" filename="My article.doc">
  *         <![CDATA[ ad lkøjsdaølfhadsø fiuancfivn søgsbdnvsahfø ]]>
  *     </OODocument>
  */
 protected function createDocDOMElement(DOMDocument $domDocument, eZContentObjectTreeNode $node)
 {
     $ooDocumentElement = $domDocument->createElement('OODocument');
     $fileName = eZOOConverter::objectToOO($node->attribute('node_id'));
     if (is_array($fileName)) {
         throw new Exception('Could not generate OO document, ID: ' . $node->attribute('node_id') . ', Description: ' . $fileName[0]);
     }
     // Add odt document to DOMElement
     $ooDocumentElement->setAttribute('base64Encoded', '1');
     $ooDocumentElement->setAttribute('filename', $node->attribute('name') . '.doc');
     // need to generate? a file name
     $convertedFile = '/tmp/word.doc';
     //    unlink( $convertedFile );
     $this->daemonConvert(realpath($fileName), $convertedFile);
     // need to see if the conversion was successful
     $ooDocumentElement->appendChild($domDocument->createCDATASection(base64_encode(file_get_contents($convertedFile))));
     unlink($fileName);
     // need to delete the converted file (does not work?)
     // unlink( $convertedFile );
     return $ooDocumentElement;
 }
Beispiel #2
0
        if (strlen(trim($exportTypeParam)) != 0) {
            $tpl->setVariable("error_string", ezpI18n::tr('extension/ezodf/export/error', "Destination file format not supported"));
            $success = false;
        }
    }
}
$ooINI = eZINI::instance('odf.ini');
//$tmpDir = $ooINI->variable( 'ODFSettings', 'TmpDir' );
$tmpDir = getcwd() . "/" . eZSys::cacheDirectory();
if ($doExport == true) {
    if (is_numeric($nodeID)) {
        $node = eZContentObjectTreeNode::fetch($nodeID);
        // Check if we have read access to this node
        if ($node && $node->canRead()) {
            // Do the actual eZ Publish export
            $fileName = eZOOConverter::objectToOO($nodeID);
            if (!is_array($fileName)) {
                $nodeName = $node->attribute('name');
                $originalFileName = $nodeName . ".odt";
                $contentType = "application/vnd.oasis.opendocument.text";
                $trans = eZCharTransform::instance();
                $nodeName = $trans->transformByGroup($nodeName, 'urlalias');
                $uniqueStamp = md5(time());
                $server = $ooINI->variable("ODFImport", "OOConverterAddress");
                $port = $ooINI->variable("ODFImport", "OOConverterPort");
                switch ($exportType) {
                    case "PDF":
                        if ($result = daemonConvert($server, $port, realpath($fileName), "convertToPDF", $tmpDir . "/ooo_converted_{$uniqueStamp}.pdf")) {
                            $originalFileName = $nodeName . ".pdf";
                            $contentType = "application/pdf";
                            $fileName = $tmpDir . "/ooo_converted_{$uniqueStamp}.pdf";
include_once 'kernel/classes/datatypes/ezuser/ezuser.php';
include_once "extension/ezodf/modules/ezodf/ezooconverter.php";
include_once "lib/ezutils/classes/ezhttptool.php";
$http = eZHTTPTool::instance();
if ($http->hasPostVariable('Username')) {
}
$username = $http->postVariable('Username');
if ($http->hasPostVariable('Password')) {
}
$password = $http->postVariable('Password');
if ($http->hasPostVariable('NodeID')) {
}
$nodeID = $http->postVariable('NodeID');
// User authentication
$user = eZUser::loginUser($username, $password);
if ($user == false) {
    print 'problem:Authentication failed';
    eZExecution::cleanExit();
}
// Conversion of the stored file
$converter = new eZOOConverter();
$ooDocument = $converter->objectToOO($nodeID);
if ($ooDocument == false) {
    print 'problem:Conversion failed';
    eZExecution::cleanExit();
}
$file = file_get_contents($ooDocument);
$file = base64_encode($file);
print $file;
// Don't display eZ Publish page structure
eZExecution::cleanExit();