Browse files

MDL-35034 Repository: Google Docs does not fail when download is rest…

…ricted
  • Loading branch information...
1 parent 9815783 commit c128731d1938912d79b105441d9dd2431e26966a @FMCorz FMCorz committed Aug 27, 2012
Showing with 14 additions and 14 deletions.
  1. +11 −13 lib/googleapi.php
  2. +3 −1 repository/googledocs/lib.php
View
24 lib/googleapi.php
@@ -109,23 +109,21 @@ public function get_file_list($search = '') {
$source = 'https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key='.$docid.'&exportFormat=xls';
break;
case 'pdf':
- $title = (string)$gdoc->title;
- $source = (string)$gdoc->content[0]->attributes()->src;
- break;
case 'file':
- $title = (string)$gdoc->title;
- $source = (string)$gdoc->content[0]->attributes()->src;
+ $title = (string)$gdoc->title;
+ // Some files don't have a content probably because the download has been restricted.
+ if (isset($gdoc->content)) {
+ $source = (string)$gdoc->content[0]->attributes()->src;
+ }
break;
}
- if (!empty($source)) {
- $files[] = array( 'title' => $title,
- 'url' => "{$gdoc->link[0]->attributes()->href}",
- 'source' => $source,
- 'date' => usertime(strtotime($gdoc->updated)),
- 'thumbnail' => (string) $OUTPUT->pix_url(file_extension_icon($title, 32))
- );
- }
+ $files[] = array( 'title' => $title,
+ 'url' => "{$gdoc->link[0]->attributes()->href}",
+ 'source' => $source,
+ 'date' => usertime(strtotime($gdoc->updated)),
+ 'thumbnail' => (string) $OUTPUT->pix_url(file_extension_icon($title, 32))
+ );
}
return $files;
View
4 repository/googledocs/lib.php
@@ -92,8 +92,10 @@ public function logout() {
}
public function get_file($url, $file = '') {
+ if (empty($url)) {
+ throw new repository_exception('cannotdownload', 'repository');
+ }
$gdocs = new google_docs($this->googleoauth);
-
$path = $this->prepare_file($file);
return $gdocs->download_file($url, $path, self::GETFILE_TIMEOUT);
}

0 comments on commit c128731

Please sign in to comment.