widget/reply: formatting syntax for _italics_
[minimedit.git] / upload.inc.php
index ed9ee772eccf99f8595f69efd67ee16d57432b1d..10881a24a0f9317216339e0b88dc65232afc0207 100644 (file)
@@ -27,6 +27,9 @@ function userupload($input, $target = NULL, $filename = NULL)
                $target .= $input['name'];
        }
 
+       if (file_exists($target)) {
+               throw new Exception("bestandsnaam al aanwezig op $target");
+       }
        if (!@move_uploaded_file($input['tmp_name'], $target)) {
                throw new Exception("bestand kon niet worden opgeslagen in $target");
        }
@@ -41,10 +44,17 @@ function userupload($input, $target = NULL, $filename = NULL)
 function messagehtml($input)
 {
        # convert user textarea post to formatted html
+       global $User;
        if (empty($input)) {
                return;
        }
-       $html = htmlspecialchars($input);
-       $html = nl2br($html);
+       if ($User->admin and preg_match('/\A<[a-z][^>]*>/', $input)) {
+               return $input;  # allow html input as is if privileged
+       }
+       $html = preg_replace(
+               ["/\r\n?/", "/  +\n/", "/\n/",      '/\b_(\w+)_\b/'],
+               ["\n",      "<br />",  "</p>\n<p>", '<em>$1</em>'  ],
+               htmlspecialchars($input)
+       );
        return "<p>$html</p>";
 }