diff options
Diffstat (limited to 'src/controllers/NewMessage.class.php')
-rw-r--r-- | src/controllers/NewMessage.class.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/controllers/NewMessage.class.php b/src/controllers/NewMessage.class.php new file mode 100644 index 0000000..e778385 --- /dev/null +++ b/src/controllers/NewMessage.class.php @@ -0,0 +1,37 @@ +<?php + /* +class NewMessage extends Controller { +$cmdline = isset($argv[0]); // called from the command line +@$method = $_SERVER['REQUEST_METHOD']; // What HTTP method was used +if ( ($method=='PUT') || ($method=='POST') || $cmdline ) { + // We're going to be uploading a new message. + + // so uniqid isn't 'secure', it doesn't need to be, it's to prevent + // random collisions. + $tmpfile = "$BASE/tmp/".uniqid(getmypid().'.'); + $infile = ($cmdline?'php://stdin':'php://input'); + $out = fopen($tmpfile, "w"); + $in = fopen($infile, "r"); + while ($data = fread($in, 1024)) + fwrite($out, $data); + fclose($out); + fclose($in); + //apache_request_headers() + require_once('MimeMailParser.class.php'); + $parser = new MimeMailParser(); + $parser->setPath($tmpfile); + $id = preg_replace('/<(.*)>/', '$1', + $parser->getHeader('message-id')); + $id = str_replace('/', '', $id); // for security reasons + $msg_file = "$BASE/msg/$id"; + rename($tmpfile, $msg_file); + + if (!$cmdline) { + $m->status('201 Created'); + header("Location: ".$m->baseUrl().'messages/'.$id); + } + exit(); +} + +} + */
\ No newline at end of file |