abort("geen beheersrechten", '401 unauthorised');
if ($_FILES) {
- $img = @$_FILES['upload'];
- if (!$img or $img['error'] !== UPLOAD_ERR_OK)
- abort('bestand niet goed ontvangen: '.$img['error'], '409 upload error');
-
- $datadir = implode('/', ['data', date('Y')]);
- if (!file_exists($datadir) and !@mkdir($datadir, 0777, TRUE)) {
- abort("bestand kon niet geplaatst worden in $datadir", '409 upload error');
+ $response = ['uploaded' => 0];
+ try {
+ $img = @$_FILES['upload'];
+ $response['fileName'] = $img['name'];
+ if (!$img or $img['error'] !== UPLOAD_ERR_OK)
+ throw new Exception('bestand niet goed ontvangen: '.$img['error']);
+
+ $datadir = implode('/', ['data', date('Y')]);
+ if ($Args) $datadir .= $Args;
+ if (!file_exists($datadir) and !@mkdir($datadir, 0777, TRUE)) {
+ throw new Exception("bestand kon niet geplaatst worden in $datadir");
+ }
+
+ $target = $datadir.'/'.$img['name'];
+ $response['url'] = str_replace('%2F', '/', urlencode($target));
+ if (!@move_uploaded_file($img['tmp_name'], $target)) {
+ throw new Exception('bestand kon niet worden opgeslagen');
+ }
+ $response['uploaded']++;
}
-
- $target = $datadir.'/'.$img['name'];
- if (!@move_uploaded_file($img['tmp_name'], $target)) {
- abort('bestand kon niet worden opgeslagen', '409 upload error');
+ catch (Exception $e) {
+ $response['error'] = ['message' => $e->getMessage()];
}
switch (@$_GET['output']) {
+ case 'ckjson':
+ print json_encode($response);
+ exit;
case 'ckescript':
+ if (empty($response['url'])) break;
printf('<script>window.parent.CKEDITOR.tools.callFunction(%s)</script>',
- "{$_GET['CKEditorFuncNum']}, '$target'"
+ "{$_GET['CKEditorFuncNum']}, '{$response['url']}'"
);
break;
default:
- abort($target);
+ if (empty($response['url'])) break;
+ print $target;
+ }
+
+ if (isset($response['error'])) {
+ abort($response['error']['message'], '409 upload error');
}
exit;
}