PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.0
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.0
4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.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 / Frontend / LoginAfterRestore.php
wp-staging / Frontend Last commit date
Frontend.php 1 day ago FrontendServiceProvider.php 1 day ago LoginAfterRestore.php 1 day ago LoginForm.php 1 day ago LoginNotice.php 1 day ago
LoginAfterRestore.php
101 lines
1 <?php
2
3 namespace WPStaging\Frontend;
4
5 use WPStaging\Core\WPStaging;
6 use WPStaging\Framework\Facades\Sanitize;
7 use WPStaging\Framework\Security\AccessToken;
8 use WPStaging\Framework\SiteInfo;
9
10 class LoginAfterRestore
11 {
12
13
14
15
16 public function showMessage()
17 {
18
19 if (!isset($_GET['wpstgAfterRestore']) || !Sanitize::sanitizeBool($_GET['wpstgAfterRestore'])) {
20 return;
21 }
22
23
24 if (!isset($_GET['accessToken'])) {
25 return;
26 }
27
28
29
30 $auth = WPStaging::make(AccessToken::class);
31
32
33 if (!$auth->isValidToken($_GET['accessToken'])) {
34 return;
35 }
36
37
38 $adminEmails = $this->getListOfAdminEmails();
39
40 $isRestoredFromWpCom = $this->getIsRestoredFromWpCom();
41 $resetPasswordArticleLink = 'https://wp-staging.com/reset-your-wordpress-admin-password-manually/';
42
43 include WPSTG_VIEWS_DIR . 'frontend/loginAfterRestore.php';
44 }
45
46
47
48
49 protected function getIsRestoredFromWpCom(): bool
50 {
51
52 $siteInfo = WPStaging::make(SiteInfo::class);
53
54 if ($siteInfo->isHostedOnWordPressCom()) {
55 return false;
56 }
57
58 if (isset($_GET['wpstgIsBackupCreatedOnWordPressCom']) && Sanitize::sanitizeBool($_GET['wpstgIsBackupCreatedOnWordPressCom'])) {
59 return true;
60 }
61
62 return false;
63 }
64
65
66
67
68 private function getListOfAdminEmails()
69 {
70 $adminEmails = get_users([
71 'role' => 'administrator',
72 'fields' => [
73 'user_email',
74 ],
75 'number' => 10,
76 ]);
77
78
79 if (!is_array($adminEmails) || empty($adminEmails)) {
80 return [];
81 }
82
83 $adminEmails = array_map(function ($stdClass) {
84 if (is_object($stdClass) && property_exists($stdClass, 'user_email')) {
85 return $stdClass->user_email;
86 }
87
88 return null;
89 }, $adminEmails);
90
91 $adminEmails = array_filter($adminEmails, 'is_email');
92
93
94 if (empty($adminEmails)) {
95 return [];
96 }
97
98 return $adminEmails;
99 }
100 }
101