PluginProbe
ManageWP Worker / 4.9.34
ManageWP Worker v4.9.34
4.9.38 4.9.37 4.9.36 4.9.35 4.9.34 3.8.7 3.8.8 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.22 3.9.23 3.9.24 All 73 releases
worker / src / MWP / Action / IncrementalBackup / FetchFiles.php

FetchFiles.php in ManageWP Worker 4.9.34, at src/MWP/Action/IncrementalBackup/FetchFiles.php

51 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * This file is part of the ManageWP Worker plugin.
4 *
5 * (c) ManageWP LLC <[email protected]>
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11 class MWP_Action_IncrementalBackup_FetchFiles extends MWP_Action_IncrementalBackup_AbstractFiles
12 {
13
14 public function execute(array $params = array())
15 {
16 /**
17 * Each file is structured like:
18 * [
19 * "relativePath" => file path relative to ABSPATH,
20 * "pathEncoded" => is path url encoded?,
21 * "size" => file size sent for reference,
22 * "offset" => number of bytes to offset hash start (integer, optional, default 0),
23 * "limit" => number of bytes to hash (integer, optional, default 0),
24 * ]
25 */
26 $requestedFiles = $params['files'];
27
28 $result = new MWP_IncrementalBackup_Model_FetchFilesResult();
29
30 foreach ($requestedFiles as $requestedFile) {
31 $relativePath = $requestedFile['relativePath'];
32 $decodedRelativePath = $requestedFile['pathEncoded'] ? $this->pathDecode($relativePath) : $relativePath;
33 $realPath = $this->getRealPath($decodedRelativePath);
34 $offset = isset($requestedFile['offset']) ? $requestedFile['offset'] : 0;
35 $limit = isset($requestedFile['limit']) ? $requestedFile['limit'] : -1;
36
37 $file = new MWP_IncrementalBackup_Model_File();
38 $file->setPathname($relativePath);
39 $file->setStream(new MWP_Stream_FileLimit(new MWP_Stream_LazyFile($realPath), $offset, $limit));
40 if (isset($requestedFile['encoding'])) {
41 $file->setEncoding($requestedFile['encoding']);
42 }
43 $result->addFile($file);
44 }
45
46 $result->setServerStatistics(MWP_IncrementalBackup_Model_ServerStatistics::factory());
47
48 return $result;
49 }
50 }
51