This commit is contained in:
Javier Casares 2026-03-28 10:06:01 +00:00
commit 231ef59bb9
15 changed files with 254 additions and 135 deletions

View file

@ -53,12 +53,12 @@ class Two_Factor_Extended_Compliance_Report {
$users = get_users( $user_args );
$stats = array(
'total_users' => count( $users ),
'compliant_users' => 0,
'non_compliant' => 0,
'grace_period' => 0,
'no_requirements' => 0,
'by_role' => array(),
'total_users' => count( $users ),
'compliant_users' => 0,
'non_compliant' => 0,
'grace_period' => 0,
'no_requirements' => 0,
'by_role' => array(),
);
$enforcement = two_factor_extended()->get_enforcement();
@ -71,7 +71,7 @@ class Two_Factor_Extended_Compliance_Report {
$required = $enforcement->get_required_providers_for_user( $user->ID );
if ( empty( $required ) ) {
$stats['no_requirements']++;
++$stats['no_requirements'];
continue;
}
@ -79,11 +79,11 @@ class Two_Factor_Extended_Compliance_Report {
$in_grace = $enforcement->is_in_grace_period( $user->ID );
if ( $compliant ) {
$stats['compliant_users']++;
++$stats['compliant_users'];
} elseif ( $in_grace ) {
$stats['grace_period']++;
++$stats['grace_period'];
} else {
$stats['non_compliant']++;
++$stats['non_compliant'];
}
// Count by role.
@ -92,18 +92,18 @@ class Two_Factor_Extended_Compliance_Report {
foreach ( $roles as $role ) {
if ( ! isset( $stats['by_role'][ $role ] ) ) {
$stats['by_role'][ $role ] = array(
'total' => 0,
'compliant' => 0,
'total' => 0,
'compliant' => 0,
'non_compliant' => 0,
);
}
$stats['by_role'][ $role ]['total']++;
++$stats['by_role'][ $role ]['total'];
if ( $compliant ) {
$stats['by_role'][ $role ]['compliant']++;
++$stats['by_role'][ $role ]['compliant'];
} else {
$stats['by_role'][ $role ]['non_compliant']++;
++$stats['by_role'][ $role ]['non_compliant'];
}
}
}
@ -194,13 +194,13 @@ class Two_Factor_Extended_Compliance_Report {
return array();
}
$sites = get_sites( array( 'number' => 999 ) );
$sites = get_sites( array( 'number' => 999 ) );
$report = array(
'total_sites' => count( $sites ),
'total_users' => 0,
'compliant' => 0,
'non_compliant' => 0,
'by_site' => array(),
'total_sites' => count( $sites ),
'total_users' => 0,
'compliant' => 0,
'non_compliant' => 0,
'by_site' => array(),
);
foreach ( $sites as $site ) {
@ -216,8 +216,8 @@ class Two_Factor_Extended_Compliance_Report {
'non_compliant' => $site_stats['non_compliant'],
);
$report['total_users'] += $site_stats['total_users'];
$report['compliant'] += $site_stats['compliant_users'];
$report['total_users'] += $site_stats['total_users'];
$report['compliant'] += $site_stats['compliant_users'];
$report['non_compliant'] += $site_stats['non_compliant'];
restore_current_blog();
@ -238,7 +238,7 @@ class Two_Factor_Extended_Compliance_Report {
public function export_to_csv( array $args = array() ): string {
$non_compliant = $this->get_non_compliant_users( $args );
$csv = array();
$csv = array();
$csv[] = array( 'User ID', 'Username', 'Email', 'Roles', 'Missing Providers', 'Grace Period', 'Days Remaining' );
foreach ( $non_compliant as $user_data ) {
@ -317,7 +317,7 @@ class Two_Factor_Extended_Compliance_Report {
foreach ( $stats['by_role'] as $role => $role_stats ) {
$role_name = Two_Factor_Extended_Role_Manager::get_role_display_name( $role );
$message .= sprintf(
$message .= sprintf(
' %s: %d/%d compliant',
$role_name,
$role_stats['compliant'],