From 810aea11df5a9b3714f499de6cc7397373705e33 Mon Sep 17 00:00:00 2001 From: Dongsheng Cai Date: Tue, 3 May 2011 17:41:03 +0800 Subject: [PATCH] MDL-27330 repository dropbox plugin Dropbox changed authorization URL, and added a few error check code --- lang/en/repository.php | 1 + repository/dropbox/lib.php | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lang/en/repository.php b/lang/en/repository.php index 9ba78194825..94fca2b0e0f 100644 --- a/lang/en/repository.php +++ b/lang/en/repository.php @@ -151,6 +151,7 @@ $string['removed'] = 'Repository removed'; $string['repositories'] = 'Repositories'; $string['repository'] = 'Repository'; $string['repositorycourse'] = 'Course repositories'; +$string['repositoryerror'] = 'Remote repository returned error: {$a}'; $string['save'] = 'Save'; $string['saveas'] = 'Save as'; $string['saved'] = 'Saved'; diff --git a/repository/dropbox/lib.php b/repository/dropbox/lib.php index 68c8b9bae73..90860159208 100644 --- a/repository/dropbox/lib.php +++ b/repository/dropbox/lib.php @@ -66,7 +66,7 @@ class repository_dropbox extends repository { 'oauth_consumer_key'=>$this->dropbox_key, 'oauth_consumer_secret'=>$this->dropbox_secret, 'oauth_callback' => $this->callback->out(false), - 'api_root' => 'http://api.dropbox.com/0/oauth', + 'api_root' => 'http://www.dropbox.com/0/oauth', ); $this->dropbox = new dropbox($args); @@ -163,10 +163,16 @@ class repository_dropbox extends repository { } } - $files = $result->contents; - if (!is_array($files) || empty($files)) { + if (!empty($result->error)) { + // reset access key + set_user_preference($this->setting.'_access_key', ''); + set_user_preference($this->setting.'_access_secret', ''); + throw new repository_exception('repositoryerror', 'repository', '', $result->error); + } + if (empty($result->contents) or !is_array($result->contents)) { return $list; } + $files = $result->contents; foreach ($files as $file) { if ($file->is_dir) { $list['list'][] = array(