function merge_pdfs($pdf_ids) { // TODO: this entire function should be gaurded by some sort of mutex if (count($pdf_ids) < 2) { err_bad_input_format("expected at least 2 pdf ids"); } // validate pdf arguments and gather merged pdf attributes $paths = array(); foreach ($pdf_ids as $pdf_id) { $pdf = get_pdf_info($pdf_id); if (!$pdf) { err_bad_input_data('pdfid', $pdf_id, 'not a valid pdf id'); } $paths[] = $pdf['path']; } $new_path = merge_pdf_files($paths); $new_id = merge_pdf_metadata($pdf_ids, $new_path); if (!$new_id) { err_internal("could not merge pdfs"); } }
function service_delete_pdfs($args) { if (count($args) == 0) { err_bad_input_format("expected at least 1 argument in URL (one or more pdf ids)"); } // validate pdf arguments foreach ($args as $pdf_id) { if (!get_pdf_info($pdf_id)) { err_bad_input_data('pdfid', $pdf_id, 'not a valid pdf id'); } } // delete pdfs foreach ($args as $pdf_id) { delete_pdf($pdf_id); } }