Example #1
0
 /**
  * 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);
     }
 }
Example #2
0
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;