api = $_SERVER['HTTP_ACCEPT'] == 'text/plain'; function userupload($input, $target = NULL, $filename = NULL) { switch ($input['error']) { case UPLOAD_ERR_OK: break; case UPLOAD_ERR_INI_SIZE: case UPLOAD_ERR_FORM_SIZE: throw new Exception('bestand te groot'); break; case UPLOAD_ERR_NO_FILE: return; # current default: throw new Exception('bestand niet goed ontvangen: '.$input['error']); } if (isset($target)) { if (!file_exists($target) and !@mkdir($target, 0777, TRUE)) { throw new Exception("bestand kon niet geplaatst worden in $target"); } $target .= '/'; } if (isset($filename)) { $target .= $filename; } else { $target .= $input['name']; } if (!@move_uploaded_file($input['tmp_name'], $target)) { throw new Exception("bestand kon niet worden opgeslagen in $target"); } foreach (@glob('thumb/*/') as $thumbres) { # attempt to remove old derivations @unlink($thumbres . '/' . $target); } return $target; } function messagehtml($input) { # convert user textarea post to formatted html global $User; if (empty($input)) { return; } 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?){2}'"], ["
\n", "

\n\n

"], htmlspecialchars($input) ); return "

$html

"; }