v1.2.0
This commit is contained in:
parent
6708bbb67f
commit
650e69349f
21 changed files with 2919 additions and 268 deletions
|
|
@ -57,6 +57,23 @@ class Database {
|
|||
$wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_media_index`" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncates all plugin tables, removing all data while preserving the table structure.
|
||||
*
|
||||
* Used by the Tools page "Reset all data" operation.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function truncate_all(): void {
|
||||
global $wpdb;
|
||||
|
||||
// phpcs:disable WordPress.DB.DirectDatabaseQuery
|
||||
$wpdb->query( "TRUNCATE TABLE `{$wpdb->prefix}mra_external_results`" );
|
||||
$wpdb->query( "TRUNCATE TABLE `{$wpdb->prefix}mra_media_usage`" );
|
||||
$wpdb->query( "TRUNCATE TABLE `{$wpdb->prefix}mra_media_index`" );
|
||||
// phpcs:enable WordPress.DB.DirectDatabaseQuery
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Migrations
|
||||
// -------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ namespace MediaRightsAudit\Core;
|
|||
|
||||
use MediaRightsAudit\Admin\AuditPage;
|
||||
use MediaRightsAudit\Admin\Settings;
|
||||
use MediaRightsAudit\Admin\ToolsPage;
|
||||
use MediaRightsAudit\CLI\Command;
|
||||
use MediaRightsAudit\External\AbstractProvider;
|
||||
use MediaRightsAudit\External\ExternalScanner;
|
||||
|
|
@ -38,12 +39,20 @@ class Plugin {
|
|||
*/
|
||||
private AuditPage $audit_page;
|
||||
|
||||
/**
|
||||
* Tools & Status page controller.
|
||||
*
|
||||
* @var ToolsPage
|
||||
*/
|
||||
private ToolsPage $tools_page;
|
||||
|
||||
/**
|
||||
* Initialises dependencies.
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->settings = new Settings();
|
||||
$this->audit_page = new AuditPage();
|
||||
$this->tools_page = new ToolsPage();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -59,6 +68,7 @@ class Plugin {
|
|||
add_action( AttachmentIndexer::AS_HOOK, array( AttachmentIndexer::class, 'process_scheduled_batch' ) );
|
||||
add_action( UsageScanner::AS_HOOK, array( UsageScanner::class, 'process_scheduled_batch' ) );
|
||||
add_action( ExternalScanner::AS_HOOK, array( ExternalScanner::class, 'process_scheduled_batch' ) );
|
||||
add_action( 'wp_ajax_mra_run_batch', array( $this->tools_page, 'ajax_run_batch' ) );
|
||||
add_filter( 'mra/external/providers', array( $this, 'register_providers' ) );
|
||||
add_filter( 'wp_privacy_personal_data_exporters', array( DataExporter::class, 'register' ) );
|
||||
add_filter( 'wp_privacy_personal_data_erasers', array( DataEraser::class, 'register' ) );
|
||||
|
|
@ -107,6 +117,19 @@ class Plugin {
|
|||
array( $this->audit_page, 'render' )
|
||||
);
|
||||
|
||||
$tools_suffix = add_submenu_page(
|
||||
'robotstxt-mediaaudit',
|
||||
__( 'Tools', 'robotstxt-mediaaudit' ),
|
||||
__( 'Tools', 'robotstxt-mediaaudit' ),
|
||||
'manage_options',
|
||||
'robotstxt-mediaaudit-tools',
|
||||
array( $this->tools_page, 'render' )
|
||||
);
|
||||
|
||||
if ( is_string( $tools_suffix ) ) {
|
||||
$this->tools_page->set_hook_suffix( $tools_suffix );
|
||||
}
|
||||
|
||||
add_submenu_page(
|
||||
'robotstxt-mediaaudit',
|
||||
__( 'Settings', 'robotstxt-mediaaudit' ),
|
||||
|
|
|
|||
Loading…
Reference in a new issue