$size += self::calculateSize(new \OC\Files\View($sharekeys));
$rootView->rename($sharekeys, $user . '/files_trashbin/share-keys/' . $filename . '.d' . $timestamp);
} else {
- // get local path to share-keys
+
+ // get local path to share-keys
$localShareKeysPath = $rootView->getLocalFile($sharekeys);
+ $escapedLocalShareKeysPath = preg_replace('/(\*|\?|\[)/', '[$1]', $localShareKeysPath);
- // handle share-keys
- $matches = glob(preg_quote($localShareKeysPath) . '*.shareKey');
- foreach ($matches as $src) {
- // get source file parts
- $pathinfo = pathinfo($src);
+ // handle share-keys
+ $matches = glob($escapedLocalShareKeysPath.'*.shareKey');
+ foreach ($matches as $src) {
+ // get source file parts
+ $pathinfo = pathinfo($src);
// we only want to keep the owners key so we can access the private key
$ownerShareKey = $filename . '.' . $user . '.shareKey';
* @param $timestamp timestamp when the file was deleted
*/
private static function getVersionsFromTrash($filename, $timestamp) {
- $view = new \OC\Files\View('/' . \OCP\User::getUser() . '/files_trashbin/versions');
- $versionsName = $view->getLocalFile($filename);
+
+ $view = new \OC\Files\View('/'.\OCP\User::getUser().'/files_trashbin/versions');
+ $versionsName = $view->getLocalFile($filename).'.v';
+ $escapedVersionsName = preg_replace('/(\*|\?|\[)/', '[$1]', $versionsName);
$versions = array();
if ($timestamp) {
// fetch for old versions
- $matches = glob($versionsName . '.v*.d' . $timestamp);
- $offset = -strlen($timestamp) - 2;
+ $matches = glob( $escapedVersionsName.'*.d'.$timestamp );
+ $offset = -strlen($timestamp)-2;
} else {
- $matches = glob($versionsName . '.v*');
+ $matches = glob( $escapedVersionsName.'*' );
}
foreach ($matches as $ma) {
public static function getVersions($uid, $filename, $count = 0 ) {
if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
$versions_fileview = new \OC\Files\View('/' . $uid . '/files_versions');
- $versionsName = $versions_fileview->getLocalFile($filename);
-
+ $versionsName = \OC_Filesystem::normalizePath($versions_fileview->getLocalFile($filename).'.v');
+ $escapedVersionName = preg_replace('/(\*|\?|\[)/', '[$1]', $versionsName);
+
$versions = array();
// fetch for old versions
- $matches = glob(preg_quote($versionsName).'.v*' );
+ $matches = glob($escapedVersionName.'*');
if ( !$matches ) {
return $versions;