Пример #1
0
 /**
  * @param $argument
  * @throws \Exception
  */
 protected function run($argument)
 {
     $maxAge = $this->expiration->getMaxAgeAsTimestamp();
     if (!$maxAge) {
         return;
     }
     $offset = $this->config->getAppValue('files_trashbin', 'cronjob_user_offset', 0);
     $users = $this->userManager->search('', self::USERS_PER_SESSION, $offset);
     if (!count($users)) {
         // No users found, reset offset and retry
         $offset = 0;
         $users = $this->userManager->search('', self::USERS_PER_SESSION);
     }
     $offset += self::USERS_PER_SESSION;
     $this->config->setAppValue('files_trashbin', 'cronjob_user_offset', $offset);
     foreach ($users as $user) {
         $uid = $user->getUID();
         if (!$this->setupFS($uid)) {
             continue;
         }
         $dirContent = Helper::getTrashFiles('/', $uid, 'mtime');
         Trashbin::deleteExpiredFiles($dirContent, $uid);
     }
     \OC_Util::tearDownFS();
 }
Пример #2
0
 /**
  * @dataProvider expirationData
  *
  * @param string $retentionObligation
  * @param int $timeNow
  * @param int $timestamp
  * @param bool $quotaExceeded
  * @param string $expectedResult
  */
 public function testExpiration($retentionObligation, $timeNow, $timestamp, $quotaExceeded, $expectedResult)
 {
     $mockedConfig = $this->getMockedConfig($retentionObligation);
     $mockedTimeFactory = $this->getMockedTimeFactory($timeNow);
     $expiration = new Expiration($mockedConfig, $mockedTimeFactory);
     $actualResult = $expiration->isExpired($timestamp, $quotaExceeded);
     $this->assertEquals($expectedResult, $actualResult);
 }
Пример #3
0
 /**
  * @param $argument
  * @throws \Exception
  */
 protected function run($argument)
 {
     $maxAge = $this->expiration->getMaxAgeAsTimestamp();
     if (!$maxAge) {
         return;
     }
     $this->userManager->callForAllUsers(function (IUser $user) {
         $uid = $user->getUID();
         if (!$this->setupFS($uid)) {
             return;
         }
         $dirContent = Helper::getTrashFiles('/', $uid, 'mtime');
         Trashbin::deleteExpiredFiles($dirContent, $uid);
     });
     \OC_Util::tearDownFS();
 }
Пример #4
0
 /**
  * @dataProvider timestampTestData
  *
  * @param string $configValue
  * @param int $expectedMaxAgeTimestamp
  */
 public function testGetMaxAgeAsTimestamp($configValue, $expectedMaxAgeTimestamp)
 {
     $mockedConfig = $this->getMockedConfig($configValue);
     $mockedTimeFactory = $this->getMockedTimeFactory(self::FAKE_TIME_NOW);
     $expiration = new Expiration($mockedConfig, $mockedTimeFactory);
     $actualTimestamp = $expiration->getMaxAgeAsTimestamp();
     $this->assertEquals($expectedMaxAgeTimestamp, $actualTimestamp);
 }