editor.on('configLoaded', function () {
var config = editor.config;
config.language = 'nl';
- config.extraPlugins = 'sourcedialog,inlinesave,placeholder';
+ config.extraPlugins = 'sourcedialog,inlinesave,placeholder,uploadimage';
config.format_tags = 'h2;h3;h4;p';
config.allowedContent = true;
config.entities = false; // keep unicode
config.filebrowserImageUploadUrl = '/edit?output=ckescript';
+ config.uploadUrl = '/edit?output=ckjson';
config.pasteFilter = pastefilter;
config.contentsCss = document.styleSheets[0].href;
config.toolbar = [
abort("geen beheersrechten", '401 unauthorised');
if ($_FILES) {
+ $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']);
}
$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']++;
}
catch (Exception $e) {
- abort($e->getMessage(), '409 upload error');
+ $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;
}