Merge branch 'MDL-68954-master' of git://github.com/mihailges/moodle

This commit is contained in:
Eloy Lafuente (stronk7) 2020-06-10 23:53:35 +02:00
commit 39885e35f4

View File

@ -296,13 +296,15 @@ class repository_flickr_public extends repository {
$text = !empty($SESSION->{$this->sess_text}) ? $SESSION->{$this->sess_text} : null;
$nsid = !empty($this->nsid) ? $this->nsid : null;
$photos = $this->flickr->photos_search(array(
'tags'=>$tag,
'page'=>$page,
'per_page'=>24,
'user_id'=>$nsid,
'license'=>$licenses,
'text'=>$text
$photos = $this->flickr->photos_search(
array(
'tags' => $tag,
'page' => $page,
'per_page' => 24,
'user_id' => $nsid,
'license' => $licenses,
'text' => $text,
'media' => 'photos'
)
);
$ret['total'] = $photos['total'];
@ -340,6 +342,8 @@ class repository_flickr_public extends repository {
* @return array
*/
private function build_list($photos, $page = 1, &$ret) {
global $OUTPUT;
if (!empty($this->nsid)) {
$photos_url = $this->flickr->urls_getUserPhotos($this->nsid);
$ret['manage'] = $photos_url;
@ -371,16 +375,23 @@ class repository_flickr_public extends repository {
// append file extension
$p['title'] .= $format;
}
// Get the thumbnail source URL.
$thumbnailsource = $this->flickr->buildPhotoURL($p, 'Square');
if (!@getimagesize($thumbnailsource)) {
// Use the file extension icon as a thumbnail if the original thumbnail does not exist to avoid
// displaying broken thumbnails in the repository.
$thumbnailsource = $OUTPUT->image_url(file_extension_icon($p['title'], 90))->out(false);
}
$ret['list'][] = array(
'title'=>$p['title'],
'source'=>$p['id'],
'id'=>$p['id'],
'thumbnail'=>$this->flickr->buildPhotoURL($p, 'Square'),
'date'=>'',
'size'=>'unknown',
'url'=>'http://www.flickr.com/photos/'.$p['owner'].'/'.$p['id'],
'haslicense'=>true,
'hasauthor'=>true
'title' => $p['title'],
'source' => $p['id'],
'id' => $p['id'],
'thumbnail' => $thumbnailsource,
'date' => '',
'size' => 'unknown',
'url' => 'http://www.flickr.com/photos/' . $p['owner'] . '/' . $p['id'],
'haslicense' => true,
'hasauthor' => true
);
}
}
@ -452,13 +463,8 @@ class repository_flickr_public extends repository {
*/
public function get_file($photoid, $file = '') {
global $CFG;
$info = $this->flickr->photos_getInfo($photoid);
if ($info['owner']['realname']) {
$author = $info['owner']['realname'];
} else {
$author = $info['owner']['username'];
}
$copyright = get_string('author', 'repository') . ': ' . $author;
// If we can read the original secret, it means that we have access to the original picture.
if (isset($info['originalsecret'])) {
@ -466,6 +472,17 @@ class repository_flickr_public extends repository {
} else {
$source = $this->build_photo_url($photoid);
}
// Make sure the source image exists.
if (!@getimagesize($source)) {
throw new moodle_exception('cannotdownload', 'repository');
}
if ($info['owner']['realname']) {
$author = $info['owner']['realname'];
} else {
$author = $info['owner']['username'];
}
$copyright = get_string('author', 'repository') . ': ' . $author;
$result = parent::get_file($source, $file);
$path = $result['path'];