$extension = pathinfo($_FILES['form_graphical_abstract']['name'], PATHINFO_EXTENSION);
    if (empty($extension)) {
        $extension = 'jpg';
    }
    $new_name = sprintf("%05d", intval($_POST['file'])) . 'graphical_abstract.' . $extension;
    move_uploaded_file($_FILES['form_graphical_abstract']['tmp_name'], IL_SUPPLEMENT_PATH . DIRECTORY_SEPARATOR . get_subfolder($new_name) . DIRECTORY_SEPARATOR . $new_name);
}
##########	replace PDF	##########
if (isset($_FILES['form_new_file']) && is_uploaded_file($_FILES['form_new_file']['tmp_name'])) {
    $file_extension = pathinfo($_FILES['form_new_file']['name'], PATHINFO_EXTENSION);
    if (in_array($file_extension, array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'odt', 'ods', 'odp'))) {
        $move = move_uploaded_file($_FILES['form_new_file']['tmp_name'], IL_TEMP_PATH . DIRECTORY_SEPARATOR . $_FILES['form_new_file']['name']);
        if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
            putenv('HOME=' . IL_TEMP_PATH);
        }
        exec(select_soffice() . ' --headless --convert-to pdf --outdir "' . IL_TEMP_PATH . '" "' . IL_TEMP_PATH . DIRECTORY_SEPARATOR . $_FILES['form_new_file']['name'] . '"');
        if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
            putenv('HOME=""');
        }
        $converted_file = IL_TEMP_PATH . DIRECTORY_SEPARATOR . basename($_FILES['form_new_file']['name'], '.' . $file_extension) . '.pdf';
        if (!is_file($converted_file)) {
            die("Error! Conversion to PDF failed.<br>" . htmlspecialchars($title));
        } else {
            copy($converted_file, IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'lib_' . session_id() . DIRECTORY_SEPARATOR . $_POST['filename']);
            $supplement_filename = sprintf("%05d", intval($_POST['filename'])) . $_FILES['form_new_file']['name'];
            copy(IL_TEMP_PATH . DIRECTORY_SEPARATOR . $_FILES['form_new_file']['name'], IL_SUPPLEMENT_PATH . DIRECTORY_SEPARATOR . get_subfolder($supplement_filename) . DIRECTORY_SEPARATOR . $supplement_filename);
            unlink($converted_file);
        }
    } else {
        move_uploaded_file($_FILES['form_new_file']['tmp_name'], IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'lib_' . session_id() . DIRECTORY_SEPARATOR . $_POST['filename']);
    }
 $user_dir = IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'lib_' . session_id();
 session_write_close();
 $order = array("\r\n", "\n", "\r");
 $i = 0;
 if (isset($_FILES['Filedata']) && is_uploaded_file($_FILES['Filedata']['tmp_name'])) {
     $file = $_FILES['Filedata']['tmp_name'];
     $orig_filename = $_FILES['Filedata']['name'];
     if (isset($_FILES['Filedata'])) {
         $file_extension = pathinfo($orig_filename, PATHINFO_EXTENSION);
     }
     if (in_array($file_extension, array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'odt', 'ods', 'odp'))) {
         $move = move_uploaded_file($file, IL_TEMP_PATH . DIRECTORY_SEPARATOR . $orig_filename);
         if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
             putenv('HOME=' . IL_TEMP_PATH);
         }
         exec(select_soffice() . ' --headless --convert-to pdf --outdir "' . IL_TEMP_PATH . '" "' . IL_TEMP_PATH . DIRECTORY_SEPARATOR . $orig_filename . '"');
         if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
             putenv('HOME=""');
         }
         $file = IL_TEMP_PATH . DIRECTORY_SEPARATOR . basename($orig_filename, '.' . $file_extension) . '.pdf';
     }
     $i = $i + 1;
     if (is_readable($file)) {
         $string = '';
         $xml = '';
         $record = '';
         $count = '';
         $url = array();
         $authors = '';
         $authors_array = array();
         $affiliation = '';
 $doi = '';
 $authors_ascii = '';
 $title_ascii = '';
 $abstract_ascii = '';
 $unpacked_files = array();
 $temp_file = IL_TEMP_PATH . DIRECTORY_SEPARATOR . $_GET['user'] . "_librarian_temp" . $i . ".txt";
 if (file_exists($temp_file)) {
     unlink($temp_file);
 }
 //convert office to pdf
 $file_extension = pathinfo($file, PATHINFO_EXTENSION);
 if (in_array($file_extension, array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'odt', 'ods', 'odp'))) {
     if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
         putenv('HOME=' . IL_TEMP_PATH);
     }
     exec(select_soffice() . ' --headless --convert-to pdf --outdir "' . IL_TEMP_PATH . '" "' . $file . '"');
     if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
         putenv('HOME=""');
     }
     //copy file to temp to add it to supplement later
     copy($file, IL_TEMP_PATH . DIRECTORY_SEPARATOR . basename($file));
     $title = basename($file);
     //pdf file
     $file = IL_TEMP_PATH . DIRECTORY_SEPARATOR . basename($file, '.' . $file_extension) . '.pdf';
 }
 ##########	extract text from pdf	##########
 system(select_pdftotext() . ' -enc UTF-8 "' . $file . '" "' . $temp_file . '"', $ret);
 if (file_exists($temp_file)) {
     $string = file_get_contents($temp_file);
 }
 if (empty($string)) {
    exec(select_ghostscript() . ' -sDEVICE=png16m -r15 -dTextAlphaBits=1 -dGraphicsAlphaBits=1 -dFirstPage=1 -dLastPage=1 -o "' . IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'test.png" test.pdf');
    if (file_exists(IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'test.png')) {
        unlink(IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'test.png');
        die('OK');
    } else {
        die;
    }
} elseif ($_GET['binary'] == 'tesseract') {
    exec(select_tesseract() . ' "' . __DIR__ . DIRECTORY_SEPARATOR . 'test.bmp" "' . IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'test-tesseract"');
    if (is_readable(IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'test-tesseract.txt') && filesize(IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'test-tesseract.txt') > 0) {
        unlink(IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'test-tesseract.txt');
        die('OK');
    } else {
        die;
    }
} elseif ($_GET['binary'] == 'soffice') {
    if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
        putenv('HOME=' . IL_TEMP_PATH);
    }
    exec(select_soffice() . ' --headless --convert-to pdf --outdir "' . IL_TEMP_PATH . '" "' . __DIR__ . DIRECTORY_SEPARATOR . 'test.odt"');
    if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
        putenv('HOME=""');
    }
    $converted_file = IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'test.pdf';
    if (!is_file($converted_file)) {
        die;
    } else {
        unlink($converted_file);
        die('OK');
    }
}
Esempio n. 5
0
 //INSERT CITATIONS
 $i = 0;
 preg_match_all('/\\\\{\\S+\\-\\S+\\-ID\\d+\\\\}/', $rtf_string, $ids);
 foreach ($ids[0] as $target) {
     $rtf_string = str_replace($target, $_POST['cites'][$i], $rtf_string);
     $i++;
 }
 //INSERT BIBLIOGRAPHY
 $position = strrpos($rtf_string, '}');
 $rtf_string = substr($rtf_string, 0, $position - 1) . PHP_EOL . $_POST['bibliography'] . PHP_EOL . '}';
 //CONVERT RTF TO DOC, DOCX, ODT TO RTF
 if (in_array($file_extension, array('doc', 'docx', 'odt'))) {
     if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
         putenv('HOME=' . IL_TEMP_PATH);
     }
     exec(select_soffice() . ' --headless --convert-to ' . $file_extension . ' --outdir "' . IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'lib_' . session_id() . '" "' . $temp_file . '"');
     if (PHP_OS == 'Linux' || PHP_OS == 'Darwin') {
         putenv('HOME=""');
     }
     rename(IL_TEMP_PATH . DIRECTORY_SEPARATOR . 'lib_' . session_id() . DIRECTORY_SEPARATOR . basename(str_replace('\\', '/', urldecode($_POST['rtfname']))), $output_file);
     if (!is_file($output_file)) {
         $errors[] = "Error! RTF conversion failed.";
         $response['errors'] = $errors;
         $content = json_encode($response, JSON_HEX_APOS);
         die($content);
     }
 }
 //WRITE MODIFIED FILE
 $put = file_put_contents($output_file, $rtf_string);
 if (!$put) {
     $errors[] = 'Error! Could not write to manuscript file.';