PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.1
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.1
4.11.1 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 week ago FrontendServiceProvider.php 1 week ago LoginAfterRestore.php 1 week ago LoginForm.php 1 week ago LoginNotice.php 1 week 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