From a5e7b3da6f8ee764ab831d3c1b2df6c17a5e78ca Mon Sep 17 00:00:00 2001 From: czaks Date: Fri, 19 Aug 2016 23:15:08 +0200 Subject: [PATCH] nntpchan: work around php nonsense --- inc/nntpchan/nntpchan.php | 2 +- post.php | 29 +++++++++++++++++------------ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/inc/nntpchan/nntpchan.php b/inc/nntpchan/nntpchan.php index 25215e94..8a2fba44 100644 --- a/inc/nntpchan/nntpchan.php +++ b/inc/nntpchan/nntpchan.php @@ -124,7 +124,7 @@ function post2nntp($post, $msgid) { $query->execute() or error(db_error($query)); if ($result = $query->fetch(PDO::FETCH_ASSOC)) { - return ">>".substr($result['message_id_digest'], 0, 16); + return ">>".substr($result['message_id_digest'], 0, 18); } else { return $o[0]; // Should send URL imo diff --git a/post.php b/post.php index 1e4edcee..47c5f0ef 100644 --- a/post.php +++ b/post.php @@ -90,31 +90,36 @@ if (isset($_GET['Newsgroups']) && $config['nntpchan']['enabled']) { $content = file_get_contents("php://input"); } elseif ($ct == 'multipart/mixed' || $ct == 'multipart/form-data') { - _syslog(LOG_INFO, "MM: Files: ".print_r($GLOBALS, true)); + _syslog(LOG_INFO, "MM: Files: ".print_r($GLOBALS, true)); // Debug + $content = ''; - $tmpfiles = $_FILES['attachment']; - foreach ($tmpfiles as $id => $file) { - if ($file['type'] == 'text/plain') { - $content .= file_get_contents($file['tmp_name']); - unset($_FILES['attachment'][$id]); + $newfiles = array(); + foreach ($_FILES['attachment']['error'] as $id => $error) { + if ($_FILES['attachment']['type'][$id] == 'text/plain') { + $content .= file_get_contents($_FILES['attachment']['tmp_name'][$id]); } - elseif ($file['type'] == 'message/rfc822') { // Signed message, ignore for now - unset($_FILES['attachment'][$id]); + elseif ($_FILES['attachment']['type'][$id] == 'message/rfc822') { // Signed message, ignore for now } else { // A real attachment :^) + $file = array(); + $file['name'] = $_FILES['attachment']['name'][$id]; + $file['type'] = $_FILES['attachment']['type'][$id]; + $file['size'] = $_FILES['attachment']['size'][$id]; + $file['tmp_name'] = $_FILES['attachment']['tmp_name'][$id]; + $file['error'] = $_FILES['attachment']['error'][$id]; + + $newfiles["file$id"] = $file; } } - $_FILES = $_FILES['attachment']; - - + $_FILES = $newfiles; } else { error("NNTPChan: Wrong mime type: $ct"); } - $_POST['subject'] = isset($_GET['Subject']) ? $_GET['Subject'] : ''; + $_POST['subject'] = isset($_GET['Subject']) ? ($_GET['Subject'] == 'None' ? '' : $_GET['Subject']) : ''; $_POST['board'] = $xboard; if (isset ($_GET['From'])) {