diff --git a/repository/filepicker.js b/repository/filepicker.js index ce06abbba98..c6ac844ba17 100644 --- a/repository/filepicker.js +++ b/repository/filepicker.js @@ -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; diff --git a/repository/repository_ajax.php b/repository/repository_ajax.php index ccf55cdaa0f..b7793c8b9b0 100644 --- a/repository/repository_ajax.php +++ b/repository/repository_ajax.php @@ -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)); }