From 8eb614d4bb4a80ed51520bca528530914082136f Mon Sep 17 00:00:00 2001 From: Rossiani Wijaya Date: Fri, 31 Aug 2012 16:44:02 +0800 Subject: [PATCH] MDL-29872 Dropbox repository: add message handler to filepicker header and add message to logout from dropbox. When user clicked on logout button from dropbox repository, it will also logging them out from dropbox site through a popup window --- repository/dropbox/lang/en/repository_dropbox.php | 1 + repository/dropbox/lib.php | 2 ++ repository/filepicker.js | 10 ++++++++++ 3 files changed, 13 insertions(+) diff --git a/repository/dropbox/lang/en/repository_dropbox.php b/repository/dropbox/lang/en/repository_dropbox.php index 4cda0af3910..6b660bcd548 100644 --- a/repository/dropbox/lang/en/repository_dropbox.php +++ b/repository/dropbox/lang/en/repository_dropbox.php @@ -32,3 +32,4 @@ $string['dropbox'] = 'Dropbox'; $string['secret'] = 'Dropbox secret'; $string['instruction'] = 'You can get your API Key and secret from Dropbox developers. When setting up your key please select "Full Dropbox" as the "Access level".'; $string['dropbox:view'] = 'View a Dropbox folder'; +$string['logoutdesc'] = '(Logout when you finish using Dropbox)'; diff --git a/repository/dropbox/lib.php b/repository/dropbox/lib.php index e639d59db8b..c00a423e36f 100644 --- a/repository/dropbox/lib.php +++ b/repository/dropbox/lib.php @@ -132,6 +132,8 @@ class repository_dropbox extends repository { $list['manage'] = false; $list['dynload'] = true; $list['nosearch'] = true; + $list['logouturl'] = 'https://www.dropbox.com/logout'; + $list['message'] = get_string('logoutdesc', 'repository_dropbox'); // process breadcrumb trail $list['path'] = array( array('name'=>get_string('dropbox', 'repository_dropbox'), 'path'=>'/') diff --git a/repository/filepicker.js b/repository/filepicker.js index 9c5ac4003c1..9e23980286d 100644 --- a/repository/filepicker.js +++ b/repository/filepicker.js @@ -844,6 +844,8 @@ M.core_filepicker.init = function(Y, options) { this.active_repo.norefresh = data.norefresh?true:false; this.active_repo.nologin = data.nologin?true:false; this.active_repo.logouttext = data.logouttext?data.logouttext:null; + this.active_repo.logouturl = (data.logouturl || ''); + this.active_repo.message = (data.message || ''); this.active_repo.help = data.help?data.help:null; this.active_repo.manage = data.manage?data.manage:null; }, @@ -1344,6 +1346,9 @@ M.core_filepicker.init = function(Y, options) { scope.print_login(obj); } }, true); + if (this.active_repo.logouturl) { + window.open(this.active_repo.logouturl, 'repo_auth', 'location=0,status=0,width=500,height=300,scrollbars=yes'); + } }, this); toolbar.appendChild(logout); } @@ -1362,6 +1367,11 @@ M.core_filepicker.init = function(Y, options) { help.innerHTML = ' '+M.str.repository.help; toolbar.appendChild(help); } + if(r.message) { + var msg = document.createElement('div'); + msg.innerHTML = r.message; + toolbar.appendChild(msg); + } this.print_path(); },