Merge branch 'master' into calendar_export
This commit is contained in:
commit
c4f5639cb4
|
@ -13,7 +13,7 @@ if( OCA_Versions\Storage::isversioned( $source ) ) {
|
|||
$versionsFormatted = array();
|
||||
|
||||
foreach ( $versions AS $version ) {
|
||||
$versionsFormatted[] = OCP\Util::formatDate( doubleval($version) );
|
||||
$versionsFormatted[] = OCP\Util::formatDate( $version['version'] );
|
||||
}
|
||||
|
||||
$versionsSorted = array_reverse( $versions );
|
||||
|
|
|
@ -9,3 +9,6 @@ OCP\Util::addscript('files_versions', 'versions');
|
|||
|
||||
// Listen to write signals
|
||||
OCP\Util::connectHook('OC_Filesystem', 'post_write', "OCA_Versions\Storage", "write_hook");
|
||||
// Listen to delete and rename signals
|
||||
OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA_Versions\Storage", "removeVersions");
|
||||
OCP\Util::connectHook('OC_Filesystem', 'rename', "OCA_Versions\Storage", "renameVersions");
|
|
@ -309,5 +309,40 @@ class Storage {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Erase versions of deleted file
|
||||
* @param array
|
||||
*
|
||||
* This function is connected to the delete signal of OC_Filesystem
|
||||
* cleanup the versions directory if the actual file gets deleted
|
||||
*/
|
||||
public static function removeVersions($params) {
|
||||
$rel_path = $params['path'];
|
||||
$abs_path = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$rel_path.'.v';
|
||||
if(Storage::isversioned($rel_path)) {
|
||||
$versions = Storage::getVersions($rel_path);
|
||||
foreach ($versions as $v){
|
||||
unlink($abs_path . $v['version']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief rename/move versions of renamed/moved files
|
||||
* @param array with oldpath and newpath
|
||||
*
|
||||
* This function is connected to the rename signal of OC_Filesystem and adjust the name and location
|
||||
* of the stored versions along the actual file
|
||||
*/
|
||||
public static function renameVersions($params) {
|
||||
$rel_oldpath = $params['oldpath'];
|
||||
$abs_oldpath = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$rel_oldpath.'.v';
|
||||
$abs_newpath = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$params['newpath'].'.v';
|
||||
if(Storage::isversioned($rel_oldpath)) {
|
||||
$versions = Storage::getVersions($rel_oldpath);
|
||||
foreach ($versions as $v){
|
||||
rename($abs_oldpath.$v['version'], $abs_newpath.$v['version']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue