$rootView->rename($sharekeys, $user.'/files_trashbin/share-keys/' . $filename . '.d' . $timestamp);
} else {
// get local path to share-keys
- $localShareKeysPath = $rootView->getLocalFile($sharekeys);
+ $localShareKeysPath = $rootView->getLocalFile($sharekeys);
+ $escapedLocalShareKeysPath = preg_replace('/(\*|\?|\[)/', '[$1]', $localShareKeysPath);
// handle share-keys
- $matches = glob(preg_quote($localShareKeysPath).'*.shareKey');
+ $matches = glob($escapedLocalShareKeysPath.'*.shareKey');
foreach ($matches as $src) {
// get source file parts
$pathinfo = pathinfo($src);
*/
private static function getVersionsFromTrash($filename, $timestamp) {
$view = new \OC\Files\View('/'.\OCP\User::getUser().'/files_trashbin/versions');
- $versionsName = $view->getLocalFile($filename);
+ $versionsName = $view->getLocalFile($filename).'.v';
+ $escapedVersionsName = preg_replace('/(\*|\?|\[)/', '[$1]', $versionsName);
$versions = array();
if ($timestamp ) {
// fetch for old versions
- $matches = glob( $versionsName.'.v*.d'.$timestamp );
+ $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;