Example #1
0
 public function execute(array $params = array())
 {
     /**
      * Each file is structured like:
      * [
      *  "relativePath"          => file path relative to ABSPATH,
      *  "pathEncoded"           => is path url encoded?,
      *  "size"                  => file size sent for reference,
      *  "offset"                => number of bytes to offset hash start (integer, optional, default 0),
      *  "limit"                 => number of bytes to hash (integer, optional, default 0),
      * ]
      */
     $requestedFiles = $params['files'];
     $result = new MWP_IncrementalBackup_Model_FetchFilesResult();
     foreach ($requestedFiles as $requestedFile) {
         $relativePath = $requestedFile['relativePath'];
         $decodedRelativePath = $requestedFile['pathEncoded'] ? $this->pathDecode($relativePath) : $relativePath;
         $realPath = $this->getRealPath($decodedRelativePath);
         $offset = isset($requestedFile['offset']) ? $requestedFile['offset'] : 0;
         $limit = isset($requestedFile['limit']) ? $requestedFile['limit'] : -1;
         $file = new MWP_IncrementalBackup_Model_File();
         $file->setPathname($relativePath);
         $file->setStream(new MWP_Stream_FileLimit(new MWP_Stream_LazyFile($realPath), $offset, $limit));
         if (isset($requestedFile['encoding'])) {
             $file->setEncoding($requestedFile['encoding']);
         }
         $result->addFile($file);
     }
     $result->setServerStatistics(MWP_IncrementalBackup_Model_ServerStatistics::factory());
     return $result;
 }
 /**
  * @param MWP_IncrementalBackup_Database_DumperInterface $dumper
  * @param array                                          $tables
  *
  * @return MWP_IncrementalBackup_Model_FetchFilesResult
  */
 protected function dumpToSingleStream(MWP_IncrementalBackup_Database_DumperInterface $dumper, array $tables)
 {
     $stream = $dumper->createStream($tables);
     $file = new MWP_IncrementalBackup_Model_File();
     $file->setPathname('tables.sql');
     $file->setStream($stream);
     $result = new MWP_IncrementalBackup_Model_FetchFilesResult();
     $result->setServerStatistics(MWP_IncrementalBackup_Model_ServerStatistics::factory());
     $result->setFiles(array($file));
     return $result;
 }
Example #3
0
 /**
  * @return MWP_IncrementalBackup_Model_ServerStatistics
  */
 private function getServerStatistics()
 {
     return MWP_IncrementalBackup_Model_ServerStatistics::factory();
 }