| 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 |
|