diff options
author | Björn Schießle <schiessle@owncloud.com> | 2013-01-31 10:55:59 +0100 |
---|---|---|
committer | Björn Schießle <schiessle@owncloud.com> | 2013-01-31 10:55:59 +0100 |
commit | 54eeb8b8fcff13d29ae363e7ca5e6da707fdd6b7 (patch) | |
tree | 48c2eb0ad04a4bd921f223258e41beba2e2c6539 /apps/files_versions | |
parent | 9c83b307f6d49f30c4cc6db7258d7e3851bac0b7 (diff) | |
parent | 00a30e665128352e9b20268ea65400a968903c74 (diff) | |
download | nextcloud-server-54eeb8b8fcff13d29ae363e7ca5e6da707fdd6b7.tar.gz nextcloud-server-54eeb8b8fcff13d29ae363e7ca5e6da707fdd6b7.zip |
fix merge conflict
Diffstat (limited to 'apps/files_versions')
-rw-r--r-- | apps/files_versions/appinfo/info.xml | 2 | ||||
-rw-r--r-- | apps/files_versions/lib/hooks.php | 38 | ||||
-rw-r--r-- | apps/files_versions/lib/versions.php | 132 |
3 files changed, 86 insertions, 86 deletions
diff --git a/apps/files_versions/appinfo/info.xml b/apps/files_versions/appinfo/info.xml index e4e5a365d51..0155f8e830f 100644 --- a/apps/files_versions/appinfo/info.xml +++ b/apps/files_versions/appinfo/info.xml @@ -4,7 +4,7 @@ <name>Versions</name> <licence>AGPL</licence> <author>Frank Karlitschek</author> - <require>4.9</require> + <require>4.91</require> <shipped>true</shipped> <description>Versioning of files</description> <types> diff --git a/apps/files_versions/lib/hooks.php b/apps/files_versions/lib/hooks.php index 5fb9dc3c3c5..5cefc532895 100644 --- a/apps/files_versions/lib/hooks.php +++ b/apps/files_versions/lib/hooks.php @@ -21,9 +21,9 @@ class Hooks { if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { - $versions = new Storage( new \OC_FilesystemView('') ); + $versions = new Storage( new \OC\Files\View('') ); - $path = $params[\OC_Filesystem::signal_param_path]; + $path = $params[\OC\Files\Filesystem::signal_param_path]; if($path<>'') $versions->store( $path ); @@ -39,15 +39,15 @@ class Hooks { * cleanup the versions directory if the actual file gets deleted */ public static function remove_hook($params) { - if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
-
- $versions = new Storage( new \OC_FilesystemView('') );
-
- $path = $params[\OC_Filesystem::signal_param_path];
-
- if($path<>'') $versions->delete( $path );
-
- }
+ if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { + + $versions = new Storage( new \OC_FilesystemView('') ); + + $path = $params[\OC\Files\Filesystem::signal_param_path]; + + if($path<>'') $versions->delete( $path ); + + } } /** @@ -58,15 +58,15 @@ class Hooks { * of the stored versions along the actual file */ public static function rename_hook($params) { - if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
-
- $versions = new Storage( new \OC_FilesystemView('') );
-
+ if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { + + $versions = new Storage( new \OC_FilesystemView('') ); + $oldpath = $params['oldpath']; - $newpath = $params['newpath'];
-
- if($oldpath<>'' && $newpath<>'') $versions->rename( $oldpath, $newpath );
-
+ $newpath = $params['newpath']; + + if($oldpath<>'' && $newpath<>'') $versions->rename( $oldpath, $newpath ); + } } diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php index 48be5e223ac..003d548d2b2 100644 --- a/apps/files_versions/lib/versions.php +++ b/apps/files_versions/lib/versions.php @@ -23,15 +23,15 @@ class Storage { private static $max_versions_per_interval = array( 1 => array('intervalEndsAfter' => 10, //first 10sec, one version every 2sec 'step' => 2), - 2 => array('intervalEndsAfter' => 60, //next minute, one version every 10sec
+ 2 => array('intervalEndsAfter' => 60, //next minute, one version every 10sec 'step' => 10), 3 => array('intervalEndsAfter' => 3600, //next hour, one version every minute 'step' => 60), 4 => array('intervalEndsAfter' => 86400, //next 24h, one version every hour 'step' => 3600), - 5 => array('intervalEndsAfter' => 2592000, //next 30days, one version per day
+ 5 => array('intervalEndsAfter' => 2592000, //next 30days, one version per day 'step' => 86400), - 6 => array('intervalEndsAfter' => -1, //until the end one version per week
+ 6 => array('intervalEndsAfter' => -1, //until the end one version per week 'step' => 604800), ); @@ -58,8 +58,8 @@ class Storage { public function store($filename) { if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { list($uid, $filename) = self::getUidAndFilename($filename); - $files_view = new \OC_FilesystemView('/'.$uid .'/files'); - $users_view = new \OC_FilesystemView('/'.$uid); + $files_view = new \OC\Files\View('/'.\OCP\User::getUser() .'/files'); + $users_view = new \OC\Files\View('/'.\OCP\User::getUser()); //check if source file already exist as version to avoid recursions. // todo does this check work? @@ -86,8 +86,8 @@ class Storage { // store a new version of a file $result = $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename)); - if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
- $versionsSize = self::calculateSize($uid);
+ if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) { + $versionsSize = self::calculateSize($uid); } $versionsSize += $users_view->filesize('files'.$filename); @@ -105,42 +105,42 @@ class Storage { * Delete versions of a file */ public static function delete($filename) { - list($uid, $filename) = self::getUidAndFilename($filename);
+ list($uid, $filename) = self::getUidAndFilename($filename); $versions_fileview = new \OC_FilesystemView('/'.$uid .'/files_versions'); -
- $abs_path = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$filename.'.v';
- if( ($versions = self::getVersions($filename)) ) {
- if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
- $versionsSize = self::calculateSize($uid);
- }
- foreach ($versions as $v) {
- unlink($abs_path . $v['version']);
- $versionsSize -= $v['size'];
- }
- \OCP\Config::setAppValue('files_versions', 'size', $versionsSize);
+ + $abs_path = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$filename.'.v'; + if( ($versions = self::getVersions($filename)) ) { + if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) { + $versionsSize = self::calculateSize($uid); + } + foreach ($versions as $v) { + unlink($abs_path . $v['version']); + $versionsSize -= $v['size']; + } + \OCP\Config::setAppValue('files_versions', 'size', $versionsSize); } } - /**
- * rename versions of a file
- */
- public static function rename($oldpath, $newpath) {
+ /** + * rename versions of a file + */ + public static function rename($oldpath, $newpath) { list($uid, $oldpath) = self::getUidAndFilename($oldpath); - list($uidn, $newpath) = self::getUidAndFilename($newpath);
+ list($uidn, $newpath) = self::getUidAndFilename($newpath); $versions_view = new \OC_FilesystemView('/'.$uid .'/files_versions'); $files_view = new \OC_FilesystemView('/'.$uid .'/files'); - $abs_newpath = \OCP\Config::getSystemValue('datadirectory').$versions_view->getAbsolutePath('').$newpath;
-
+ $abs_newpath = \OCP\Config::getSystemValue('datadirectory').$versions_view->getAbsolutePath('').$newpath; + if ( $files_view->is_dir($oldpath) && $versions_view->is_dir($oldpath) ) { $versions_view->rename($oldpath, $newpath); - } else if ( ($versions = Storage::getVersions($oldpath)) ) {
- $info=pathinfo($abs_newpath);
- if(!file_exists($info['dirname'])) mkdir($info['dirname'], 0750, true);
- $versions = Storage::getVersions($oldpath);
+ } else if ( ($versions = Storage::getVersions($oldpath)) ) { + $info=pathinfo($abs_newpath); + if(!file_exists($info['dirname'])) mkdir($info['dirname'], 0750, true); + $versions = Storage::getVersions($oldpath); foreach ($versions as $v) { - $versions_view->rename($oldpath.'.v'.$v['version'], $newpath.'.v'.$v['version']);
- }
- }
+ $versions_view->rename($oldpath.'.v'.$v['version'], $newpath.'.v'.$v['version']); + } + } } /** @@ -150,7 +150,7 @@ class Storage { if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { list($uid, $filename) = self::getUidAndFilename($filename); - $users_view = new \OC_FilesystemView('/'.$uid); + $users_view = new \OC\Files\View('/'.$uid); $versionCreated = false; //first create a new version @@ -184,7 +184,7 @@ class Storage { public static function getVersions( $filename, $count = 0 ) { if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) { list($uid, $filename) = self::getUidAndFilename($filename); - $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions'); + $versions_fileview = new \OC\Files\View('/' . \OCP\User::getUser() . '/files_versions'); $versionsName = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath($filename); $versions = array(); @@ -202,7 +202,7 @@ class Storage { $key = $version.'#'.$filename; $versions[$key]['cur'] = 0; $versions[$key]['version'] = $version; - $versions[$key]['path'] = $filename;
+ $versions[$key]['path'] = $filename; $versions[$key]['size'] = $versions_fileview->filesize($filename.'.v'.$version); // if file with modified date exists, flag it in array as currently enabled version @@ -236,29 +236,29 @@ class Storage { } - /**
- * @brief get the size of all stored versions from a given user
- * @param $uid id from the user
- * @return size of vesions
- */
- private static function calculateSize($uid) {
- if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
- $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
- $versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('');
-
- $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST);
-
+ /** + * @brief get the size of all stored versions from a given user + * @param $uid id from the user + * @return size of vesions + */ + private static function calculateSize($uid) { + if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) { + $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions'); + $versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath(''); + + $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST); + $size = 0; -
- foreach ($iterator as $path) {
- if ( preg_match('/^.+\.v(\d+)$/', $path, $match) ) {
+ + foreach ($iterator as $path) { + if ( preg_match('/^.+\.v(\d+)$/', $path, $match) ) { $relpath = substr($path, strlen($versionsRoot)-1); - $size += $versions_fileview->filesize($relpath);
- }
+ $size += $versions_fileview->filesize($relpath); + } } - return $size;
- }
+ return $size; + } } /** @@ -267,11 +267,11 @@ class Storage { * @return array with contains two arrays 'all' which contains all versions sorted by age and 'by_file' which contains all versions sorted by filename */ private static function getAllVersions($uid) { - if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
+ if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) { $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions'); $versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath(''); - $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST);
+ $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST); $versions = array(); @@ -280,7 +280,7 @@ class Storage { $relpath = substr($path, strlen($versionsRoot)-1); $versions[$match[1].'#'.$relpath] = array('path' => $relpath, 'timestamp' => $match[1]); } - }
+ } ksort($versions); @@ -288,20 +288,20 @@ class Storage { $result = array(); - foreach( $versions as $key => $value ) {
+ foreach( $versions as $key => $value ) { $i++; $size = $versions_fileview->filesize($value['path']); $filename = substr($value['path'], 0, -strlen($value['timestamp'])-2); -
+ $result['all'][$key]['version'] = $value['timestamp']; - $result['all'][$key]['path'] = $filename;
+ $result['all'][$key]['path'] = $filename; $result['all'][$key]['size'] = $size; $filename = substr($value['path'], 0, -strlen($value['timestamp'])-2); $result['by_file'][$filename][$key]['version'] = $value['timestamp']; - $result['by_file'][$filename][$key]['path'] = $filename;
+ $result['by_file'][$filename][$key]['path'] = $filename; $result['by_file'][$filename][$key]['size'] = $size; -
+ } return $result; @@ -322,7 +322,7 @@ class Storage { $quota = \OCP\Util::computerFileSize(\OC_Appconfig::getValue('files', 'default_quota')); } if ( $quota == null ) { - $quota = \OC_Filesystem::free_space('/'); + $quota = \OC\Files\Filesystem::free_space('/'); } // make sure that we have the current size of the version history @@ -332,7 +332,7 @@ class Storage { } } - // calculate available space for version history
+ // calculate available space for version history $rootInfo = \OC_FileCache::get('', '/'. $uid . '/files'); $free = $quota-$rootInfo['size']; // remaining free space for user if ( $free > 0 ) { @@ -394,7 +394,7 @@ class Storage { $nextVersion = $prevTimestamp - $step; if ( Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'] == -1 ) { $nextInterval = -1; - } else {
+ } else { $nextInterval = $time - Storage::$max_versions_per_interval[$interval]['intervalEndsAfter']; } $newInterval = true; // we changed the interval -> check same version with new interval |