PluginProbe
SweepPress: Website Cleanup and Optimization / 2.0
SweepPress: Website Cleanup and Optimization v2.0
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 2.0, at core/basic/Plugin.php

76 lines 5.8 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\v39\Core\DateTime;
7 use Dev4Press\v39\Core\Plugins\Core;
8 use Dev4Press\v39\Core\Quick\BBP;
9 use WP_CLI;
10
11 if ( ! defined( 'ABSPATH' ) ) {
12 exit;
13 }
14
15 class Plugin extends Core {
16 public $plugin = 'sweeppress';
17 public $svg_icon = 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiPgo8cGF0aCBmaWxsPSJibGFjayIgZD0iTTguNzUgOS4zMTNjMC0wLjE3MyAwLjE0LTAuMzEzIDAuMzEyLTAuMzEzaDMuMzc2YzAuMTcyIDAgMC4zMTIgMC4xNCAwLjMxMiAwLjMxM3YwLjkzN2gtNHYtMC45Mzd6Ij48L3BhdGg+CjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNNy41IDEwLjc1YzAgMC0wLjEyNyAxLjAwOC0wLjI1IDEuNS0wLjE2NyAwLjY2Ny0wLjc1IDIuNS0wLjc1IDIuNSAwIDAuMjc2IDAuMjI0IDAuNSAwLjUgMC41aDcuNWMwLjI3NiAwIDAuNS0wLjIyNCAwLjUtMC41IDAgMC0wLjU4My0xLjgzMy0wLjc1LTIuNS0wLjEyMy0wLjQ5Mi0wLjI1LTEuNS0wLjI1LTEuNSAwLTAuMjc2LTAuNDc0LTAuNS0wLjc1LTAuNWgtNWMtMC4yNzYgMC0wLjc1IDAuMjI0LTAuNzUgMC41ek0xMy4zOTMgMTAuOTI5YzAuMDM3IDAuMjc3IDAuMTQ2IDEuMDU0IDAuMjUxIDEuNDczIDAuMTI2IDAuNTAzIDAuNDg1IDEuNjYzIDAuNjYxIDIuMjIzaC03LjExYzAuMTc2LTAuNTYgMC41MzUtMS43MiAwLjY2MS0yLjIyMyAwLjEwNS0wLjQxOSAwLjIxNC0xLjE5NiAwLjI1MS0xLjQ3MyAwLjA0NC0wLjAyNCAwLjEwOC0wLjA1NCAwLjE0My0wLjA1NGg1YzAuMDM1IDAgMC4wOTkgMC4wMzAgMC4xNDMgMC4wNTR6Ij48L3BhdGg+CjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTAuNDM3IDEyLjI1bDAuMDAxIDIuNWMtMC4wMDEgMC4xNzIgMC4xNCAwLjMxMiAwLjMxMiAwLjMxMnMwLjMxMi0wLjE0IDAuMzEzLTAuMzEybC0wLjAwMS0yLjVjMC0wLjE3Mi0wLjE0LTAuMzEzLTAuMzEyLTAuMzEyLTAuMTcyIDAtMC4zMTMgMC4xNC0wLjMxMyAwLjMxMnoiPjwvcGF0aD4KPHBhdGggZmlsbD0iYmxhY2siIGQ9Ik04Ljk0NCAxMi4xODlsLTAuNSAyLjVjLTAuMDM0IDAuMTY5IDAuMDc2IDAuMzM0IDAuMjQ1IDAuMzY3czAuMzM0LTAuMDc2IDAuMzY3LTAuMjQ1bDAuNS0yLjVjMC4wMzQtMC4xNjktMC4wNzYtMC4zMzQtMC4yNDUtMC4zNjctMC4xNjktMC4wMzQtMC4zMzQgMC4wNzYtMC4zNjcgMC4yNDV6Ij48L3BhdGg+CjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTEuOTQ0IDEyLjMxMWwwLjUgMi41YzAuMDMzIDAuMTY5IDAuMTk4IDAuMjc5IDAuMzY3IDAuMjQ1IDAuMTY5LTAuMDMzIDAuMjc5LTAuMTk4IDAuMjQ1LTAuMzY3bC0wLjUtMi41Yy0wLjAzMy0wLjE2OS0wLjE5OC0wLjI3OS0wLjM2Ny0wLjI0NS0wLjE2OSAwLjAzMy0wLjI3OSAwLjE5OC0wLjI0NSAwLjM2N3oiPjwvcGF0aD4KPHBhdGggZmlsbD0iYmxhY2siIGQ9Ik0xMS43NSAxLjVjMC0wLjU1Mi0wLjQ0OC0xLTEtMXMtMSAwLjQ0OC0xIDF2Ny41aDJ2LTcuNXpNMTAuMzc1IDEuNWMwLTAuMjA3IDAuMTY4LTAuMzc1IDAuMzc1LTAuMzc1czAuMzc1IDAuMTY4IDAuMzc1IDAuMzc1djYuODc1YzAgMC0wLjc1IDAtMC43NSAwdi02Ljg3NXoiPjwvcGF0aD4KPHBhdGggZmlsbD0iYmxhY2siIGQ9Ik02Ljc2MSAxMS4yNTZjLTAuMzQzLTAuMzgzLTAuODM3LTAuNjM5LTEuMzk5LTAuNjczLTAuNTE4LTAuMDMyLTEuMDAyIDAuMTMtMS4zNzcgMC40Mi0wLjIwMi0wLjA4My0wLjQyMS0wLjEzNC0wLjY1Mi0wLjE0OC0wLjY5OC0wLjA0My0xLjMzMyAwLjI2Ni0xLjcyNyAwLjc2Ny0wLjU0NiAwLjI0NS0wLjk3NCAwLjcyNy0xLjExOCAxLjM0Mi0wLjI0NiAxLjA1NSAwLjQzMiAyLjExNCAxLjUyMyAyLjM1NiAwLjUwNiAwLjExMyAxLjAxMSAwLjAzMCAxLjQzMS0wLjE5OSAwLjE4NSAwLjExNCAwLjM5MyAwLjE5OSAwLjYxOSAwLjI1IDAuNjAxIDAuMTM0IDEuMTk5LTAuMDA5IDEuNjU1LTAuMzQxIDAuMTM5LTAuMTAxIDAuMTcxLTAuMjk2IDAuMDY5LTAuNDM2cy0wLjI5Ny0wLjE3LTAuNDM2LTAuMDY5Yy0wLjMxNyAwLjIzLTAuNzM1IDAuMzI5LTEuMTUyIDAuMjM2LTAuMjEtMC4wNDctMC4zOTgtMC4xMzctMC41NTYtMC4yNThsLTAuMTgxLTAuMTM5LTAuMTg3IDAuMTNjLTAuMzE0IDAuMjE3LTAuNzE5IDAuMzA4LTEuMTI1IDAuMjE3LTAuNzQ2LTAuMTY2LTEuMjE5LTAuODgzLTEuMDUwLTEuNjA0IDAuMTAzLTAuNDQxIDAuNDIzLTAuNzggMC44MjUtMC45NGwwLjA4Ni0wLjAzNCAwLjA1My0wLjA3NWMwLjI2OC0wLjM3NyAwLjcyNy0wLjYxIDEuMjMzLTAuNTc5IDAuMjE1IDAuMDEzIDAuNDE2IDAuMDczIDAuNTkzIDAuMTY5bDAuMjAyIDAuMTA4IDAuMTY0LTAuMTU5YzAuMjcyLTAuMjY0IDAuNjU2LTAuNDE2IDEuMDcxLTAuMzkxIDAuMzkgMC4wMjQgMC43MzMgMC4yIDAuOTcxIDAuNDY2IDAuMTE1IDAuMTI5IDAuMzEzIDAuMTQgMC40NDEgMC4wMjRzMC4xNC0wLjMxMiAwLjAyNS0wLjQ0MXoiPjwvcGF0aD4KPHBhdGggZmlsbD0iYmxhY2siIGQ9Ik0zLjU0NiAxMC4xODRjMC4wMzItMC4yMDYgMC4wMTgtMC40MjEtMC4wNDktMC42MzEtMC4yMzctMC43NDYtMS4wNTctMS4xNTktMS44MzUtMC45MTJzLTEuMjA5IDEuMDU4LTAuOTcyIDEuODA0YzAuMDkyIDAuMjg5IDAuMjcxIDAuNTI3IDAuNSAwLjY5NyAwLjEzOSAwLjEwMyAwLjMzNSAwLjA3MyAwLjQzNy0wLjA2NXMwLjA3NC0wLjMzNS0wLjA2NS0wLjQzN2MtMC4xMjctMC4wOTQtMC4yMjYtMC4yMjYtMC4yNzYtMC4zODUtMC4xMzUtMC40MjQgMC4xMjMtMC44NzkgMC41NjYtMS4wMTlzMC45MTUgMC4wODIgMS4wNTAgMC41MDZjMC4wMzcgMC4xMTUgMC4wNDQgMC4yMzMgMC4wMjYgMC4zNDctMC4wMjYgMC4xNyAwLjA5MSAwLjMzIDAuMjYyIDAuMzU2czAuMzMtMC4wOTEgMC4zNTYtMC4yNjF6Ij48L3BhdGg+CjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNNSA2LjM2OGMtMC44MjggMC0xLjUgMC43MDItMS41IDEuNTY2czAuNjcyIDEuNTY2IDEuNSAxLjU2NmMwLjgyOCAwIDEuNS0wLjcwMSAxLjUtMS41NjZzLTAuNjcyLTEuNTY2LTEuNS0xLjU2NnpNNSA2Ljk5M2MwLjQ5IDAgMC44NzUgMC40MjkgMC44NzUgMC45NDFzLTAuMzg1IDAuOTQxLTAuODc1IDAuOTQxYy0wLjQ5IDAtMC44NzUtMC40My0wLjg3NS0wLjk0MXMwLjM4NS0wLjk0MSAwLjg3NS0wLjk0MXoiPjwvcGF0aD4KPC9zdmc+Cg==';
18
19 public function __construct() {
20 $this->url = SWEEPPRESS_URL;
21
22 parent::__construct();
23 }
24
25 public function run() {
26 do_action( 'sweeppress_load_settings' );
27 do_action( 'sweeppress_plugin_init' );
28
29 if ( $this->is_cli_enabled() ) {
30 add_action( 'cli_init', array( $this, 'register_cli_command' ) );
31 }
32
33 if ( $this->is_rest_enabled() ) {
34 REST::instance();
35 }
36
37 if ( BBP::is_active() ) {
38 add_filter( 'sweeppress_db_query_revisions_post_statuses', array( $this, 'bbpress_add_post_statuses' ) );
39 }
40 }
41
42 public function s() {
43 return sweeppress_settings();
44 }
45
46 public function register_cli_command() {
47 WP_CLI::add_command( 'sweeppress', '\\Dev4Press\\Plugin\\SweepPress\\Expand\\CLI' );
48 }
49
50 public function is_cli_enabled() {
51 if ( defined( 'SWEEPPRESS_CLI_ENABLED' ) ) {
52 return SWEEPPRESS_CLI_ENABLED;
53 }
54
55 return sweeppress_settings()->get( 'expand_cli' );
56 }
57
58 public function is_rest_enabled() {
59 if ( defined( 'SWEEPPRESS_REST_ENABLED' ) ) {
60 return SWEEPPRESS_REST_ENABLED;
61 }
62
63 return sweeppress_settings()->get( 'expand_rest' );
64 }
65
66 public function bbpress_add_post_statuses( array $statuses ) : array {
67 $statuses[] = bbp_get_closed_status_id();
68 $statuses[] = bbp_get_spam_status_id();
69 $statuses[] = bbp_get_trash_status_id();
70 $statuses[] = bbp_get_hidden_status_id();
71 $statuses[] = bbp_get_private_status_id();
72
73 return $statuses;
74 }
75 }
76