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

This commit is contained in:
Frederic Massart 2012-08-27 14:47:01 +08:00
parent 569f1ad63b
commit ec7e998f4b
2 changed files with 14 additions and 14 deletions

View File

@ -109,23 +109,21 @@ class google_docs {
$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 File

@ -92,8 +92,10 @@ class repository_googledocs extends repository {
}
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);
}