Exemple #1
0
 /**
  *  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;
 }