PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 3.8.2
WP STAGING – WordPress Backup, Restore, Migration & Clone v3.8.2
4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Backup / Ajax / FileInfo.php
wp-staging / Backup / Ajax Last commit date
Backup 2 years ago FileList 2 years ago Restore 2 years ago Backup.php 2 years ago BackupSpeedIndex.php 2 years ago Cancel.php 3 years ago Delete.php 3 years ago Edit.php 2 years ago FileInfo.php 3 years ago FileList.php 2 years ago Listing.php 2 years ago Parts.php 3 years ago PrepareJob.php 2 years ago Restore.php 2 years ago ScheduleList.php 2 years ago Status.php 3 years ago Upload.php 2 years ago
FileInfo.php
56 lines
1 <?php
2
3 // TODO PHP7.x; declare(strict_type=1);
4 // TODO PHP7.x; type hints & return types
5
6 namespace WPStaging\Backup\Ajax;
7
8 use WPStaging\Framework\Component\AbstractTemplateComponent;
9 use WPStaging\Framework\TemplateEngine\TemplateEngine;
10 use WPStaging\Backup\Entity\BackupMetadata;
11 use WPStaging\Backup\Service\BackupsFinder;
12
13 class FileInfo extends AbstractTemplateComponent
14 {
15 /** @var BackupsFinder */
16 private $backupsFinder;
17
18 public function __construct(TemplateEngine $templateEngine, BackupsFinder $backupsFinder)
19 {
20 parent::__construct($templateEngine);
21 $this->backupsFinder = $backupsFinder;
22 }
23
24 public function render()
25 {
26 if (!$this->canRenderAjax()) {
27 return;
28 }
29
30 $filePath = isset($_POST['filePath']) ? sanitize_text_field($_POST['filePath']) : '';
31 // Make sure path is inside Backups Directory
32 $backupDir = wp_normalize_path($this->backupsFinder->getBackupsDirectory());
33 $file = $backupDir . str_replace($backupDir, '', wp_normalize_path(untrailingslashit($filePath)));
34
35 try {
36 $info = (new BackupMetadata())->hydrateByFilePath($file);
37 } catch (\Exception $e) {
38 wp_send_json([
39 'error' => true,
40 'message' => $e->getMessage(),
41 ]);
42 }
43
44 $viewData = [
45 'info' => $info
46 ];
47
48 $result = $this->templateEngine->render(
49 'Backend/views/backup/modal/confirm-restore.php',
50 $viewData
51 );
52
53 wp_send_json($result);
54 }
55 }
56