PluginProbe
WP Synchro – The Ultimate WordPress Migration Tool / trunk
WP Synchro – The Ultimate WordPress Migration Tool vtrunk
1.16.1 1.16.0 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.10.0 1.11.0 1.11.1 1.11.2 1.11.3 1.11.4 1.11.5 1.12.0 1.13.0 1.14.0 1.15.0 1.2.0 1.3.0 1.3.1 1.3.2 All 45 releases
wpsynchro / src / API / GetFiles.php

GetFiles.php in WP Synchro – The Ultimate WordPress Migration Tool trunk, at src/API/GetFiles.php

51 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPSynchro\API;
4
5 use WPSynchro\Transport\RemoteTransport;
6 use WPSynchro\Transport\ReturnResult;
7 use WPSynchro\Transport\Transfer;
8 use WPSynchro\Transport\TransferAccessKey;
9
10 /**
11 * Class for handling service "getfiles" - Pulling files from remote
12 */
13 class GetFiles extends WPSynchroService
14 {
15 public function service()
16 {
17 // Get transfer object, so we can get data
18 $transfer = new Transfer();
19 $transfer->setEncryptionKey(TransferAccessKey::getAccessKey());
20 $transfer->populateFromString($this->getRequestBody());
21 $body = $transfer->getDataObject();
22
23 // Get data from request
24 $files = $body->files;
25 $maxsize = $body->max_file_size;
26
27 // Get remote transfer object, to be used for its functions to read files
28 $remotetransport = new RemoteTransport();
29 $remotetransport->init();
30 $remotetransport->setMaxRequestSize($maxsize);
31
32 $filesync_added = [];
33 foreach ($files as $file) {
34 $more_space = $remotetransport->addFiledata($file);
35 $filesync_added[] = $file;
36
37 // If it could not be added, probably due to hitting max size, break off
38 if ($more_space === false) {
39 break;
40 }
41 }
42
43 // Return the result
44 $returnresult = new ReturnResult();
45 $returnresult->init();
46 $returnresult->setTransferObject($remotetransport->transfer);
47 $returnresult->setDataObject($filesync_added); // This NEEDS to be after the new transferobject assigment, to make it is added to the new transferobject
48 return $returnresult->echoDataFromServiceAndExit();
49 }
50 }
51