$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'); } }
//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.';