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", "
"], htmlspecialchars($input) ); return "
$html
"; }