PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 2.0.3
JetBackup – Backup, Restore & Migrate v2.0.3
3.1.22.4 3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / com / lib / BackupGuard / Core / SGBGArchiveCdr.php
backup / com / lib / BackupGuard / Core Last commit date
ISGArchiveDelegate.php 3 years ago SGBGArchive.php 3 years ago SGBGArchiveCdr.php 3 years ago SGBGArchiveHelper.php 3 years ago SGBGCache.php 3 years ago SGBGCacheableFile.php 3 years ago SGBGDirectoryTreeFile.php 3 years ago SGBGFile.php 3 years ago SGBGFileHelper.php 3 years ago SGBGJsonFile.php 3 years ago SGBGLog.php 3 years ago SGBGReloader.php 3 years ago SGBGStateFile.php 3 years ago SGBGTask.php 3 years ago
SGBGArchiveCdr.php
71 lines
1 <?php
2 require_once(__DIR__.'/SGBGCacheableFile.php');
3 require_once(__DIR__.'/SGBGArchiveHelper.php');
4
5 class SGBGArchiveCdr extends SGBGCacheableFile
6 {
7 private $count = 0;
8
9 public function getCount()
10 {
11 return $this->count;
12 }
13
14 public function setCount($count)
15 {
16 $this->count = $count;
17 }
18
19 public function addFile($filename, $offset, $compressedLength, $uncompressedLength, $fileChunks, $logCallable, $crcData)
20 {
21 $logCallable('Start write CDR item');
22
23 $logCallable('CRC: Not supported');
24
25 $rec = SGBGArchiveHelper::packToLittleEndian(abs(crc32($crcData)), 4); //crc (not used in this version)
26
27 $filenameLen = strlen($filename);
28 $logCallable('Filename length: '.$filenameLen);
29 $rec .= SGBGArchiveHelper::packToLittleEndian($filenameLen, 2);
30
31 $logCallable('Filename: '.$filename);
32 $rec .= $filename;
33
34 //file offset, compressed length, uncompressed length, all of them are written in 8 bytes to cover big integer size
35 $logCallable('Offset: '.$offset);
36 $rec .= SGBGArchiveHelper::packToLittleEndian($offset, 8);
37
38 $logCallable('Compressed length: '.$compressedLength);
39 $rec .= SGBGArchiveHelper::packToLittleEndian($compressedLength, 8);
40
41 $logCallable('Uncompressed length: '.$uncompressedLength);
42 $rec .= SGBGArchiveHelper::packToLittleEndian($uncompressedLength, 8); //uncompressed size (not used in this version)
43
44 if (!empty($fileChunks)) {
45 $chunksCount = count($fileChunks);
46 $logCallable('Number of chunks: ' . $chunksCount);
47 $rec .= SGBGArchiveHelper::packToLittleEndian($chunksCount, 4);
48
49 foreach ($fileChunks as $fileChunk) {
50 $logCallable('Chunk: Start(' . $fileChunk['start'] . ') - Size(' . $fileChunk['size'] . ')');
51 //start and size are written in 8 bytes to cover big integer size
52 $rec .= SGBGArchiveHelper::packToLittleEndian($fileChunk['start'], 8);
53 $rec .= SGBGArchiveHelper::packToLittleEndian($fileChunk['size'], 8);
54 }
55 } else {
56 $rec .= SGBGArchiveHelper::packToLittleEndian(0, 8);
57 $rec .= SGBGArchiveHelper::packToLittleEndian(0, 8);
58 }
59
60
61 $result = $this->write($rec);
62 if ($result === FALSE) {
63 throw new Exception('Failed to write in cdr.');
64 }
65
66 $this->count++;
67
68 $logCallable('End write CDR item: '.$result.' bytes');
69 }
70 }
71