mirror of
https://github.com/nextcloud/server.git
synced 2026-02-20 00:12:30 -05:00
Merge pull request #55908 from nextcloud/revert-trashbin-expiration-change
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Revert trashbin expiration handling in #55742
This commit is contained in:
commit
1b22ca25da
2 changed files with 7 additions and 16 deletions
|
|
@ -16,7 +16,6 @@ use OC\Files\Node\NonExistingFolder;
|
|||
use OC\Files\View;
|
||||
use OC\User\NoUserException;
|
||||
use OC_User;
|
||||
use OCA\Files_Trashbin\AppInfo\Application;
|
||||
use OCA\Files_Trashbin\Command\Expire;
|
||||
use OCA\Files_Trashbin\Events\BeforeNodeRestoredEvent;
|
||||
use OCA\Files_Trashbin\Events\NodeRestoredEvent;
|
||||
|
|
@ -844,7 +843,7 @@ class Trashbin implements IEventListener {
|
|||
$dirContent = Helper::getTrashFiles('/', $user, 'mtime');
|
||||
|
||||
// delete all files older then $retention_obligation
|
||||
[$delSize, $count] = self::deleteExpiredFiles($dirContent, $user, $availableSpace <= 0);
|
||||
[$delSize, $count] = self::deleteExpiredFiles($dirContent, $user);
|
||||
|
||||
$availableSpace += $delSize;
|
||||
|
||||
|
|
@ -857,9 +856,7 @@ class Trashbin implements IEventListener {
|
|||
*/
|
||||
private static function scheduleExpire($user) {
|
||||
// let the admin disable auto expire
|
||||
/** @var Application $application */
|
||||
$application = Server::get(Application::class);
|
||||
$expiration = $application->getContainer()->query('Expiration');
|
||||
$expiration = Server::get(Expiration::class);
|
||||
if ($expiration->isEnabled()) {
|
||||
Server::get(IBus::class)->push(new Expire($user));
|
||||
}
|
||||
|
|
@ -875,14 +872,12 @@ class Trashbin implements IEventListener {
|
|||
* @return int|float size of deleted files
|
||||
*/
|
||||
protected static function deleteFiles(array $files, string $user, int|float $availableSpace): int|float {
|
||||
/** @var Application $application */
|
||||
$application = Server::get(Application::class);
|
||||
$expiration = $application->getContainer()->query('Expiration');
|
||||
$expiration = Server::get(Expiration::class);
|
||||
$size = 0;
|
||||
|
||||
if ($availableSpace < 0) {
|
||||
if ($availableSpace <= 0) {
|
||||
foreach ($files as $file) {
|
||||
if ($availableSpace < 0 && $expiration->isExpired($file['mtime'], true)) {
|
||||
if ($availableSpace <= 0 && $expiration->isExpired($file['mtime'], true)) {
|
||||
$tmp = self::delete($file['name'], $user, $file['mtime']);
|
||||
Server::get(LoggerInterface::class)->info(
|
||||
'remove "' . $file['name'] . '" (' . $tmp . 'B) to meet the limit of trash bin size (50% of available quota) for user "{user}"',
|
||||
|
|
@ -906,18 +901,16 @@ class Trashbin implements IEventListener {
|
|||
*
|
||||
* @param array $files list of files sorted by mtime
|
||||
* @param string $user
|
||||
* @param bool $quotaExceeded
|
||||
* @return array{int|float, int} size of deleted files and number of deleted files
|
||||
*/
|
||||
public static function deleteExpiredFiles($files, $user, bool $quotaExceeded = false) {
|
||||
/** @var Expiration $expiration */
|
||||
public static function deleteExpiredFiles($files, $user) {
|
||||
$expiration = Server::get(Expiration::class);
|
||||
$size = 0;
|
||||
$count = 0;
|
||||
foreach ($files as $file) {
|
||||
$timestamp = $file['mtime'];
|
||||
$filename = $file['name'];
|
||||
if ($expiration->isExpired($timestamp, $quotaExceeded)) {
|
||||
if ($expiration->isExpired($timestamp)) {
|
||||
try {
|
||||
$size += self::delete($filename, $user, $timestamp);
|
||||
$count++;
|
||||
|
|
|
|||
|
|
@ -1907,8 +1907,6 @@
|
|||
<code><![CDATA[getUserFolder]]></code>
|
||||
<code><![CDATA[getUserFolder]]></code>
|
||||
<code><![CDATA[getUserFolder]]></code>
|
||||
<code><![CDATA[query]]></code>
|
||||
<code><![CDATA[query]]></code>
|
||||
</DeprecatedMethod>
|
||||
<InternalClass>
|
||||
<code><![CDATA[new View('/' . $owner)]]></code>
|
||||
|
|
|
|||
Loading…
Reference in a new issue