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