/** * Test getHistory() * * @return void */ public function testGetHistory() { $fileResource = new File($this->getMockedClient(new Response(200, ['Content-Type' => 'application/json'], file_get_contents(__DIR__ . '/../../assets/FileHistoryTest_getAll.json')))); $lib = new Library(); $lib->id = 123; $fileHistoryItems = $fileResource->getHistory($lib, new DirectoryItem()); self::assertInternalType('array', $fileHistoryItems); foreach ($fileHistoryItems as $fileHistoryItem) { self::assertInstanceOf('Seafile\\Client\\Type\\FileHistoryItem', $fileHistoryItem); } }
rename($newFilename, $newFilename . '.txt'); $newFilename .= '.txt'; file_put_contents($newFilename, 'Hello World: ' . date('Y-m-d H:i:s')); $logger->log(Logger::INFO, "#################### Uploading file " . $newFilename); $response = $fileResource->upload($lib, $newFilename, '/'); // Update file $logger->log(Logger::INFO, "#################### Updating file " . $newFilename); file_put_contents($newFilename, ' - UPDATED!', FILE_APPEND); $response = $fileResource->update($lib, $newFilename, '/'); // Get file detail $logger->log(Logger::INFO, "#################### Getting file detail of " . $newFilename); $dirItem = $fileResource->getFileDetail($lib, basename($newFilename)); if ($dirItem->path === null) { $dirItem->path = '/'; } // Get file history $logger->log(Logger::INFO, "#################### Getting file history of " . $newFilename); $fileHistoryItems = $fileResource->getHistory($lib, $dirItem); $logger->log(Logger::INFO, "#################### Listing file history of " . $newFilename); foreach ($fileHistoryItems as $fileHistoryItem) { $logger->log(Logger::INFO, sprintf("%s at %s", $fileHistoryItem->desc, $fileHistoryItem->ctime->format('Y-m-d H:i:s'))); } $firstFileRevision = array_slice($fileHistoryItems, -1)[0]; $localFilePath = '/tmp/yo.txt'; $response = $fileResource->downloadRevision($lib, $dirItem, $firstFileRevision, $localFilePath); if ($response->getStatusCode() == 200) { $logger->log(Logger::INFO, "#### First file revision of " . $dirItem->name . " downloaded to " . $localFilePath); } else { $logger->log(Logger::ALERT, "#### Got HTTP status code " . $response->getStatusCode()); } print PHP_EOL . 'Done' . PHP_EOL;