MDL-32037: MDL-32037: After displaying error message filepicker could not send proper request to server

We need to make sure that code executed on error does not create more requests and
especially does not create the same request that resulted with error. So now by default
filepicker will clear the right side of the window if repository_ajax.php returned an
error.
Also fixed an 'invalidsesskey' error string.
This commit is contained in:
Marina Glancy 2012-03-14 12:24:36 +08:00
parent a2b30aa852
commit a5159b864d
2 changed files with 12 additions and 2 deletions

View File

@ -150,7 +150,11 @@ M.core_filepicker.init = function(Y, options) {
// error checking
if (data && data.error) {
scope.print_msg(data.error, 'error');
scope.list();
if (args.onerror) {
args.onerror(id,data,p);
} else {
Y.one(panel_id).set('innerHTML', '');
}
return;
} else if (data && data.event) {
switch (data.event) {
@ -690,6 +694,9 @@ M.core_filepicker.init = function(Y, options) {
client_id: client_id,
repository_id: repository_id,
'params': params,
onerror: function(id, obj, args) {
scope.view_files();
},
callback: function(id, obj, args) {
if (scope.options.editor_target && scope.options.env=='editor') {
scope.options.editor_target.value=obj.url;
@ -1200,6 +1207,9 @@ M.core_filepicker.init = function(Y, options) {
params: {'savepath':scope.options.savepath},
repository_id: scope.active_repo.id,
form: {id: id, upload:true},
onerror: function(id, o, args) {
scope.create_upload_form(data);
},
callback: function(id, o, args) {
if (scope.options.editor_target&&scope.options.env=='editor') {
scope.options.editor_target.value=o.url;

View File

@ -66,7 +66,7 @@ if (empty($_POST) && !empty($action)) {
}
if (!confirm_sesskey()) {
$err->error = get_string('invalidsesskey');
$err->error = get_string('invalidsesskey', 'error');
die(json_encode($err));
}