PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 3.8.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v3.8.0
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 / Framework / CommonServiceProvider.php
wp-staging / Framework Last commit date
Adapter 1 year ago Analytics 1 year ago Assets 1 year ago Auth 1 year ago BackgroundProcessing 2 years ago CloningProcess 2 years ago Collection 3 years ago Command 5 years ago Component 2 years ago DI 2 years ago Database 2 years ago DependencyResolver 2 years ago Exceptions 2 years ago Facades 2 years ago Filesystem 2 years ago Interfaces 5 years ago Mails 1 year ago Network 2 years ago Notices 2 years ago Permalinks 5 years ago Queue 1 year ago Rest 2 years ago Security 2 years ago Settings 1 year ago Staging 1 year ago TemplateEngine 4 years ago ThirdParty 2 years ago Traits 1 year ago Utils 1 year ago AnalyticsServiceProvider.php 2 years ago AssetServiceProvider.php 5 years ago CommonServiceProvider.php 2 years ago ErrorHandler.php 2 years ago NoticeServiceProvider.php 2 years ago SettingsServiceProvider.php 2 years ago SiteInfo.php 2 years ago Url.php 3 years ago
CommonServiceProvider.php
70 lines
1 <?php
2
3 namespace WPStaging\Framework;
4
5 use WPStaging\Framework\Analytics\AnalyticsCleanup;
6 use WPStaging\Framework\DI\ServiceProvider;
7 use WPStaging\Framework\Filesystem\DebugLogReader;
8 use WPStaging\Framework\Filesystem\DiskWriteCheck;
9 use WPStaging\Framework\Filesystem\LogCleanup;
10 use WPStaging\Framework\Notices\BackupPluginsNotice;
11 use WPStaging\Framework\Settings\DarkMode;
12 use WPStaging\Framework\Utils\DBPermissions;
13 use WPStaging\Framework\Staging\Ajax\StagingSiteDataChecker;
14
15 /**
16 * Class CommonServiceProvider
17 *
18 * A Service Provider for binds common to both Free and Pro.
19 *
20 * @package WPStaging\Framework
21 */
22 class CommonServiceProvider extends ServiceProvider
23 {
24 protected function registerClasses()
25 {
26 $this->container->singleton(DiskWriteCheck::class);
27 $this->container->make(DebugLogReader::class)->listenDeleteLogRequest();
28
29 add_action('wpstg_daily_event', [$this, 'cleanupLogs'], 25, 0);
30 add_action('wpstg_daily_event', [$this, 'cleanupAnalytics'], 25, 0);
31 add_action("wp_ajax_wpstg_is_writable_clone_destination_dir", $this->container->callback(StagingSiteDataChecker::class, "ajaxIsWritableCloneDestinationDir")); // phpcs:ignore WPStaging.Security.AuthorizationChecked
32 add_action("wp_ajax_wpstg_check_user_permissions", $this->container->callback(DBPermissions::class, 'ajaxCheckDBPermissions')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
33 add_action("wp_ajax_wpstg_check_user_is_authenticated", [$this, "ajaxIsUserAuthenticated"]);// phpcs:ignore WPStaging.Security.AuthorizationChecked
34 add_action("wp_ajax_nopriv_wpstg_check_user_is_authenticated", [$this, "ajaxIsUserAuthenticated"]);// phpcs:ignore WPStaging.Security.AuthorizationChecked
35 add_action('wp_ajax_wpstg_backup_plugin_notice_close', $this->container->callback(BackupPluginsNotice::class, 'ajaxBackupPluginNoticeClose')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
36 add_action('wp_ajax_wpstg_backup_plugin_notice_remind_me', $this->container->callback(BackupPluginsNotice::class, 'ajaxBackupPluginNoticeRemindMe')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
37 add_action('admin_init', $this->container->callback(DarkMode::class, 'mayBeShowDarkMode'), 10, 1);
38 add_action('wp_ajax_wpstg_set_dark_mode', $this->container->callback(DarkMode::class, 'ajaxEnableDefaultColorMode')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
39 add_action('wp_ajax_wpstg_set_default_os_color_mode', $this->container->callback(DarkMode::class, 'ajaxSetDefaultOsMode')); // phpcs:ignore WPStaging.Security.AuthorizationChecked
40 }
41
42 /**
43 * @return void
44 */
45 public function cleanupLogs()
46 {
47 $this->container->make(LogCleanup::class)->cleanOldLogs();
48 }
49
50 /**
51 * @return void
52 */
53 public function cleanupAnalytics()
54 {
55 $this->container->make(AnalyticsCleanup::class)->cleanupOldAnalytics();
56 }
57
58 /**
59 * @return void
60 */
61 public function ajaxIsUserAuthenticated()
62 {
63 if (!is_user_logged_in()) {
64 wp_send_json(['wpAuthCheck' => false, 'redirectUrl' => wp_login_url()]);
65 }
66
67 wp_send_json(['wpAuthCheck' => true]);
68 }
69 }
70