/** * Apply code to an uploaded File, or to a default file */ public static function doPost($format = '', $download = null, $defaultFile = null) { if (!isset($defaultFile)) { $defaultFile = dirname(__FILE__) . '/test.odt'; } do { // a file seems uploaded if (count($_FILES)) { reset($_FILES); $tmp = current($_FILES); if ($tmp['tmp_name']) { $file = $tmp['tmp_name']; if ($tmp['name']) { $filename = substr($tmp['name'], 0, strrpos($tmp['name'], '.')); } else { $filename = "odt2tei"; } break; } else { if ($tmp['name']) { echo $tmp['name'], ' seems bigger than allowed size for upload in your php.ini : upload_max_filesize=', ini_get('upload_max_filesize'), ', post_max_size=', ini_get('post_max_size'); return false; } } } if ($defaultFile) { $file = $defaultFile; $filename = substr(basename($file), 0, strrpos(basename($file), '.')); } } while (false); if ($format) { } else { if (isset($_REQUEST['format'])) { $format = $_REQUEST['format']; } else { $format = "tei"; } } if (isset($download)) { } else { if (isset($_REQUEST['download'])) { $download = true; } else { $download = false; } } // headers if ($download) { if ($format == 'html') { header("Content-Type: text/html; charset=UTF-8"); $ext = "html"; } else { header("Content-Type: text/xml"); $ext = 'xml'; } header('Content-Disposition: attachment; filename="' . $filename . '.' . $ext . '"'); header('Content-Description: File Transfer'); header('Expires: 0'); header('Cache-Control: '); header('Pragma: '); flush(); } else { if ($format == 'html') { header("Content-Type: text/html; charset=UTF-8"); } else { header("Content-Type: text/xml;"); } } $odt = new Odette_Odt2tei($file); echo $odt->saveXML($format, $filename); exit; }