PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 3.9.2
Admin and Site Enhancements (ASE) v3.9.2
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-optimizations.php
admin-site-enhancements / classes Last commit date
class-activation.php 3 years ago class-admin-interface.php 3 years ago class-common-methods.php 3 years ago class-content-management.php 3 years ago class-custom-code.php 3 years ago class-deactivation.php 3 years ago class-disable-components.php 3 years ago class-login-logout.php 3 years ago class-optimizations.php 3 years ago class-security.php 3 years ago class-settings-fields-render.php 3 years ago class-settings-sanitization.php 3 years ago class-settings-sections-fields.php 3 years ago class-utilities.php 3 years ago
class-optimizations.php
115 lines
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Class related to Optimizations features
7 *
8 * @since 3.8.0
9 */
10 class Optimizations {
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 $this->get_url_path(); // defines $current_url_path
22
23 $options = get_option( ASENHA_SLUG_U, array() );
24
25 // Disable heartbeat autostart
26 $settings['autostart'] = false;
27
28 if ( is_admin() ) {
29
30 if ( '/wp-admin/post.php' == $this->current_url_path || '/wp-admin/post-new.php' == $this->current_url_path ) {
31
32 // Maybe modify interval on post edit screens
33 if ( 'modify' == $options['heartbeat_control_for_post_edit'] ) {
34 $settings['minimalInterval'] = absint( $options['heartbeat_interval_for_post_edit'] );
35 }
36
37 } else {
38
39 // Maybe modify interval on admin pages
40 if ( 'modify' == $options['heartbeat_control_for_admin_pages'] ) {
41 $settings['minimalInterval'] = absint( $options['heartbeat_interval_for_admin_pages'] );
42 }
43
44 }
45
46 } else {
47
48 // Maybe modify interval on the frontend
49 if ( 'modify' == $options['heartbeat_control_for_frontend'] ) {
50 $settings['minimalInterval'] = absint( $options['heartbeat_interval_for_frontend'] );
51 }
52
53 }
54
55 return $settings;
56
57 }
58
59 /**
60 * Maybe disable heartbeat ticks based on settings for each location
61 *
62 * @since 3.8.0
63 */
64 public function maybe_disable_heartbeat() {
65
66 global $pagenow;
67
68 $options = get_option( ASENHA_SLUG_U, array() );
69
70 if ( is_admin() ) {
71
72 if ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) {
73
74 // Maybe disable on post creation / edit screens
75 if ( 'disable' == $options['heartbeat_control_for_post_edit'] ) {
76 wp_deregister_script( 'heartbeat' );
77 return;
78 }
79
80 } else {
81
82 // Maybe disable on the rest of admin pages
83 if ( 'disable' == $options['heartbeat_control_for_admin_pages'] ) {
84 wp_deregister_script( 'heartbeat' );
85 return;
86 }
87
88 }
89
90 } else {
91
92 // Maybe disable on the frontend
93 if ( 'disable' == $options['heartbeat_control_for_frontend'] ) {
94 wp_deregister_script( 'heartbeat' );
95 return;
96 }
97
98 }
99
100 }
101
102 /**
103 * Set current location
104 * Supported locations [editor,dashboard,frontend]
105 */
106 public function get_url_path() {
107
108 $url = ( isset( $_SERVER['HTTPS'] ) ? "https" : "http" ) . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
109 $request_path = parse_url( $url, PHP_URL_PATH ); // e.g. '/wp-admin/post.php'
110 $this->current_url_path = $request_path;
111
112 }
113
114
115 }