in lib.php [752:895]
protected function contents_api_response_to_list($response, $path, $clienttype, $parentinfo = null, $addupload = true) {
global $OUTPUT;
$list = [];
if ($clienttype === 'onedrive') {
$pathprefix = '/my'.$path;
$uploadpathprefix = $pathprefix;
} else if ($clienttype === 'unified') {
$pathprefix = '/my';
$uploadpathprefix = $pathprefix.$path;
} else if ($clienttype === 'unifiedgroup') {
$pathprefix = '/groups'.$path;
$uploadpathprefix = $pathprefix;
} else if ($clienttype === 'trendingaround') {
$pathprefix = '/my';
}
if ($addupload === true) {
$list[] = [
'title' => get_string('upload', 'repository_office365'),
'path' => $uploadpathprefix.'/upload/',
'thumbnail' => $OUTPUT->pix_url('a/add_file')->out(false),
'children' => [],
];
}
if (isset($response)) {
foreach ($response as $content) {
if ($clienttype === 'unified' || $clienttype === 'unifiedgroup') {
$itempath = $pathprefix.'/'.$content['id'];
if (isset($content['folder'])) {
$list[] = [
'title' => $content['name'],
'path' => $itempath,
'thumbnail' => $OUTPUT->pix_url(file_folder_icon(90))->out(false),
'date' => strtotime($content['createdDateTime']),
'datemodified' => strtotime($content['lastModifiedDateTime']),
'datecreated' => strtotime($content['createdDateTime']),
'children' => [],
];
} else if (isset($content['file'])) {
$url = $content['webUrl'].'?web=1';
if ($clienttype === 'unified') {
$source = [
'id' => $content['id'],
'source' => 'onedrive',
];
} else if ($clienttype === 'unifiedgroup') {
$source = [
'id' => $content['id'],
'source' => 'onedrivegroup',
'groupid' => $parentinfo,
];
}
$author = '';
if (!empty($content['createdBy']['user']['displayName'])) {
$author = $content['createdBy']['user']['displayName'];
$author = explode(',', $author);
$author = $author[0];
}
$list[] = [
'title' => $content['name'],
'date' => strtotime($content['createdDateTime']),
'datemodified' => strtotime($content['lastModifiedDateTime']),
'datecreated' => strtotime($content['createdDateTime']),
'size' => $content['size'],
'url' => $url,
'thumbnail' => $OUTPUT->pix_url(file_extension_icon($content['name'], 90))->out(false),
'author' => $author,
'source' => $this->pack_reference($source),
];
}
} else if ($clienttype === 'trendingaround') {
if (isset($content['folder'])) {
$list[] = [
'title' => $content['name'],
'path' => $itempath = $pathprefix . '/' . $content['name'],
'thumbnail' => $OUTPUT->pix_url(file_folder_icon(90))->out(false),
'date' => strtotime($content['DateTimeCreated']),
'datemodified' => strtotime($content['DateTimeLastModified']),
'datecreated' => strtotime($content['DateTimeCreated']),
'children' => [],
];
} else {
$url = $content['webUrl'] . '?web=1';
$source = [
'id' => $content['@odata.id'],
'source' => 'trendingaround',
];
$list[] = [
'title' => $content['name'],
'date' => strtotime($content['DateTimeCreated']),
'datemodified' => strtotime($content['DateTimeLastModified']),
'datecreated' => strtotime($content['DateTimeCreated']),
'url' => $url,
'thumbnail' => $OUTPUT->pix_url(file_extension_icon($content['name'], 90))->out(false),
'source' => $this->pack_reference($source),
];
}
} else {
$itempath = $pathprefix.'/'.$content['name'];
if ($content['type'] === 'Folder') {
$list[] = [
'title' => $content['name'],
'path' => $itempath,
'thumbnail' => $OUTPUT->pix_url(file_folder_icon(90))->out(false),
'date' => strtotime($content['dateTimeCreated']),
'datemodified' => strtotime($content['dateTimeLastModified']),
'datecreated' => strtotime($content['dateTimeCreated']),
'children' => [],
];
} else if ($content['type'] === 'File') {
$url = $content['webUrl'].'?web=1';
$source = [
'id' => $content['id'],
'source' => 'onedrive',
];
$author = '';
if (!empty($content['createdBy']['user']['displayName'])) {
$author = $content['createdBy']['user']['displayName'];
$author = explode(',', $author);
$author = $author[0];
}
$list[] = [
'title' => $content['name'],
'date' => strtotime($content['dateTimeCreated']),
'datemodified' => strtotime($content['dateTimeLastModified']),
'datecreated' => strtotime($content['dateTimeCreated']),
'size' => $content['size'],
'url' => $url,
'thumbnail' => $OUTPUT->pix_url(file_extension_icon($content['name'], 90))->out(false),
'author' => $author,
'source' => $this->pack_reference($source),
];
}
}
}
}
return $list;
}