This commit is contained in:
Javier Casares 2026-06-03 06:25:27 +00:00
commit 650e69349f
21 changed files with 2919 additions and 268 deletions

View file

@ -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' ),