PluginProbe
SweepPress: Website Cleanup and Optimization / 3.2
SweepPress: Website Cleanup and Optimization v3.2
trunk 1.1 1.2 1.3 1.4 1.4.1 1.5 1.6 1.7 1.8 2.0 2.1 2.1.1 2.2 2.3 2.3.1 2.4 2.4.1 2.4.2 2.5 2.6 3.0 3.1 3.1.1 3.2 All 39 releases
sweeppress / core / basic / Plugin.php

Plugin.php in SweepPress: Website Cleanup and Optimization 3.2, at core/basic/Plugin.php

116 lines 6.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Dev4Press\Plugin\SweepPress\Basic;
4
5 use Dev4Press\Plugin\SweepPress\Expand\REST;
6 use Dev4Press\Plugin\SweepPress\Meta\Tracker;
7 use Dev4Press\v49\Core\Plugins\Core;
8 use Dev4Press\v49\Core\Quick\BBP;
9
10 if ( ! defined( 'ABSPATH' ) ) {
11 exit;
12 }
13
14 class Plugin extends Core {
15 public $plugin = 'sweeppress';
16 public $svg_icon = 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiPgo8cGF0aCBmaWxsPSJibGFjayIgZD0iTTguNzUgOS4zMTNjMC0wLjE3MyAwLjE0LTAuMzEzIDAuMzEyLTAuMzEzaDMuMzc2YzAuMTcyIDAgMC4zMTIgMC4xNCAwLjMxMiAwLjMxM3YwLjkzN2gtNHYtMC45Mzd6Ij48L3BhdGg+CjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNNy41IDEwLjc1YzAgMC0wLjEyNyAxLjAwOC0wLjI1IDEuNS0wLjE2NyAwLjY2Ny0wLjc1IDIuNS0wLjc1IDIuNSAwIDAuMjc2IDAuMjI0IDAuNSAwLjUgMC41aDcuNWMwLjI3NiAwIDAuNS0wLjIyNCAwLjUtMC41IDAgMC0wLjU4My0xLjgzMy0wLjc1LTIuNS0wLjEyMy0wLjQ5Mi0wLjI1LTEuNS0wLjI1LTEuNSAwLTAuMjc2LTAuNDc0LTAuNS0wLjc1LTAuNWgtNWMtMC4yNzYgMC0wLjc1IDAuMjI0LTAuNzUgMC41ek0xMy4zOTMgMTAuOTI5YzAuMDM3IDAuMjc3IDAuMTQ2IDEuMDU0IDAuMjUxIDEuNDczIDAuMTI2IDAuNTAzIDAuNDg1IDEuNjYzIDAuNjYxIDIuMjIzaC03LjExYzAuMTc2LTAuNTYgMC41MzUtMS43MiAwLjY2MS0yLjIyMyAwLjEwNS0wLjQxOSAwLjIxNC0xLjE5NiAwLjI1MS0xLjQ3MyAwLjA0NC0wLjAyNCAwLjEwOC0wLjA1NCAwLjE0My0wLjA1NGg1YzAuMDM1IDAgMC4wOTkgMC4wMzAgMC4xNDMgMC4wNTR6Ij48L3BhdGg+CjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTAuNDM3IDEyLjI1bDAuMDAxIDIuNWMtMC4wMDEgMC4xNzIgMC4xNCAwLjMxMiAwLjMxMiAwLjMxMnMwLjMxMi0wLjE0IDAuMzEzLTAuMzEybC0wLjAwMS0yLjVjMC0wLjE3Mi0wLjE0LTAuMzEzLTAuMzEyLTAuMzEyLTAuMTcyIDAtMC4zMTMgMC4xNC0wLjMxMyAwLjMxMnoiPjwvcGF0aD4KPHBhdGggZmlsbD0iYmxhY2siIGQ9Ik04Ljk0NCAxMi4xODlsLTAuNSAyLjVjLTAuMDM0IDAuMTY5IDAuMDc2IDAuMzM0IDAuMjQ1IDAuMzY3czAuMzM0LTAuMDc2IDAuMzY3LTAuMjQ1bDAuNS0yLjVjMC4wMzQtMC4xNjktMC4wNzYtMC4zMzQtMC4yNDUtMC4zNjctMC4xNjktMC4wMzQtMC4zMzQgMC4wNzYtMC4zNjcgMC4yNDV6Ij48L3BhdGg+CjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTEuOTQ0IDEyLjMxMWwwLjUgMi41YzAuMDMzIDAuMTY5IDAuMTk4IDAuMjc5IDAuMzY3IDAuMjQ1IDAuMTY5LTAuMDMzIDAuMjc5LTAuMTk4IDAuMjQ1LTAuMzY3bC0wLjUtMi41Yy0wLjAzMy0wLjE2OS0wLjE5OC0wLjI3OS0wLjM2Ny0wLjI0NS0wLjE2OSAwLjAzMy0wLjI3OSAwLjE5OC0wLjI0NSAwLjM2N3oiPjwvcGF0aD4KPHBhdGggZmlsbD0iYmxhY2siIGQ9Ik0xMS43NSAxLjVjMC0wLjU1Mi0wLjQ0OC0xLTEtMXMtMSAwLjQ0OC0xIDF2Ny41aDJ2LTcuNXpNMTAuMzc1IDEuNWMwLTAuMjA3IDAuMTY4LTAuMzc1IDAuMzc1LTAuMzc1czAuMzc1IDAuMTY4IDAuMzc1IDAuMzc1djYuODc1YzAgMC0wLjc1IDAtMC43NSAwdi02Ljg3NXoiPjwvcGF0aD4KPHBhdGggZmlsbD0iYmxhY2siIGQ9Ik02Ljc2MSAxMS4yNTZjLTAuMzQzLTAuMzgzLTAuODM3LTAuNjM5LTEuMzk5LTAuNjczLTAuNTE4LTAuMDMyLTEuMDAyIDAuMTMtMS4zNzcgMC40Mi0wLjIwMi0wLjA4My0wLjQyMS0wLjEzNC0wLjY1Mi0wLjE0OC0wLjY5OC0wLjA0My0xLjMzMyAwLjI2Ni0xLjcyNyAwLjc2Ny0wLjU0NiAwLjI0NS0wLjk3NCAwLjcyNy0xLjExOCAxLjM0Mi0wLjI0NiAxLjA1NSAwLjQzMiAyLjExNCAxLjUyMyAyLjM1NiAwLjUwNiAwLjExMyAxLjAxMSAwLjAzMCAxLjQzMS0wLjE5OSAwLjE4NSAwLjExNCAwLjM5MyAwLjE5OSAwLjYxOSAwLjI1IDAuNjAxIDAuMTM0IDEuMTk5LTAuMDA5IDEuNjU1LTAuMzQxIDAuMTM5LTAuMTAxIDAuMTcxLTAuMjk2IDAuMDY5LTAuNDM2cy0wLjI5Ny0wLjE3LTAuNDM2LTAuMDY5Yy0wLjMxNyAwLjIzLTAuNzM1IDAuMzI5LTEuMTUyIDAuMjM2LTAuMjEtMC4wNDctMC4zOTgtMC4xMzctMC41NTYtMC4yNThsLTAuMTgxLTAuMTM5LTAuMTg3IDAuMTNjLTAuMzE0IDAuMjE3LTAuNzE5IDAuMzA4LTEuMTI1IDAuMjE3LTAuNzQ2LTAuMTY2LTEuMjE5LTAuODgzLTEuMDUwLTEuNjA0IDAuMTAzLTAuNDQxIDAuNDIzLTAuNzggMC44MjUtMC45NGwwLjA4Ni0wLjAzNCAwLjA1My0wLjA3NWMwLjI2OC0wLjM3NyAwLjcyNy0wLjYxIDEuMjMzLTAuNTc5IDAuMjE1IDAuMDEzIDAuNDE2IDAuMDczIDAuNTkzIDAuMTY5bDAuMjAyIDAuMTA4IDAuMTY0LTAuMTU5YzAuMjcyLTAuMjY0IDAuNjU2LTAuNDE2IDEuMDcxLTAuMzkxIDAuMzkgMC4wMjQgMC43MzMgMC4yIDAuOTcxIDAuNDY2IDAuMTE1IDAuMTI5IDAuMzEzIDAuMTQgMC40NDEgMC4wMjRzMC4xNC0wLjMxMiAwLjAyNS0wLjQ0MXoiPjwvcGF0aD4KPHBhdGggZmlsbD0iYmxhY2siIGQ9Ik0zLjU0NiAxMC4xODRjMC4wMzItMC4yMDYgMC4wMTgtMC40MjEtMC4wNDktMC42MzEtMC4yMzctMC43NDYtMS4wNTctMS4xNTktMS44MzUtMC45MTJzLTEuMjA5IDEuMDU4LTAuOTcyIDEuODA0YzAuMDkyIDAuMjg5IDAuMjcxIDAuNTI3IDAuNSAwLjY5NyAwLjEzOSAwLjEwMyAwLjMzNSAwLjA3MyAwLjQzNy0wLjA2NXMwLjA3NC0wLjMzNS0wLjA2NS0wLjQzN2MtMC4xMjctMC4wOTQtMC4yMjYtMC4yMjYtMC4yNzYtMC4zODUtMC4xMzUtMC40MjQgMC4xMjMtMC44NzkgMC41NjYtMS4wMTlzMC45MTUgMC4wODIgMS4wNTAgMC41MDZjMC4wMzcgMC4xMTUgMC4wNDQgMC4yMzMgMC4wMjYgMC4zNDctMC4wMjYgMC4xNyAwLjA5MSAwLjMzIDAuMjYyIDAuMzU2czAuMzMtMC4wOTEgMC4zNTYtMC4yNjF6Ij48L3BhdGg+CjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNNSA2LjM2OGMtMC44MjggMC0xLjUgMC43MDItMS41IDEuNTY2czAuNjcyIDEuNTY2IDEuNSAxLjU2NmMwLjgyOCAwIDEuNS0wLjcwMSAxLjUtMS41NjZzLTAuNjcyLTEuNTY2LTEuNS0xLjU2NnpNNSA2Ljk5M2MwLjQ5IDAgMC44NzUgMC40MjkgMC44NzUgMC45NDFzLTAuMzg1IDAuOTQxLTAuODc1IDAuOTQxYy0wLjQ5IDAtMC44NzUtMC40My0wLjg3NS0wLjk0MXMwLjM4NS0wLjk0MSAwLjg3NS0wLjk0MXoiPjwvcGF0aD4KPC9zdmc+Cg==';
17
18 public $active = false;
19 protected $_plugins_loaded_priority = 1;
20
21 public function __construct() {
22 $this->url = SWEEPPRESS_URL;
23 $this->path = SWEEPPRESS_PATH;
24
25 parent::__construct();
26 }
27
28 public function run() {
29 do_action( 'sweeppress_load_settings' );
30 do_action( 'sweeppress_plugin_init' );
31
32 $this->active = true;
33
34 Tracker::instance();
35
36 if ( $this->is_cli_enabled() ) {
37 add_action( 'cli_init', array( $this, 'register_cli_command' ) );
38 }
39
40 if ( $this->is_rest_enabled() ) {
41 REST::instance();
42 }
43
44 if ( BBP::is_active() ) {
45 add_filter( 'sweeppress_db_query_revisions_post_statuses', array( $this, 'bbpress_add_post_statuses' ) );
46 }
47
48 if ( $this->s()->get( 'expand_admin_bar' ) ) {
49 AdminBar::instance();
50 }
51
52 add_action( 'debugpress-tracker-plugins-call', array( $this, 'debugpress' ) );
53 }
54
55 public function debugpress() {
56 if ( function_exists( 'debugpress_store_for_plugin' ) ) {
57 debugpress_store_for_plugin( SWEEPPRESS_FILE, array(
58 'storage' => sweeppress_settings()->group_get( 'storage' ),
59 ) );
60 }
61 }
62
63 public function s() {
64 return sweeppress_settings();
65 }
66
67 public function f() {
68 return null;
69 }
70
71 public function b() {
72 return null;
73 }
74
75 public function l() {
76 return null;
77 }
78
79 public function log( string $msg ) {
80 }
81
82 public function register_cli_command() {
83 \WP_CLI::add_command( 'sweeppress', '\\Dev4Press\\Plugin\\SweepPress\\Expand\\CLI' );
84 }
85
86 public function is_estimates_cache_enabled() {
87 return sweeppress_settings()->get( 'estimated_cache', 'sweepers' );
88 }
89
90 public function is_cli_enabled() {
91 if ( defined( 'SWEEPPRESS_CLI_ENABLED' ) ) {
92 return SWEEPPRESS_CLI_ENABLED;
93 }
94
95 return sweeppress_settings()->get( 'expand_cli' );
96 }
97
98 public function is_rest_enabled() {
99 if ( defined( 'SWEEPPRESS_REST_ENABLED' ) ) {
100 return SWEEPPRESS_REST_ENABLED;
101 }
102
103 return sweeppress_settings()->get( 'expand_rest' );
104 }
105
106 public function bbpress_add_post_statuses( array $statuses ) : array {
107 $statuses[] = bbp_get_closed_status_id();
108 $statuses[] = bbp_get_spam_status_id();
109 $statuses[] = bbp_get_trash_status_id();
110 $statuses[] = bbp_get_hidden_status_id();
111 $statuses[] = bbp_get_private_status_id();
112
113 return $statuses;
114 }
115 }
116