PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 7.8.1
Admin and Site Enhancements (ASE) v7.8.1
9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 8.3.2 8.4.0 8.4.1 8.4.2 8.5.0 8.5.1 8.5.2 8.6.0 8.6.1 8.6.2 8.7.0 5.0.1 5.0.2 5.0.2.1 5.0.2.2 5.0.2.3 5.0.2.4 5.1.0 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.8.0 5.8.1 6.0.0 6.0.3 6.0.4 6.0.5 6.0.5.1 6.0.6 6.0.7 6.0.8.1 6.1.0 6.1.3 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.3.0 6.3.1 6.3.2 6.4.0 6.5.0 6.5.1 6.6.0 6.7.0 6.8.0 6.8.2 6.8.3 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13.1 6.9.13.2 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.2 7.0.2.1 7.0.2.2 7.0.2.3 7.0.3 7.1.0 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2.0 7.2.1 7.3.0 7.3.1 7.3.2 7.3.3 7.4.0 7.4.2 7.4.4 7.4.5 7.4.6 7.4.7 7.4.8 7.5.0 7.5.1 7.5.2 7.5.3 7.5.4 7.6.0 7.6.1 7.6.1.1 7.6.10 7.6.11 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.6.7 7.6.7.1 7.6.8 7.6.9 7.7.0 7.8.0 7.8.1 7.8.10 7.8.11 7.8.12 7.8.13 7.8.14 7.8.15 7.8.16 7.8.17 7.8.18 7.8.2 7.8.3 7.8.4 7.8.5 7.8.5.1 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1 7.9.10 7.9.11 7.9.2 7.9.3 7.9.4 7.9.5 7.9.6 7.9.7 7.9.8 7.9.9 8.0.0 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.0.6 8.0.7 8.0.8 8.1.0 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.1 2.8.2 2.8.3 2.9.0 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.2.0 3.3.0 3.4.0 3.5.0 3.6.1 3.7.0 3.8.0 3.9.0 3.9.1 3.9.2 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.9.0 4.9.1 4.9.2 4.9.3 5.0.0
admin-site-enhancements / classes / class-heartbeat-control.php
admin-site-enhancements / classes Last commit date
class-activation.php 1 year ago class-admin-menu-organizer.php 1 year ago class-auto-publish-posts-with-missed-schedule.php 1 year ago class-avif-upload.php 1 year ago class-captcha-protection.php 1 year ago class-change-login-url.php 1 year ago class-cleanup-admin-bar.php 1 year ago class-common-methods.php 1 year ago class-content-duplication.php 1 year ago class-content-order.php 1 year ago class-custom-admin-footer-text.php 1 year ago class-custom-body-class.php 1 year ago class-custom-css.php 1 year ago class-custom-nav-menu-items-in-new-tab.php 1 year ago class-deactivation.php 1 year ago class-disable-comments.php 1 year ago class-disable-dashboard-widgets.php 1 year ago class-disable-feeds.php 1 year ago class-disable-gutenberg.php 1 year ago class-disable-rest-api.php 1 year ago class-disable-smaller-components.php 1 year ago class-disable-updates.php 1 year ago class-disable-xml-rpc.php 1 year ago class-display-system-summary.php 1 year ago class-email-address-obfuscator.php 1 year ago class-email-delivery.php 1 year ago class-enhance-list-tables.php 1 year ago class-external-permalinks.php 1 year ago class-heartbeat-control.php 1 year ago class-hide-admin-bar.php 1 year ago class-hide-admin-notices.php 1 year ago class-image-sizes-panel.php 1 year ago class-image-upload-control.php 1 year ago class-insert-head-body-footer-code.php 1 year ago class-last-login-column.php 1 year ago class-limit-login-attempts.php 1 year ago class-login-id-type.php 1 year ago class-login-logout-menu.php 1 year ago class-maintenance-mode.php 1 year ago class-manage-ads-appads-txt.php 1 year ago class-manage-robots-txt.php 1 year ago class-media-replacement.php 1 year ago class-multiple-user-roles.php 1 year ago class-obfuscate-author-slugs.php 1 year ago class-open-external-links-in-new-tab.php 1 year ago class-password-protection.php 1 year ago class-redirect-after-login.php 1 year ago class-redirect-after-logout.php 1 year ago class-redirect-fourofour.php 1 year ago class-registration-date-column.php 1 year ago class-revisions-control.php 1 year ago class-search-engines-visibility.php 1 year ago class-settings-fields-render.php 1 year ago class-settings-sanitization.php 1 year ago class-settings-sections-fields.php 1 year ago class-show-custom-taxonomy-filters.php 1 year ago class-site-identity-on-login-page.php 1 year ago class-svg-upload.php 1 year ago class-various-admin-ui-enhancements.php 1 year ago class-view-admin-as-role.php 1 year ago class-wider-admin-menu.php 1 year ago class-wp-config-transformer.php 1 year ago
class-heartbeat-control.php
125 lines
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Class for Heartbeat Control module
7 *
8 * @since 6.9.5
9 */
10 class Heartbeat_Control {
11
12 private $current_url_path;
13
14 /**
15 * Maybe modify heartbeat tick frequency based on settings for each location
16 *
17 * @since 3.8.0
18 */
19 public function maybe_modify_heartbeat_frequency( $settings ) {
20
21 if ( wp_doing_cron() ) {
22 return $settings;
23 }
24
25 $this->get_url_path(); // defines $current_url_path
26
27 $options = get_option( ASENHA_SLUG_U, array() );
28
29 // Disable heartbeat autostart
30 $settings['autostart'] = false;
31
32 if ( is_admin() ) {
33
34 if ( '/wp-admin/post.php' == $this->current_url_path || '/wp-admin/post-new.php' == $this->current_url_path ) {
35
36 // Maybe modify interval on post edit screens
37 if ( 'modify' == $options['heartbeat_control_for_post_edit'] ) {
38 $settings['minimalInterval'] = absint( $options['heartbeat_interval_for_post_edit'] );
39 }
40
41 } else {
42
43 // Maybe modify interval on admin pages
44 if ( 'modify' == $options['heartbeat_control_for_admin_pages'] ) {
45 $settings['minimalInterval'] = absint( $options['heartbeat_interval_for_admin_pages'] );
46 }
47
48 }
49
50 } else {
51
52 // Maybe modify interval on the frontend
53 if ( 'modify' == $options['heartbeat_control_for_frontend'] ) {
54 $settings['minimalInterval'] = absint( $options['heartbeat_interval_for_frontend'] );
55 }
56
57 }
58
59 return $settings;
60
61 }
62
63 /**
64 * Maybe disable heartbeat ticks based on settings for each location
65 *
66 * @since 3.8.0
67 */
68 public function maybe_disable_heartbeat() {
69
70 global $pagenow;
71
72 $options = get_option( ASENHA_SLUG_U, array() );
73
74 if ( is_admin() ) {
75
76 if ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) {
77
78 // Maybe disable on post creation / edit screens
79 if ( 'disable' == $options['heartbeat_control_for_post_edit'] ) {
80 wp_deregister_script( 'heartbeat' );
81 return;
82 }
83
84 } else {
85
86 // Maybe disable on the rest of admin pages
87 if ( 'disable' == $options['heartbeat_control_for_admin_pages'] ) {
88 wp_deregister_script( 'heartbeat' );
89 return;
90 }
91
92 }
93
94 } else {
95
96 // Maybe disable on the frontend
97 if ( 'disable' == $options['heartbeat_control_for_frontend'] ) {
98 wp_deregister_script( 'heartbeat' );
99 return;
100 }
101
102 }
103
104 }
105
106 /**
107 * Set current location
108 * Supported locations [editor,dashboard,frontend]
109 */
110 public function get_url_path() {
111
112 global $pagenow;
113
114 if ( isset( $_SERVER['HTTP_HOST'] ) ) {
115 $url = ( isset( $_SERVER['HTTPS'] ) ? 'https' : 'http' ) . '://' . $_SERVER["HTTP_HOST"] . '' . $_SERVER["REQUEST_URI"];
116 } else {
117 $url = get_admin_url() . $pagenow;
118 }
119
120 $request_path = parse_url( $url, PHP_URL_PATH ); // e.g. '/wp-admin/post.php'
121 $this->current_url_path = $request_path;
122
123 }
124
125 }