Properly quote file names in listFiles query for GDrive
This commit is contained in:
parent
285f9e32e5
commit
43588fe2f7
2 changed files with 19 additions and 17 deletions
|
@ -103,7 +103,7 @@ class Google extends \OC\Files\Storage\Common {
|
|||
if (isset($this->driveFiles[$path])) {
|
||||
$parentId = $this->driveFiles[$path]->getId();
|
||||
} else {
|
||||
$q = "title='".$name."' and '".$parentId."' in parents and trashed = false";
|
||||
$q = "title='".rawurlencode($name)."' and '".$parentId."' in parents and trashed = false";
|
||||
$result = $this->service->files->listFiles(array('q' => $q))->getItems();
|
||||
if (!empty($result)) {
|
||||
// Google Drive allows files with the same name, ownCloud doesn't
|
||||
|
|
|
@ -104,13 +104,14 @@ abstract class Storage extends \Test\TestCase {
|
|||
}
|
||||
|
||||
public function directoryProvider() {
|
||||
return array(
|
||||
array('folder'),
|
||||
array(' folder'),
|
||||
array('folder '),
|
||||
array('folder with space'),
|
||||
array('spéciäl földer'),
|
||||
);
|
||||
return [
|
||||
['folder'],
|
||||
[' folder'],
|
||||
['folder '],
|
||||
['folder with space'],
|
||||
['spéciäl földer'],
|
||||
['test single\'quote'],
|
||||
];
|
||||
}
|
||||
|
||||
function loremFileProvider() {
|
||||
|
@ -163,15 +164,16 @@ abstract class Storage extends \Test\TestCase {
|
|||
|
||||
|
||||
public function copyAndMoveProvider() {
|
||||
return array(
|
||||
array('/source.txt', '/target.txt'),
|
||||
array('/source.txt', '/target with space.txt'),
|
||||
array('/source with space.txt', '/target.txt'),
|
||||
array('/source with space.txt', '/target with space.txt'),
|
||||
array('/source.txt', '/tärgét.txt'),
|
||||
array('/sòurcē.txt', '/target.txt'),
|
||||
array('/sòurcē.txt', '/tärgét.txt'),
|
||||
);
|
||||
return [
|
||||
['/source.txt', '/target.txt'],
|
||||
['/source.txt', '/target with space.txt'],
|
||||
['/source with space.txt', '/target.txt'],
|
||||
['/source with space.txt', '/target with space.txt'],
|
||||
['/source.txt', '/tärgét.txt'],
|
||||
['/sòurcē.txt', '/target.txt'],
|
||||
['/sòurcē.txt', '/tärgét.txt'],
|
||||
['/single \' quote.txt', '/tar\'get.txt'],
|
||||
];
|
||||
}
|
||||
|
||||
public function initSourceAndTarget ($source, $target = null) {
|
||||
|
|
Loading…
Reference in a new issue