diff --git a/app.php b/app.php index fc0178b..64c5acb 100644 --- a/app.php +++ b/app.php @@ -283,7 +283,7 @@ $f3->route('POST /organize', $filenames = array(); $tmpfile = tempnam($f3->get('UPLOADS'), 'pdfsignature_organize'); unlink($tmpfile); - $pages = explode(',', preg_replace('/[^A-Z0-9,]+/', '', $f3->get('POST.pages'))); + $pages = explode(',', preg_replace('/[^A-Z0-9a-z,]+/', '', $f3->get('POST.pages'))); $files = Web::instance()->receive(function($file,$formFieldName){ if(strpos(Web::instance()->mime($file['tmp_name'], true), 'application/pdf') !== 0) { diff --git a/public/js/organization.js b/public/js/organization.js index 4be42df..ff00955 100644 --- a/public/js/organization.js +++ b/public/js/organization.js @@ -33,7 +33,7 @@ var loadPDF = async function(pdfBlob, filename, pdfIndex) { let pageIndex = pdfLetter + "_" + (page.pageNumber - 1); pages[pageIndex] = page; - document.getElementById('container-pages').insertAdjacentHTML('beforeend', '

Page '+page.pageNumber+' - '+filename+'

'); + document.getElementById('container-pages').insertAdjacentHTML('beforeend', '

Page '+page.pageNumber+' - '+filename+'

'); let canvasContainer = document.getElementById('canvas-container-' + pageIndex); canvasContainer.addEventListener('dragstart', function(e) { @@ -82,7 +82,7 @@ var loadPDF = async function(pdfBlob, filename, pdfIndex) { }); canvasContainer.querySelector('.btn-rotate').addEventListener('click', function(e) { let inputRotate = document.querySelector('#input_rotate_'+pageIndex); - inputRotate.value = parseInt(inputRotate.value) + 90; + inputRotate.value = (parseInt(inputRotate.value) + 90) % 360; pageRender(pageIndex); }) @@ -162,9 +162,24 @@ var createEventsListener = function() { }); document.getElementById('save').addEventListener('click', function(event) { let order = []; - document.querySelectorAll('.checkbox-page').forEach(function(checkbox) { + document.querySelectorAll('.canvas-container').forEach(function(canvasContainer) { + let checkbox = canvasContainer.querySelector('.checkbox-page'); + let inputRotate = canvasContainer.querySelector('.input-rotate'); + let pageValue = ""; if(checkbox.checked) { - order.push(checkbox.value); + pageValue = checkbox.value; + } + if(pageValue && inputRotate.value == 90) { + pageValue = pageValue + "-east"; + } + if(pageValue && inputRotate.value == 180) { + pageValue = pageValue + "-south"; + } + if(pageValue && inputRotate.value == 270) { + pageValue = pageValue + "-west"; + } + if(pageValue) { + order.push(pageValue); } }); document.querySelector('#input_pages').value = order.join(',');